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

cmd/go: decide where fuzz tooling should live #46311

Open
rolandshoemaker opened this issue May 21, 2021 · 0 comments
Open

cmd/go: decide where fuzz tooling should live #46311

rolandshoemaker opened this issue May 21, 2021 · 0 comments

Comments

@rolandshoemaker
Copy link
Member

@rolandshoemaker rolandshoemaker commented May 21, 2021

There are a number of fuzz related tools which we'd like to add, a few examples from among the ideas:

  • a tool to convert existing binary input files to the corpus format
  • a tool to generate skeleton fuzz targets for a module
  • a tool to minimize a corpus to the smallest covering set of inputs

Where should these tools live? One option which seems most obvious would be to keep them under go tool. Another possibility is not to keep them as separate binaries, but to implement their functionality as flags under go test -fuzz.

Putting them under go tool has the benefit of keeping the fuzz testing and tooling code as self-contained as possible, but depending on how many tools we decide on building may begin to pollute the go tool namespace. One other path we could consider is adding a single go tool fuzz tool with subcommands for specific functionality (i.e. go tool fuzz corpusconvert etc).

Putting them under go test keeps everything in one place, but since some of the functionality is disconnected from actually doing any fuzzing it risks overloading the meaning of the flags. Additionally it would mean adding even more functionality to the already complex testing and internal/fuzz packages.

@katiehockman katiehockman added this to the Backlog milestone May 21, 2021
@rsc rsc changed the title [dev.fuzz] cmd/go: decide where fuzz tooling should live cmd/go: decide where fuzz tooling should live Sep 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants