aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ProfileData/CoverageMappingTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/ProfileData/CoverageMappingTest.cpp')
-rw-r--r--llvm/unittests/ProfileData/CoverageMappingTest.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/llvm/unittests/ProfileData/CoverageMappingTest.cpp b/llvm/unittests/ProfileData/CoverageMappingTest.cpp
index 4d0f852..987f676 100644
--- a/llvm/unittests/ProfileData/CoverageMappingTest.cpp
+++ b/llvm/unittests/ProfileData/CoverageMappingTest.cpp
@@ -859,17 +859,34 @@ TEST_P(CoverageMappingTest, load_coverage_for_expanded_file) {
TEST_P(CoverageMappingTest, skip_duplicate_function_record) {
ProfileWriter.addRecord({"func", 0x1234, {1}}, Err);
+ // This record should be loaded.
startFunction("func", 0x1234);
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
+ // This record should be loaded.
startFunction("func", 0x1234);
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
+ addCMR(Counter::getCounter(0), "file2", 1, 1, 9, 9);
+
+ // This record should be skipped.
+ startFunction("func", 0x1234);
+ addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
+
+ // This record should be loaded.
+ startFunction("func", 0x1234);
+ addCMR(Counter::getCounter(0), "file2", 1, 1, 9, 9);
+ addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
+
+ // This record should be skipped.
+ startFunction("func", 0x1234);
+ addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
+ addCMR(Counter::getCounter(0), "file2", 1, 1, 9, 9);
EXPECT_THAT_ERROR(loadCoverageMapping(), Succeeded());
auto Funcs = LoadedCoverage->getCoveredFunctions();
unsigned NumFuncs = std::distance(Funcs.begin(), Funcs.end());
- ASSERT_EQ(1U, NumFuncs);
+ ASSERT_EQ(3U, NumFuncs);
}
// FIXME: Use ::testing::Combine() when llvm updates its copy of googletest.