From 890b0653104388bfef60ca7ebd0af758caf5f0be Mon Sep 17 00:00:00 2001 From: Geert-Jan Zwiers Date: Sat, 10 Dec 2022 02:30:47 +0100 Subject: feat(cli): support deno bench in the config file (#16608) This PR adds the ability to set `include/exclude` fields for `deno bench` in the configuration file. --- cli/tests/bench_tests.rs | 18 ++++++++++++++++++ cli/tests/testdata/bench/collect.out | 10 ++++++++++ cli/tests/testdata/bench/collect/deno.jsonc | 7 +++++++ cli/tests/testdata/bench/collect/deno.malformed.jsonc | 5 +++++ cli/tests/testdata/bench/collect/deno2.jsonc | 8 ++++++++ cli/tests/testdata/bench/collect/include/2_bench.ts | 0 cli/tests/testdata/bench/collect/include/bench.ts | 0 cli/tests/testdata/bench/collect2.out | 12 ++++++++++++ .../testdata/bench/collect_with_malformed_config.out | 4 ++++ 9 files changed, 64 insertions(+) create mode 100644 cli/tests/testdata/bench/collect/deno.jsonc create mode 100644 cli/tests/testdata/bench/collect/deno.malformed.jsonc create mode 100644 cli/tests/testdata/bench/collect/deno2.jsonc create mode 100644 cli/tests/testdata/bench/collect/include/2_bench.ts create mode 100644 cli/tests/testdata/bench/collect/include/bench.ts create mode 100644 cli/tests/testdata/bench/collect2.out create mode 100644 cli/tests/testdata/bench/collect_with_malformed_config.out (limited to 'cli/tests') diff --git a/cli/tests/bench_tests.rs b/cli/tests/bench_tests.rs index 77c1e2a7e..24d2a4fe9 100644 --- a/cli/tests/bench_tests.rs +++ b/cli/tests/bench_tests.rs @@ -165,6 +165,24 @@ mod bench { exit_code: 1, }); + itest!(bench_with_config { + args: "bench --config bench/collect/deno.jsonc bench/collect", + exit_code: 0, + output: "bench/collect.out", + }); + + itest!(bench_with_config2 { + args: "bench --config bench/collect/deno2.jsonc bench/collect", + exit_code: 0, + output: "bench/collect2.out", + }); + + itest!(bench_with_malformed_config { + args: "bench --config bench/collect/deno.malformed.jsonc", + exit_code: 1, + output: "bench/collect_with_malformed_config.out", + }); + #[test] fn recursive_permissions_pledge() { let output = util::deno_cmd() diff --git a/cli/tests/testdata/bench/collect.out b/cli/tests/testdata/bench/collect.out index 18b27f8b9..a7adc2b58 100644 --- a/cli/tests/testdata/bench/collect.out +++ b/cli/tests/testdata/bench/collect.out @@ -1,7 +1,17 @@ Check [WILDCARD]/bench/collect/bench.ts +Check [WILDCARD]/bench/collect/include/2_bench.ts +Check [WILDCARD]/bench/collect/include/bench.ts cpu: [WILDCARD] runtime: deno [WILDCARD] ([WILDCARD]) [WILDCARD]/bench/collect/bench.ts benchmark time (avg) (min … max) p75 p99 p995 ------------------------------------------------- ----------------------------- + +[WILDCARD]/bench/collect/include/2_bench.ts +benchmark time (avg) (min … max) p75 p99 p995 +------------------------------------------------- ----------------------------- + +[WILDCARD]/bench/collect/include/bench.ts +benchmark time (avg) (min … max) p75 p99 p995 +------------------------------------------------- ----------------------------- diff --git a/cli/tests/testdata/bench/collect/deno.jsonc b/cli/tests/testdata/bench/collect/deno.jsonc new file mode 100644 index 000000000..f88d13778 --- /dev/null +++ b/cli/tests/testdata/bench/collect/deno.jsonc @@ -0,0 +1,7 @@ +{ + "bench": { + "files": { + "exclude": ["./ignore"] + } + } +} diff --git a/cli/tests/testdata/bench/collect/deno.malformed.jsonc b/cli/tests/testdata/bench/collect/deno.malformed.jsonc new file mode 100644 index 000000000..02744bc11 --- /dev/null +++ b/cli/tests/testdata/bench/collect/deno.malformed.jsonc @@ -0,0 +1,5 @@ +{ + "bench": { + "dont_know_this_field": {} + } +} diff --git a/cli/tests/testdata/bench/collect/deno2.jsonc b/cli/tests/testdata/bench/collect/deno2.jsonc new file mode 100644 index 000000000..f24da5049 --- /dev/null +++ b/cli/tests/testdata/bench/collect/deno2.jsonc @@ -0,0 +1,8 @@ +{ + "bench": { + "files": { + "include": ["./include/"], + "exclude": ["./ignore", "./include/2_bench.ts"] + } + } +} diff --git a/cli/tests/testdata/bench/collect/include/2_bench.ts b/cli/tests/testdata/bench/collect/include/2_bench.ts new file mode 100644 index 000000000..e69de29bb diff --git a/cli/tests/testdata/bench/collect/include/bench.ts b/cli/tests/testdata/bench/collect/include/bench.ts new file mode 100644 index 000000000..e69de29bb diff --git a/cli/tests/testdata/bench/collect2.out b/cli/tests/testdata/bench/collect2.out new file mode 100644 index 000000000..e5bb0f1c5 --- /dev/null +++ b/cli/tests/testdata/bench/collect2.out @@ -0,0 +1,12 @@ +Check [WILDCARD]/bench/collect/bench.ts +Check [WILDCARD]/bench/collect/include/bench.ts +cpu: [WILDCARD] +runtime: deno [WILDCARD] ([WILDCARD]) + +[WILDCARD]/bench/collect/bench.ts +benchmark time (avg) (min … max) p75 p99 p995 +------------------------------------------------- ----------------------------- + +[WILDCARD]/bench/collect/include/bench.ts +benchmark time (avg) (min … max) p75 p99 p995 +------------------------------------------------- ----------------------------- diff --git a/cli/tests/testdata/bench/collect_with_malformed_config.out b/cli/tests/testdata/bench/collect_with_malformed_config.out new file mode 100644 index 000000000..10e64707c --- /dev/null +++ b/cli/tests/testdata/bench/collect_with_malformed_config.out @@ -0,0 +1,4 @@ +error: Failed to parse "bench" configuration + +Caused by: + unknown field `dont_know_this_field`, expected `files` -- cgit v1.2.3