chg: test: Prioritize the 10 slowest system test scopes

Update PRIORITY_TESTS with the 10 longest-running test
scopes measured from CI (job 7468217).  These get scheduled
first so that with --dist=loadscope they land on separate
workers instead of piling up at the end.

Also fix "serve-stale/" to "serve_stale/" to match the
actual directory name, and add a startup check that fails
if any PRIORITY_TESTS entry does not match an existing
directory.

Assisted-by: Claude:claude-opus-4-7

Merge branch 'mnowak/prioritize-slow-system-tests' into 'main'

See merge request isc-projects/bind9!12104
This commit is contained in:
Michal Nowak 2026-05-28 16:54:58 +02:00
commit 63c2b4e4d4

View file

@ -38,13 +38,26 @@ import isctest
FILE_DIR = os.path.abspath(Path(__file__).parent)
PRIORITY_TESTS = [
# Tests that are scheduled first. Speeds up parallel execution.
"rpz/",
"rpzrecurse/",
"serve-stale/",
# Ten tests that are scheduled first. Speeds up parallel execution.
# Sorted by observed duration (longest first), measured from CI.
"timeouts/",
"upforwd/",
"rpzrecurse/",
"nsupdate/",
"serve_stale/",
"doth/",
"resolver/",
"proxy/",
"catz/",
"digdelv/",
"rpz/",
]
for _p in PRIORITY_TESTS:
_dir = os.path.join(FILE_DIR, _p.rstrip("/"))
if not os.path.isdir(_dir):
raise RuntimeError(
f"PRIORITY_TESTS entry {_p!r} does not match a directory: {_dir}"
)
PRIORITY_TESTS_RE = Re("|".join(PRIORITY_TESTS))
SYSTEM_TEST_NAME_RE = Re(f"{SYSTEM_TEST_DIR_GIT_PATH}" + r"/([^/]+)")
SYMLINK_REPLACEMENT_RE = Re(r"/tests_(.*)\.py")