Skip to content

tests: exclude slow fuzz timeout regressions from per-PR CI - #2425

Open
ronaldtse wants to merge 1 commit into
mainfrom
test-suite-perf
Open

tests: exclude slow fuzz timeout regressions from per-PR CI#2425
ronaldtse wants to merge 1 commit into
mainfrom
test-suite-perf

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

  • Splits test_fuzz_keyring and test_fuzz_keyimport into fast + *_slow variants. The slow variants contain only the oss-fuzz timeout-regression corpora that take minutes to load.
  • Adds -E '_slow$' to every per-PR ctest invocation across all distro workflows so the slow tests are excluded from per-PR runs.
  • The slow tests remain registered — they run under default ctest (nightly, manual dispatch, local full runs).

Why

Profiled rnp_tests on macOS Botan: ~9.9 min total. Two tests dominated:

Test Time
test_fuzz_keyring 273 s
test_fuzz_keyimport 52 s
Subtotal 325 s / 592 s

Both spend their time loading a single large oss-fuzz corpus file (timeout-6140201111519232, 791 KB; timeout-9c10372fe9ebdcdb0b6e275d05f8af4f4e3d6051, 182 KB). These are regression guards against previously-fixed timeout bugs — they're valuable but shouldn't gate every PR.

Excluding them drops per-PR rnp_tests runtime to ~4.5 min on this machine. The slow tests still pass when included.

Test plan

  • Built and ran rnp_tests locally — both fast and slow variants pass
  • Verified ctest -N -E '_slow$' excludes exactly the two new _slow tests (285 → 283)
  • Verified ctest -N -R '_slow$' lists exactly the two new _slow tests (+ fixture)
  • CI green on all platforms

The fuzz regression corpora for oss-fuzz issues #46208 (test_fuzz_keyring)
and the timeout-9c10... case (test_fuzz_keyimport) together took ~5.5
minutes per CI leg, dominating the test suite. Split them into separate
*_slow tests so they can be excluded from per-PR runs via 'ctest -E _slow$'.

Per-PR workflows now pass -E '_slow$' to ctest. The slow tests remain
registered and will run via default ctest invocations (nightly, manual
dispatch, local full runs) so the regressions they guard don't bit-rot.

Total rnp_tests runtime on macOS Botan drops from ~9.9 min to ~4.5 min
with the exclusion; the 2 slow tests still pass when included.
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.35%. Comparing base (975b67c) to head (2221d87).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2425      +/-   ##
==========================================
- Coverage   85.37%   85.35%   -0.03%     
==========================================
  Files         126      126              
  Lines       22789    22786       -3     
==========================================
- Hits        19457    19448       -9     
- Misses       3332     3338       +6     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ronaldtse
ronaldtse requested review from antonsviridenko and ni4 July 31, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant