-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Update arbitrary #53
Update arbitrary #53
Conversation
This makes running the tests easier in local development.
Since it isn't released yet, we depend on the git version.
And then return. This is intended for use by `cargo fuzz` for getting nice info about an `Arbitrary` input that caused a crash.
|
||
let $data: $dty = match Arbitrary::arbitrary(&mut buf) { | ||
let $data = match data { |
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.
This should be first.
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 wanted to handle running a fuzz target with debug enabled on some input that doesn't parse as an arbitrary, so you still get some idea of what is going on rather than silent early exit. Does that make sense?
Wait, won't this make rust-fuzz run debug for every single fuzz test? Won't that slow things down? I thought the plan was to parse the crashdump file. |
If you look at rust-fuzz/cargo-fuzz#206 what's happening is this:
Notably, we don't run fuzzing with the env var set, so we don't debug format and write to disk for every single input. Sound good? |
Oh! I understand now! That's neat. |
- cd ../example_arbitrary | ||
- cargo rustc --release -- -Cpasses='sancov' -Cllvm-args=-sanitizer-coverage-level=4 -Cllvm-args=-sanitizer-coverage-trace-compares -Cllvm-args=-sanitizer-coverage-inline-8bit-counters -Cllvm-args=-sanitizer-coverage-stack-depth -Cllvm-args=-sanitizer-coverage-trace-geps -Cllvm-args=-sanitizer-coverage-prune-blocks=0 -Zsanitizer=address | ||
- (! ./target/release/example -runs=10000000) | ||
script: ./ci/script.sh |
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.
eventually should probably move to GHA
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.
👍
@@ -13,7 +13,11 @@ edition = "2018" | |||
members = ["."] | |||
|
|||
[dependencies] | |||
arbitrary = "0.2" | |||
# arbitrary = "0.3" |
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.
feel free to cut a release, you should have access
We should also start using version numbers for libfuzzer-sys |
(We can wait till both PRs land, test stuff out, and then update things with version numbers) |
Yeah -- I think we should probably move everything to 1.0.0 after we do some pre-release testing. Do you have thoughts on that? |
I'm okay with a 1.0, if we test it out first. We can even release a preview version of cargo fuzz that has a flag to use One leftover concern for 1.0 is it would be nice if we could stop doing the no_main stuff, but the current attempts to do that aren't that good. |
Maybe we should do a 1.0-rc of both at the same time? Honestly, I'm not too concerned with the no_main stuff. /me shrugs |
It does probably make sense to keep using |
I think going directly for a release is fine since before this we weren't
using versions.
With that in mind we can probably publish the next branch without merging
into master, and have cargo fuzz master use the published version for
trying stuff out.
…On Sat, Jan 11, 2020, 12:02 AM Nick Fitzgerald ***@***.***> wrote:
Merged #53 <https://github.com/rust-fuzz/libfuzzer-sys/pull/53> into next.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<https://github.com/rust-fuzz/libfuzzer-sys/pull/53?email_source=notifications&email_token=AAMK6SC3K36PP26TZIOFD4TQ5C5KHA5CNFSM4KE63FQ2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOV42JZ4I#event-2939460849>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAMK6SHF2OEANIZKME6MADDQ5C5KHANCNFSM4KE63FQQ>
.
|
Updates
arbitrary
to its current unreleased master branch, and fixes compilation errors here.