android / android/android-test

Feature request: support dynamic sharding

Abierto
#673 0 comentarios 10 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
1.2k
Forks
342
Merge medio
11 h 29 min
PR fusionados (30 d)
2

Descripción

### 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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la configuración de sharding existente de AndroidJUnitRunner y los comandos `./gradlew` utilizados para invocarlo; después, compárala con el comportamiento de sharding dinámico enlazado. La tarea estará terminada cuando los tests puedan distribuirse entre dispositivos conectados sin asignar manualmente el número ni los índices de los shards, y la invocación esté documentada.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
mobile, testing
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.