Tier 4 of the post-1.3.0 roadmap. Target version: 2.2.0 (minor).
The corpus and the property-based fuzzing are already unusual for this
space. This tier pushes them until the guarantees are testable claims
rather than adjectives.
| # |
Item |
| #97 |
Generalize the round-trip property to every protocol |
| #98 |
Nightly fuzzing with a moving seed |
| #99 |
Prove the browser claim with a Pyodide/WASM CI job |
| #100 |
A pcap/pcapng reader that takes bytes, not filenames |
What each one closes
Note on ordering
All four are independent. #100 is the largest and the only one that
adds public API — it is also what makes memoryview walking in #88
worthwhile, since it creates the large-contiguous-buffer case where
zero-copy actually pays (measured: 1.8×, versus marginally slower for
a single small frame).
If capacity is tight, #99 is a few hours and closes a claim; #100 is
the one to schedule deliberately.
Part of the post-1.3.0 roadmap: #107
Tier 4 of the post-1.3.0 roadmap. Target version: 2.2.0 (minor).
The corpus and the property-based fuzzing are already unusual for this
space. This tier pushes them until the guarantees are testable claims
rather than adjectives.
What each one closes
bytes(decode(x)) == xis Hypothesis-generated for only 4of 18 protocols; the other 14 rest on single-example assertions.
derandomize=Truemeans CI has run the same 200 inputson every build since the profile was written.
(unconditional
from fcntl import ioctlon every import path). Wecan. Nothing tests it.
exists on PyPI. We already have one hidden in
tests/conftest.py.Note on ordering
All four are independent. #100 is the largest and the only one that
adds public API — it is also what makes
memoryviewwalking in #88worthwhile, since it creates the large-contiguous-buffer case where
zero-copy actually pays (measured: 1.8×, versus marginally slower for
a single small frame).
If capacity is tight, #99 is a few hours and closes a claim; #100 is
the one to schedule deliberately.
Part of the post-1.3.0 roadmap: #107