From 206c593519681a024409d9dd23ef55b1d13d938f Mon Sep 17 00:00:00 2001 From: Geert-Jan Zwiers Date: Thu, 30 Mar 2023 19:40:22 +0200 Subject: fix(coverage): ignore files from npm registry (#18457) Fixes https://github.com/denoland/deno/issues/17664 and part of https://github.com/denoland/deno/issues/18454 by excluding files belonging to npm modules by default in the coverage output. --- cli/tests/integration/coverage_tests.rs | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'cli/tests/integration/coverage_tests.rs') diff --git a/cli/tests/integration/coverage_tests.rs b/cli/tests/integration/coverage_tests.rs index 022f216d8..440d6b17e 100644 --- a/cli/tests/integration/coverage_tests.rs +++ b/cli/tests/integration/coverage_tests.rs @@ -277,6 +277,54 @@ fn no_snaps_included(test_name: &str, extension: &str) { output.assert_exit_code(0); } +#[test] +fn no_npm_cache_coverage() { + let context = TestContext::default(); + let tempdir = context.deno_dir(); + let tempdir = tempdir.path().join("cov"); + + let output = context + .new_command() + .args_vec(vec![ + "test".to_string(), + "--quiet".to_string(), + "--allow-read".to_string(), + format!("--coverage={}", tempdir.to_str().unwrap()), + format!("coverage/no_npm_coverage/no_npm_coverage_test.ts"), + ]) + .run(); + + output.assert_exit_code(0); + output.skip_output_check(); + + let output = context + .new_command() + .args_vec(vec![ + "coverage".to_string(), + format!("{}/", tempdir.to_str().unwrap()), + ]) + .split_output() + .run(); + + // Verify there's no "Check" being printed + assert!(output.stderr().is_empty()); + + let actual = util::strip_ansi_codes(output.stdout()).to_string(); + + let expected = fs::read_to_string( + util::testdata_path().join("coverage/no_npm_coverage/expected.out"), + ) + .unwrap(); + + if !util::wildcard_match(&expected, &actual) { + println!("OUTPUT\n{actual}\nOUTPUT"); + println!("EXPECTED\n{expected}\nEXPECTED"); + panic!("pattern match failed"); + } + + output.assert_exit_code(0); +} + #[test] fn no_transpiled_lines() { let context = TestContext::default(); -- cgit v1.2.3