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

Ouverte
#5,503 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
javascript, node.js
Domaine
testing-qa

Piste de recherche

Commencez par le mode dynamique de mise en pool des tests décrit dans la documentation liée et suivez le cycle de vie des workers autour de _finishRun(). Reproduisez le blocage avec Puppeteer et vérifiez que les workers se terminent proprement et que la bannière de démarrage n’est émise qu’une seule fois, plutôt qu’à chaque affectation de test.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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"
...
Langage dominant
JavaScript
Étoiles
4.2k
Forks
756
Merge moyen
2 j 9 h
PR mergées (30 j)
16

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de codeceptjs/CodeceptJS

Toutes les issues de codeceptjs/CodeceptJS

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.