diff options
author | Serhiy Barhamon <sergey@bargamon.ru> | 2023-02-12 19:40:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-12 17:40:45 +0000 |
commit | fc843d035c0cb4936d9b87670e282667a9a8b265 (patch) | |
tree | c17daf4a38a78342bcf458dfad186768a72c82b1 /cli/args/flags.rs | |
parent | 5a83af4837c016d89378f9fa982141b34ff30a23 (diff) |
feat(bench): Add JSON reporter for "deno bench" subcommand (#17595)
Diffstat (limited to 'cli/args/flags.rs')
-rw-r--r-- | cli/args/flags.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs index 792ed8775..ee8ec2563 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -54,6 +54,7 @@ pub struct FileFlags { pub struct BenchFlags { pub files: FileFlags, pub filter: Option<String>, + pub json: bool, } #[derive(Clone, Debug, Eq, PartialEq)] @@ -718,6 +719,12 @@ fn bench_subcommand<'a>() -> Command<'a> { runtime_args(Command::new("bench"), true, false) .trailing_var_arg(true) .arg( + Arg::new("json") + .long("json") + .help("UNSTABLE: Output benchmark result in JSON format") + .takes_value(false), + ) + .arg( Arg::new("ignore") .long("ignore") .takes_value(true) @@ -2325,6 +2332,8 @@ fn bench_parse(flags: &mut Flags, matches: &clap::ArgMatches) { // interactive prompts, unless done by user code flags.no_prompt = true; + let json = matches.is_present("json"); + let ignore = match matches.values_of("ignore") { Some(f) => f.map(PathBuf::from).collect(), None => vec![], @@ -2359,6 +2368,7 @@ fn bench_parse(flags: &mut Flags, matches: &clap::ArgMatches) { flags.subcommand = DenoSubcommand::Bench(BenchFlags { files: FileFlags { include, ignore }, filter, + json, }); } @@ -6535,6 +6545,7 @@ mod tests { let r = flags_from_vec(svec![ "deno", "bench", + "--json", "--unstable", "--filter", "- foo", @@ -6552,6 +6563,7 @@ mod tests { Flags { subcommand: DenoSubcommand::Bench(BenchFlags { filter: Some("- foo".to_string()), + json: true, files: FileFlags { include: vec![PathBuf::from("dir1/"), PathBuf::from("dir2/")], ignore: vec![], @@ -6576,6 +6588,7 @@ mod tests { Flags { subcommand: DenoSubcommand::Bench(BenchFlags { filter: None, + json: false, files: FileFlags { include: vec![], ignore: vec![], |