enum FuzzCommand {
Init {
package: String,
template: Template,
},
List {
crates: bool,
},
Verify,
Build {
targets: Vec<String>,
toolchain: Option<String>,
extra: Vec<String>,
},
Run {
target: String,
artifact: Option<PathBuf>,
toolchain: Option<String>,
extra: Vec<String>,
},
Clean {
targets: Vec<String>,
keep_corpus: bool,
keep_artifacts: bool,
keep_coverage: bool,
},
Fmt {
target: String,
input: PathBuf,
toolchain: Option<String>,
extra: Vec<String>,
},
Cmin {
target: String,
toolchain: Option<String>,
extra: Vec<String>,
},
Tmin {
target: String,
test_case: PathBuf,
toolchain: Option<String>,
extra: Vec<String>,
},
Coverage {
target: String,
with_html_report: bool,
only_report: bool,
toolchain: Option<String>,
extra: Vec<String>,
},
Onefuzz {
config_path: PathBuf,
out_dir: PathBuf,
target: Vec<String>,
toolchain: Option<String>,
},
Dump,
}Variants§
Init
Onboard a new fuzz target corresponding to a particular crate
Fields
List
List all available fuzz targets in the repo
Fields
crates: boolList all available fuzz crates in the repo.
A fuzz crate can contain multiple fuzz targets.
This option is mainly useful when running in CI, as it can be used
to generate an “exclude list” of fuzz crates, which we skip building
on platforms that libfuzzer-sys doesn’t support (notably: musl).
Verify
Verify the Cargo.toml and directory structures of in-tree fuzzing
crates.
Build
Build fuzz targets.
Fields
Run
Run fuzz targets.
Fields
Clean
Clean local fuzzing artifacts/corpus/coverage
Fields
Fmt
Print the std::fmt::Debug output for an input.
Fields
Cmin
Minify a corpus.
Fields
Tmin
Minify a test case.
Fields
Coverage
Run program on the generated corpus and generate coverage information.
Fields
Onefuzz
Build fuzzers and construct a Onefuzz-ready drop folder.
Fields
Dump
(debug) Dump raw debug info about all available fuzz targets
Trait Implementations§
Source§impl FromArgMatches for FuzzCommand
impl FromArgMatches for FuzzCommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for FuzzCommand
impl Subcommand for FuzzCommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand