You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
loadscope bug: :: in test parameters breaks scope detection #1335
LoadScopeScheduling._split_scope() uses nodeid.rsplit("::", 1) to
determine the test scope (file). When a parametrized test value contains :: (e.g. IPv6 addresses), the split lands inside the parameter instead
of at the .py:: boundary. Tests from the same file get assigned to
different workers, each paying the full fixture setup/teardown cost.
nodeid: synthrecord/tests_synthrecord.py::test_forward[cafe:cafe::cafe-AAAA]
^^
rsplit lands here
expected scope: synthrecord/tests_synthrecord.py
actual scope: synthrecord/tests_synthrecord.py::test_forward[cafe:cafe
Impact observed in BIND 9 CI
Six synthrecord tests have IPv6 addresses (::1, cafe:cafe::cafe, cafe::) in their parameters. These get misclassified into separate
scopes and routed to different workers. Each triggers a full named
startup/shutdown cycle (~30 s). In a real CI run (job 7468217), the
synthrecord scope spanned 1001 s instead of ~8 s because the orphaned
tests were interleaved with unrelated scopes on other workers.
Activity
RonnyPfannschmidt commentedon May 26, 2026
Suggested workaround explicit test ids
Mno-hime commentedon May 27, 2026
For now, we might go with
_split_scope()override inconftest.pyto split on.py::.