diff --git a/actions/parse-ci-reports/src/parsers/LCOVParser.js b/actions/parse-ci-reports/src/parsers/LCOVParser.js index 9418270..89301f5 100644 --- a/actions/parse-ci-reports/src/parsers/LCOVParser.js +++ b/actions/parse-ci-reports/src/parsers/LCOVParser.js @@ -15,8 +15,10 @@ export class LCOVParser extends BaseParser { return ( hasSupportedName && - content.includes("TN:") && - (content.includes("SF:") || content.includes("DA:")) + content.includes("SF:") && + (content.includes("DA:") || + content.includes("LF:") || + content.includes("end_of_record")) ); } diff --git a/actions/parse-ci-reports/src/parsers/LCOVParser.test.js b/actions/parse-ci-reports/src/parsers/LCOVParser.test.js index 6fbaa19..273edb2 100644 --- a/actions/parse-ci-reports/src/parsers/LCOVParser.test.js +++ b/actions/parse-ci-reports/src/parsers/LCOVParser.test.js @@ -12,6 +12,14 @@ BRDA:2,0,1,0 end_of_record `; +const SAMPLE_LCOV_WITHOUT_TEST_NAME = `SF:lib/main.dart +DA:1,1 +DA:2,0 +LF:2 +LH:1 +end_of_record +`; + describe("LCOVParser", () => { it("keeps auto-pattern path detection synchronized", () => { const parser = new LCOVParser(); @@ -25,6 +33,12 @@ describe("LCOVParser", () => { const parser = new LCOVParser(); assert.ok(parser.canParse("coverage/lcov.info", SAMPLE_LCOV)); + assert.ok( + parser.canParse( + "flutter/coverage/lcov.info", + SAMPLE_LCOV_WITHOUT_TEST_NAME, + ), + ); assert.ok(!parser.canParse("coverage/report.txt", SAMPLE_LCOV)); });