InstrProf: Add a test for multiple copies of the same with different hashes
authorJustin Bogner <mail@justinbogner.com>
Mon, 22 Jun 2015 23:56:53 +0000 (23:56 +0000)
committerJustin Bogner <mail@justinbogner.com>
Mon, 22 Jun 2015 23:56:53 +0000 (23:56 +0000)
This functionality wasn't being tested.

Patch by Betul Buyukkurt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240359 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/ProfileData/InstrProfTest.cpp

index 26ea0e44ca42e35b0b998a5d193b7e23670c80b1..2cedd593eb8c0c0f01e2549294da231276e84eea 100644 (file)
@@ -68,6 +68,7 @@ TEST_F(InstrProfTest, write_and_read_one_function) {
 
 TEST_F(InstrProfTest, get_function_counts) {
   Writer.addFunctionCounts("foo", 0x1234, {1, 2});
+  Writer.addFunctionCounts("foo", 0x1235, {3, 4});
   auto Profile = Writer.writeBuffer();
   readProfile(std::move(Profile));
 
@@ -77,6 +78,11 @@ TEST_F(InstrProfTest, get_function_counts) {
   ASSERT_EQ(1U, Counts[0]);
   ASSERT_EQ(2U, Counts[1]);
 
+  ASSERT_TRUE(NoError(Reader->getFunctionCounts("foo", 0x1235, Counts)));
+  ASSERT_EQ(2U, Counts.size());
+  ASSERT_EQ(3U, Counts[0]);
+  ASSERT_EQ(4U, Counts[1]);
+
   std::error_code EC;
   EC = Reader->getFunctionCounts("foo", 0x5678, Counts);
   ASSERT_TRUE(ErrorEquals(instrprof_error::hash_mismatch, EC));