Fix: test coverage node_modules exclusion in Windows (#12691)

This commit is contained in:
Dariush Alipour
2024-07-22 22:25:42 +02:00
committed by GitHub
parent 63fab9a82b
commit 732ed2b7df
2 changed files with 24 additions and 1 deletions

View File

@@ -598,7 +598,7 @@ const Scanner = struct {
};
// always ignore node_modules.
if (strings.contains(slice, "/" ++ "node_modules" ++ "/")) {
if (strings.contains(slice, "/node_modules/") or strings.contains(slice, "\\node_modules\\")) {
return false;
}

View File

@@ -54,3 +54,26 @@ export class Y {
expect(result.signalCode).toBeUndefined();
expect(readFileSync(path.join(dir, "coverage", "lcov.info"), "utf-8")).toMatchSnapshot();
});
test("coverage excludes node_modules directory", () => {
const dir = tempDirWithFiles("cov", {
"node_modules/pi/index.js": `
export const pi = 3.14;
`,
"demo.test.ts": `
import { pi } from 'pi';
console.log(pi);
`,
});
const result = Bun.spawnSync([bunExe(), "test", "--coverage"], {
cwd: dir,
env: {
...bunEnv,
},
stdio: [null, null, "pipe"],
});
expect(result.stderr.toString("utf-8")).toContain("demo.test.ts");
expect(result.stderr.toString("utf-8")).not.toContain("node_modules");
expect(result.exitCode).toBe(0);
expect(result.signalCode).toBeUndefined();
});