Index: llvm/test/tools/llvm-cov/multiple-files.test =================================================================== --- llvm/test/tools/llvm-cov/multiple-files.test +++ llvm/test/tools/llvm-cov/multiple-files.test @@ -1,6 +1,7 @@ // RUN: llvm-profdata merge %S/Inputs/multiple-files.proftext -o %t.profdata // RUN: llvm-cov report %S/Inputs/multiple-files.covmapping -instr-profile %t.profdata | FileCheck %s -check-prefix=MANY_COMPONENTS // RUN: llvm-cov report %S/Inputs/multiple-files2.covmapping -instr-profile %t.profdata | FileCheck %s -check-prefix=ONE_COMPONENT +// RUN: llvm-cov export %S/Inputs/multiple-files.covmapping -instr-profile %t.profdata -format=lcov | FileCheck %s -check-prefix=LCOV // MANY_COMPONENTS: Filename // MANY_COMPONENTS-NEXT: --- @@ -13,3 +14,14 @@ // ONE_COMPONENT-NEXT: --- // ONE_COMPONENT-NEXT: {{^}}cov.c // ONE_COMPONENT-NEXT: {{^}}cov.h + +// LCOV-LABEL: SF:{{.*}}a{{[/\\]}}f2.c +// LCOV: FN:1,f2 +// No extra funcs +// LCOV-NOT: FN: +// LCOV-LABEL: SF:{{.*}}b{{[/\\]}}c{{[/\\]}}f4.c +// LCOV: FN:1,f4 +// LCOV-LABEL: SF:{{.*}}b{{[/\\]}}f3.c +// LCOV: FN:1,f3 +// LCOV-LABEL: SF:{{.*}}f1.c +// LCOV: FN:1,f1 Index: llvm/tools/llvm-cov/CoverageExporterLcov.cpp =================================================================== --- llvm/tools/llvm-cov/CoverageExporterLcov.cpp +++ llvm/tools/llvm-cov/CoverageExporterLcov.cpp @@ -83,7 +83,7 @@ OS << "SF:" << Filename << '\n'; if (!ExportSummaryOnly) { - renderFunctions(OS, Coverage.getCoveredFunctions()); + renderFunctions(OS, Coverage.getCoveredFunctions(Filename)); } renderFunctionSummary(OS, FileReport);