InstrProf: Add a test for multiple copies of the same with different hashes

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
This commit is contained in:
Justin Bogner 2015-06-22 23:56:53 +00:00
parent 46a3ee7346
commit fe3176fc13
1 changed files with 6 additions and 0 deletions

View 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));