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

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

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

rolandshoemaker opened this issue May 21, 2021 · 0 comments
Labels
FrozenDueToAge fuzz Issues related to native fuzzing support NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@rolandshoemaker
Copy link
Member

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.

@rolandshoemaker rolandshoemaker added the fuzz Issues related to native fuzzing support label May 21, 2021
@katiehockman katiehockman added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label May 21, 2021
@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
@golang golang locked and limited conversation to collaborators Nov 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge fuzz Issues related to native fuzzing support NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: No status
Development

No branches or pull requests

3 participants