diff --git a/CHANGELOG.md b/CHANGELOG.md index c47d3e5..90bc20a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes are documented here. This project follows Semantic Versionin ### Fixed +- Preserved LCOV `SF:` source paths exactly instead of applying JavaScript-style whitespace trimming. Leading or trailing spaces and Unicode whitespace are valid path characters, so silently erasing them could alias artifact coverage for one path onto a different changed repository file and overstate changed-line evidence. - Restricted recognized Node/Jest/Vitest package-script trimming to ASCII spaces and tabs. JavaScript `String.trim()` also removes non-ASCII whitespace such as NBSP, which shells do not treat as ordinary script separators; leading or trailing Unicode whitespace can therefore no longer be erased into a different executable command and accidentally qualify for exact targeted evidence. - Stopped `.pyi` stub files with test-like names from inventing executable pytest or `unittest` checks. Stubs remain available to static Python analysis and relationship discovery, but framework discovery now requires an executable `.py` test file; this prevents `--run-checks` from launching a Python test runner merely because a repository contains test-shaped type stubs. - Updated current stable Action guidance and the published-Action CI smoke from v0.5.2 to the already-released v0.5.3 snapshot, including the immutable full-SHA pin, so documentation and release verification no longer lag the latest public release. diff --git a/dist/coverage.js b/dist/coverage.js index b1380c7..1c0365d 100644 --- a/dist/coverage.js +++ b/dist/coverage.js @@ -40,7 +40,7 @@ async function parseLcov(root, file) { let lineRecords = 0; for (const record of raw.split(/\r?\n/)) { if (record.startsWith("SF:")) { - const source = record.slice(3).trim(); + const source = record.slice(3); if (!source) throw new CoverageError("Coverage artifact contains an empty SF record."); current = sourceToRepoPath(root, source); diff --git a/dist/coverage.js.map b/dist/coverage.js.map index 37b3701..de8880f 100644 --- a/dist/coverage.js.map +++ b/dist/coverage.js.map @@ -1 +1 @@ -{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/coverage.ts b/src/coverage.ts index e754fc8..86e773e 100644 --- a/src/coverage.ts +++ b/src/coverage.ts @@ -52,7 +52,7 @@ async function parseLcov(root: string, file: string): Promise { for (const record of raw.split(/\r?\n/)) { if (record.startsWith("SF:")) { - const source = record.slice(3).trim(); + const source = record.slice(3); if (!source) throw new CoverageError("Coverage artifact contains an empty SF record."); current = sourceToRepoPath(root, source); if (current !== null && !files.has(current)) { diff --git a/tests/coverage.test.ts b/tests/coverage.test.ts index c0564e4..a23fae3 100644 --- a/tests/coverage.test.ts +++ b/tests/coverage.test.ts @@ -49,6 +49,24 @@ test("declared-commit-matched LCOV adds artifact-reported changed-line evidence assert.match(report.trust.statement, /LCOV artifact was parsed as bounded data/); }); +test("LCOV source paths preserve leading and trailing whitespace instead of aliasing another repository file", async (context) => { + const cases = ["src/value.js ", "src/value.js\u00a0", " src/value.js"]; + for (const source of cases) { + const { root, base, head } = await committedChange(); + context.after(() => rm(root, { recursive: true, force: true })); + await writeFiles(root, { + "coverage/lcov.info": `SF:${source}\nDA:2,1\nDA:3,1\nend_of_record\n`, + }); + const report = await analyzeRepository({ repo: root, base, coverageLcov: "coverage/lcov.info", coverageCommit: head }); + const item = report.assessments.find((assessment) => assessment.file.path === "src/value.js"); + assert.equal(report.coverage?.accepted, true); + assert.equal(report.coverage?.filesParsed, 1); + assert.equal(item?.coverage?.state, "unmeasured", JSON.stringify(source)); + assert.equal(item?.coverage?.coveredChangedLines, 0, JSON.stringify(source)); + assert.ok(item?.evidence.every((entry) => entry.kind !== "coverage-artifact"), JSON.stringify(source)); + } +}); + test("partial changed-line coverage is not generalized to the rest of the change", async (context) => { const { root, base, head } = await committedChange(); context.after(() => rm(root, { recursive: true, force: true }));