Parallel "--by pool" not working, hanging and spamming startup banner

Abierto
#5,503 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
javascript, node.js
Área
testing-qa

Línea de trabajo

Comienza con el modo dinámico de agrupación de pruebas descrito en la documentación enlazada y sigue el ciclo de vida de los workers alrededor de _finishRun(). Reproduce el bloqueo con Puppeteer y verifica que los workers finalicen correctamente y que el banner de inicio se emita una sola vez, en lugar de una vez por cada asignación de prueba.

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

Descripción

stale

We have historically suffered from idle workers due to the wide range of test duration, so when I saw the --by pool mode I thought we'd be able to speed up our tests for free basically ;) (ref: https://codecept.io/parallel/#dynamic-test-pooling-mode)

But it seems to not be working as expected. A couple of issues I noticed:

  1. When I run with pool mode it seems to just hang after a certain amount of time without any clear reason why.

We're using Puppeteer, and my suspicion is that the browser's WebSocket connection keeps the Node event loop alive in the worker thread after the port is closed, so the parent never sees the worker exit and _finishRun() never gets called.

  1. Also, the startup message is fired every time a worker takes a test, so the output gets absolutely hammered which is not ideal for CI

e.g. (example output)

CodeceptJS v3.7.7 #StandWithUkraine
Running tests in 1 workers...

CodeceptJS v3.7.7 #StandWithUkraine
Using test root "/home/user/project"

Login suite --
[Worker 01]   ✔ Login suite › User can log in in 3401ms
  ✔ User can log in in 3401ms

  OK  | 1 passed   // 4s
CodeceptJS v3.7.7 #StandWithUkraine
Using test root "/home/user/project"

Login suite --
[Worker 01]   ✔ Login suite › User sees error on bad credentials in 2980ms
  ✔ User sees error on bad credentials in 2980ms

  OK  | 2 passed   // 8s
CodeceptJS v3.7.7 #StandWithUkraine
Using test root "/home/user/project"
...
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
756
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de codeceptjs/CodeceptJS

Todos los issues de codeceptjs/CodeceptJS

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.