Skip to content

ci(session-hygiene): les 5 tests test_session_hygiene.py ne tournent jamais en CI (skip sous xdist Linux) -- remise en CI #17628

Description

@jsboige

Constat (mesuré sur la tête 02303442ee de PR #17519)

scripts/tests/test_session_hygiene.py porte un skipif au niveau module :

  • condition : CI == "true" and RUNNER_OS == "Linux" and PYTEST_XDIST_WORKER is not None
  • le job Scripts Tests (CPU) exécute pytest scripts/tests ... -n 4 --dist loadscope
  • le pool CI n'a que des runners Linux self-hosted WSL : la condition matche toute exécution CI de ce job
  • mesure job 107202539829 : 14989 passed, 103 skipped — le vert du job ne prouve pas que ces 5 tests ont tourné

Le motif du skip est réel (saturation RLIMIT_NPROC du cumul de subprocess git sous xdist sur les runners WSL self-hosted, cf. #17496 et commit b8a633f), mais l'effet est que la couverture de régression de l'organe scripts/coordination/session_hygiene.py (livré par #16736) n'est prouvée que par la passe locale.

Annexe mesurée par la review : la marque xdist_group(name="serial-git") est inerte sous --dist loadscope (elle ne s'applique que sous --dist loadgroup).

Remise en CI attendue (une des voies, au choix)

  1. Étape séquentielle dédiée dans le job : pytest scripts/tests/test_session_hygiene.py sans -n (le test passe en ~13 s en séquentiel) ;
  2. ou bascule du job vers --dist loadgroup pour que xdist_group("serial-git") devienne opérante (impact à mesurer sur l'ordonnancement des autres suites) ;
  3. ou relèvement du RLIMIT_NPROC des runners self-hosted si c'est la vraie cause racine.

Critères d'acceptation

  • Les 5 tests test_session_hygiene.py apparaissent en passed (pas skipped) dans un run CI du job Scripts Tests (CPU).
  • La marque xdist_group est soit opérante (loadgroup), soit retirée si elle ne sert plus.

See #17496
See #17519

Activity

  1. added a commit that references this issue on Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions