android / android/android-test

Feature request: support dynamic sharding

Aperta
#673 0 commenti 10 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
1.2k
Fork
342
Merge medio
11h 29m
PR unite (30g)
2

Descrizione

### Description

According to https://source.android.com/devices/tech/test_infra/tradefed/architecture/advanced/sharding, there is something called 'dynamic sharding', which makes it possible to spread all instrumented tests across all connected devices on the local host in a dynamic fashion. (To be frank, I am not sure what "trade federation" is, this page was just found via Google search.)

As far as I can see, currently the AndroidJUnitRunner only supports the usual fashion of sharding, which is having to explicitly specify the total number of shards, as well as the shard indices: https://developer.android.com/training/testing/junit-runner.html#sharding-tests

This is painful in a CI setup, as you have to keep track of the serial numbers of each of the connect devices, and you'd have to manually split up the individual shards by defining the shard indices. It'd be so more efficient to have support for dynamic sharding, so the runner would just spread out the tests as it prefers.

If this feature is already available and I just missed it, I would appreciate getting details on how I would specify dynamic sharding using `./gradlew` commands.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con la configurazione di sharding esistente di AndroidJUnitRunner e con i comandi `./gradlew` utilizzati per richiamarlo, quindi confrontali con il comportamento di sharding dinamico collegato. Il lavoro è completato quando i test possono essere distribuiti tra i dispositivi connessi senza assegnare manualmente il numero e gli indici degli shard, e l'invocazione è documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
mobile, testing
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.