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
tests/protocols/internet/test_ipv4_unit.py::IPv4UnitTests::test_a_truncated_option_still_parses_its_declared_length failed on #1054's Python 3.12 leg (job 112038796404) with TimeoutError: did not finish within 5s from tests/_support.py:72. The other four Python legs passed on the same head, and #1054 touches only httpv1.
The traceback ends inside nested <frozen abc> __subclasscheck__ calls, reached from infoclass.__update__'s isinstance(dict_, collections.abc.Mapping) (infoclass.py:455). So the parse was slow, not hung. That fits ABC subclass caches growing as purge_modules re-imports pcapkit within one xdist worker; #1052's investigation found the same re-import growth on the unittest leg. The mechanism is UNVERIFIED.
time_limit(5) is wall-clock (signal.alarm) and is used 22 times under tests/, so any of them can flake on a loaded 4-core runner.
Fix: keep the hang guard, but make it robust to a slow runner. Raise the per-test deadline, or derive it from a measured baseline, and confirm whether ABC cache growth from repeated re-imports is the real cost. This overlaps with #1052's item B (run_unittest_leg re-import bounding) and item D (pytest-timeout).
Activity
test: refuse an oversized time_limit scale and arm the alarm inside t…
test: make the time_limit hang guard robust to slow runners (#1058) (#…