-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: Experiment with cargo fuzz
#1764
Conversation
Far from being ready.
PR mozilla#1764 exports `frame` and `packet` if feature `fuzzing` is enabled. This apparently turns on a bunch of clippy checks that are not on by default? This PR fixes them. Made this separate from mozilla#1764 to reduce that PR's size.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1764 +/- ##
==========================================
- Coverage 93.23% 93.23% -0.01%
==========================================
Files 110 110
Lines 35669 35749 +80
==========================================
+ Hits 33256 33330 +74
- Misses 2413 2419 +6 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to ccf0302.
Client/server transfer resultsTransfer of 134217728 bytes over loopback.
|
@KershawChang @martinthomson any chance for a review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the use of unsafe
is necessary here.
In case you like the suggestions, you can simply merge #1789.
Co-authored-by: Martin Thomson <mt@lowentropy.net> Signed-off-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net> Signed-off-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net> Signed-off-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net> Signed-off-by: Lars Eggert <lars@eggert.org>
Signed-off-by: Lars Eggert <lars@eggert.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3766868 has a couple of comments.
I'm on vacation from tomorrow, so I trust you to do the right thing with this. This is generally OK.
(I did question whether it is the right decision to inline the write_to_corpus calls, rather than having specific code to generate that corpus, but this works.) Do you have a script for that?
Co-authored-by: Martin Thomson <mt@lowentropy.net> Signed-off-by: Lars Eggert <lars@eggert.org>
A corpus can get generated in a number of ways, it's basically just a collection of files. The fuzzer has commands to manage it (e.g., minify it, etc.), in Rust via |
Adds four simple fuzzing targets, for packets and frames, and for fuzzed data inside client and server initials.