Add RFC 9653 and fuzz tests
Description
- Adds support for RFC 9653.
- Adds fuzz tests to validate the RFC 9653 core properties.
~~Requires #407 to be merged first. Merged!~~ This got reverted.
#442 reintroduces it, so this must be merged first.
Reference issue
A part of #124. Closes #405.
Codecov Report
:x: Patch coverage is 94.23077% with 3 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 83.76%. Comparing base (a69c6a2) to head (9d097a8).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| chunk_init.go | 93.93% | 1 Missing and 1 partial :warning: |
| param_zero_checksum.go | 66.66% | 0 Missing and 1 partial :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #406 +/- ##
==========================================
- Coverage 83.84% 83.76% -0.09%
==========================================
Files 51 51
Lines 3448 3486 +38
==========================================
+ Hits 2891 2920 +29
- Misses 417 424 +7
- Partials 140 142 +2
| Flag | Coverage Δ | |
|---|---|---|
| go | 83.76% <94.23%> (-0.09%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Amazing! I think we can get this merged tonight.
can you break this into singular PRs? Just so I can learn/understand since you are fixing my mistakes :)
it will make it easier for others to maintain/learn
Amazing! I think we can get this merged tonight.
can you break this into singular PRs? Just so I can learn/understand since you are fixing my mistakes :)
it will make it easier for others to maintain/learn
Yes, I can try! It may be a little difficult though since a lot of things got mixed together as I was working on it.
I created #407 from this PR; that one is purely focused on making packet.go conform to RFC 9260, along with some fuzz tests. This PR will have to be rebased after that one is merged, at which point the diffs will be cleaner. The resulting diffs should only be the RFC 9653 implementation along with some fuzz tests for it. Let me know if you think anything else can be broken down!
#407 has been merged so this PR is ready for review!
It's been a while and I seem to have broken something here, I'll fix this some time in the future. I'm pretty sure I need to cherry-pick my changes from reintroducing the packet changes since this pr changes those files, and then I need to carefully go over the tests again.