FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

ci: add a manually dispatched asan fuzzing workflow with a status gate by bdraco · Pull Request #1833 · python-zeroconf/python-zeroconf · GitHub

ci: add a manually dispatched asan fuzzing workflow with a status gate - #1833

Merged
bdraco merged 1 commit into
masterfrom
asan_fuzz_ci
Aug 28, 2026
Merged

ci: add a manually dispatched asan fuzzing workflow with a status gate#1833
bdraco merged 1 commit into
masterfrom
asan_fuzz_ci

Conversation

bdraco commented Aug 28, 2026

Copy link
Copy Markdown
Member

Summary

Adds a manually dispatched workflow that rebuilds every extension with AddressSanitizer and runs the parser fuzz suite under it, plus a CI gate so a failed run blocks pull requests until it is green again.

Details

  • asan.yml builds with -fsanitize=address, preloads libasan, and runs tests/test_fuzz_incoming.py and tests/test_protocol.py with the deep HYPOTHESIS_PROFILE=long profile by default; a ci profile input is available for a quick run
  • an out of bounds read in the compiled parser is silent without a sanitizer, since small heap overreads rarely fault and the pure python fallback turns every miss into a caught IndexError; ASan redzones turn even a one byte overread into an abort
  • the asan-status job in the main CI reads the most recent completed run on master and fails if it concluded in failure; a never run or cancelled state passes
  • the same setup validated the parser changes locally in a Linux container; 50k hostile packets plus every boundary packet from the bounds audit ran clean

Test plan

  • both workflow files parse as valid yaml; pre-commit clean
  • the harness and flags are the ones proven working in the container run
  • dispatch the workflow once after merge to seed a green status

codecov Bot commented Aug 28, 2026
edited
Loading

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.86%. Comparing base (868391c) to head (623a6e5).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1833   +/-   ##
=======================================
  Coverage   99.86%   99.86%           
=======================================
  Files          33       33           
  Lines        3839     3839           
  Branches      553      553           
=======================================
  Hits         3834     3834           
  Misses          3        3           
  Partials        2        2           

☔ 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.

bdraco marked this pull request as ready for review August 28, 2026 22:11
bdraco merged commit 28f8047 into master Aug 28, 2026
32 of 34 checks passed
bdraco deleted the asan_fuzz_ci branch August 28, 2026 22:12

codspeed-hq Bot commented Aug 28, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 24 untouched benchmarks


Comparing asan_fuzz_ci (623a6e5) with master (868391c)

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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


Back | FazBrowse Home | New Git URL