Skip to content
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

Integration with cargo-fuzz #193

Open
elichai opened this issue Jan 1, 2023 · 2 comments
Open

Integration with cargo-fuzz #193

elichai opened this issue Jan 1, 2023 · 2 comments

Comments

@elichai
Copy link

elichai commented Jan 1, 2023

A lot of the tests I have are using libfuzzer/cargo-fuzz to create test curposes, would be nice if I could run those under mutagen, obviously I could write a test function that runs them and then run mutagen, but I have a lot of fuzzers and it will require adding a lot of fuzzing logic code into my crate's tests suite, so it would be nice if I could plug cargo-mutagen into the fuzzer so it will run the fuzzing corpuses under mutations

@samuelpilz
Copy link
Contributor

samuelpilz commented Jan 4, 2023

Could you elaborate a bit more? Some questions:

  • what output do you expect? do you want to know which mutations would result in a failure of cargo-fuzz?
  • which tool would be the "outer" one? cargo fuzz --mutagen or cargo mutagen --with-cargo-fuzz
  • could either tool use the other tool as a lib? or would either tool call the other tool as command?
  • who would be responsible to detect whether mutations result in infinite loops?

@brunoerg
Copy link

do you want to know which mutations would result in a failure of cargo-fuzz?

As far as I've used mutagen, it basically test the mutants with cargo test, right? So, I suppose @elichai wants to test the mutants using fuzzing e.g. by running only with the cases from the corpus or limiting the execution time like "Run fuzzing for 3 minutes and check if the mutant was killed").

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

No branches or pull requests

3 participants