Skip to content

Conversation

@pstratem
Copy link
Contributor

this vastly simplifies running all of the fuzzing targets in parallel to expand the corpus

depends on #20751

@fanquake fanquake added the Tests label Dec 23, 2020
@pstratem pstratem force-pushed the 2020-12-fuzz-test-runner-infinite-generate branch 2 times, most recently from 37a975d to 0d4d5bd Compare December 23, 2020 05:15
@pstratem pstratem force-pushed the 2020-12-fuzz-test-runner-infinite-generate branch 4 times, most recently from 74150db to ff804c0 Compare December 23, 2020 07:08
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was nice to be able to put the while true outside the script. The benefit was that the outside could update this script, the code repo, as well as the seeds repo. This allows continuous fuzzing of the master branch with the latest code and seeds while atomically updating the build system and this script.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MarcoFalke I don't think there is a problem with that really, as no progress is lost by interrupting. Just stop the test_runner at any point, update/recompile, and run again.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would complicate the outside script because it had to poll for changes in the repo, while running the fuzzer script. As soon as there are changes, interrupt and rerun.

Copy link
Member

@maflcko maflcko Dec 28, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If y'all like the while True, maybe expose it via some kind of option?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not so much the while True I like, but the fact that this doesn't leave cores unused after most of the jobs are done. Doing it randomly also more easily accommodates adding more configurations (which presumably would hurt your workflow equally much, as every new combination would multiply the time between checks by some factor).

What about adding an option to make this automatically exit after some specified wall clock time?

@pstratem pstratem force-pushed the 2020-12-fuzz-test-runner-infinite-generate branch from ff804c0 to 6522e92 Compare December 23, 2020 18:07
@pstratem pstratem force-pushed the 2020-12-fuzz-test-runner-infinite-generate branch from 6522e92 to 1ff0dc5 Compare December 23, 2020 18:07
@pstratem pstratem marked this pull request as draft December 23, 2020 18:08
@DrahtBot
Copy link
Contributor

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@practicalswift
Copy link
Contributor

Concept ACK

@DrahtBot
Copy link
Contributor

🐙 This pull request conflicts with the target branch and needs rebase.

Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

@fanquake
Copy link
Member

depends on #20751

Given this depends on a PR that has since been closed un-merged, I'm going to close for now. Can be re-opened if the dependency changes etc.

@fanquake fanquake closed this Apr 26, 2022
@bitcoin bitcoin locked and limited conversation to collaborators Apr 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants