Tests are not truly parallelized when run with Traversal project
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- csharp
- Área
- build-system
Línea de trabajo
Comienza con la reproducción vinculada de dotCoverParallelizationIssue y compara dotnet test dotCoverParallelizationIssue.sln con dotnet test affected.proj, usando ambos -maxcpucount:2. Investiga cómo la ejecución del proyecto de traversal planifica los proyectos de prueba enumerados; se considera terminado cuando el trabajo está equilibrado como en la ejecución de la solución y la reproducción confirma la ejecución en paralelo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi!
For the same set of test projects, tests that are run from .sln file are executed faster than tests, that are run from traversal project file.
How it looks in Process Explorer:
For a solution with dozens of test projects, when tests are run from traversal project, they are split among nodes, but when a node finishes its tests the node does not "steal" work from other nodes. As a result, one node does the most part of the work.
How to reproduce:
See instructions in https://github.com/batkaevruslan/dotCoverParallelizationIssue (ignore repo name, as at first we thought it's dotCover fault).
We tested it on several machines\OS with sdk 7.0.401 and got similar results:
~/Repos/batkaevruslan/dotCoverParallelizationIssue (main*) » /usr/bin/time -h dotnet test dotCoverParallelizationIssue.sln -maxcpucount:2
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests1.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests3.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests4.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests5.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 10 s - Tests6.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 30 s - Tests2.dll (net7.0)
31.71s real 6.47s user 1.51s sys
~/Repos/batkaevruslan/dotCoverParallelizationIssue (main*) » /usr/bin/time -h dotnet test affected.proj -maxcpucount:2 -v:q
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests1.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests4.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 10 s - Tests6.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 30 s - Tests2.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests3.dll (net7.0)
Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 1 s - Tests5.dll (net7.0)
35.04s real 6.28s user 1.70s sys
Pay attention to the second run: Tests3.dll and Tests5.dll could have been executed in parallel with Tests2.dll, but they haven't.
- Lenguaje dominante
- C#
- Estrellas
- 512
- Forks
- 94
- Merge medio
- 6 h 12 min
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/MSBuildSdks
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/MSBuildSdks#653 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
microsoft/MSBuildSdks#652 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
microsoft/MSBuildSdks#646 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
microsoft/MSBuildSdks#644 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
microsoft/MSBuildSdks#642 ·
Todos los issues de microsoft/MSBuildSdks
Issues similares
-
type/automation type/tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
area-integrations
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Problem launching the programAbierto:watch: Not Triaged dotnet-framework/svc install-deployment/subsvc
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
[Tool] DirectBenchAbiertohas-image has-readme needs-attention new-tool repo-verified
Dificultad 1/5 1-3 horas Aptitud para principiantes 62/100
shanselman/TinyToolTown#844 · 2 comentarios ·
Los mantenedores suelen responder en 3 días
-
:watch: Not Triaged Pri3
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día