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 subcommandAuto Trait Implementations§
impl Freeze for FuzzCommand
impl RefUnwindSafe for FuzzCommand
impl Send for FuzzCommand
impl Sync for FuzzCommand
impl Unpin for FuzzCommand
impl UnwindSafe for FuzzCommand
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more