From 202f5f39108159f21a6c85c4a91a7d5f61bd23e8 Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Thu, 17 Apr 2025 01:47:28 +0900 Subject: [PATCH] feat(test): support DENO_COVERAGE_DIR env var (#28291) This PR adds support of `DENO_COVERAGE_DIR` for controlling coverage output. --- cli/args/mod.rs | 2 +- .../set_coverage_in_env_var/__test__.jsonc | 18 ++++++++++++++++++ .../set_coverage_in_env_var/coverage.out | 7 +++++++ .../coverage/set_coverage_in_env_var/source.ts | 3 +++ .../coverage/set_coverage_in_env_var/test.out | 7 +++++++ .../coverage/set_coverage_in_env_var/test.ts | 7 +++++++ 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 tests/specs/coverage/set_coverage_in_env_var/__test__.jsonc create mode 100644 tests/specs/coverage/set_coverage_in_env_var/coverage.out create mode 100644 tests/specs/coverage/set_coverage_in_env_var/source.ts create mode 100644 tests/specs/coverage/set_coverage_in_env_var/test.out create mode 100644 tests/specs/coverage/set_coverage_in_env_var/test.ts diff --git a/cli/args/mod.rs b/cli/args/mod.rs index 4026edc47f..1f29a6d232 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -838,7 +838,7 @@ impl CliOptions { .coverage_dir .as_ref() .map(ToOwned::to_owned) - .or_else(|| env::var("DENO_UNSTABLE_COVERAGE_DIR").ok()), + .or_else(|| env::var("DENO_COVERAGE_DIR").ok()), _ => None, } } diff --git a/tests/specs/coverage/set_coverage_in_env_var/__test__.jsonc b/tests/specs/coverage/set_coverage_in_env_var/__test__.jsonc new file mode 100644 index 0000000000..c7e9fe0fa8 --- /dev/null +++ b/tests/specs/coverage/set_coverage_in_env_var/__test__.jsonc @@ -0,0 +1,18 @@ +{ + "tempDir": true, + "steps": [ + { + "args": "test -A", + "output": "test.out", + "envs": { + "DENO_COVERAGE_DIR": "my_coverage_dir" + }, + "exitCode": 0 + }, + { + "args": "coverage my_coverage_dir", + "output": "coverage.out", + "exitCode": 0 + } + ] +} diff --git a/tests/specs/coverage/set_coverage_in_env_var/coverage.out b/tests/specs/coverage/set_coverage_in_env_var/coverage.out new file mode 100644 index 0000000000..eb55868b09 --- /dev/null +++ b/tests/specs/coverage/set_coverage_in_env_var/coverage.out @@ -0,0 +1,7 @@ +-------------------------------- +File | Branch % | Line % | +-------------------------------- + source.ts | 100.0 | 100.0 | +-------------------------------- + All files | 100.0 | 100.0 | +-------------------------------- diff --git a/tests/specs/coverage/set_coverage_in_env_var/source.ts b/tests/specs/coverage/set_coverage_in_env_var/source.ts new file mode 100644 index 0000000000..8d9b8a22a1 --- /dev/null +++ b/tests/specs/coverage/set_coverage_in_env_var/source.ts @@ -0,0 +1,3 @@ +export function add(a: number, b: number): number { + return a + b; +} diff --git a/tests/specs/coverage/set_coverage_in_env_var/test.out b/tests/specs/coverage/set_coverage_in_env_var/test.out new file mode 100644 index 0000000000..a04617607b --- /dev/null +++ b/tests/specs/coverage/set_coverage_in_env_var/test.out @@ -0,0 +1,7 @@ +Check [WILDCARD]/test.ts +running 1 test from ./test.ts +add() ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + +[WILDCARD] \ No newline at end of file diff --git a/tests/specs/coverage/set_coverage_in_env_var/test.ts b/tests/specs/coverage/set_coverage_in_env_var/test.ts new file mode 100644 index 0000000000..46be64c639 --- /dev/null +++ b/tests/specs/coverage/set_coverage_in_env_var/test.ts @@ -0,0 +1,7 @@ +import { add } from "./source.ts"; + +Deno.test("add()", () => { + if (add(1, 2) !== 3) { + throw new Error("test failed"); + } +});