llvm-profdata: Clean up and reorganize some tests

This moves some tests around to make it clearer what's being tested,
and adds very rudimentary comment syntax to the text input format to
make specifying this kind of test a little bit simpler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214235 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Justin Bogner 2014-07-29 22:29:23 +00:00
parent b9253653c7
commit 12855f6376
7 changed files with 34 additions and 12 deletions

View File

@ -83,8 +83,8 @@ void InstrProfIterator::Increment() {
}
std::error_code TextInstrProfReader::readNextRecord(InstrProfRecord &Record) {
// Skip empty lines.
while (!Line.is_at_end() && Line->empty())
// Skip empty lines and comments.
while (!Line.is_at_end() && (Line->empty() || Line->startswith("#")))
++Line;
// If we hit EOF while looking for a name, we're done.
if (Line.is_at_end())

View File

@ -1,4 +0,0 @@
overflow
1
1
9223372036854775808

View File

@ -0,0 +1,17 @@
# RUN: llvm-profdata merge %s -o %t.out 2>&1 | FileCheck %s
# CHECK: hash-mismatch.profdata: foo: Function hash mismatch
foo
3
3
1
2
3
foo
4
4
11
22
33
44

View File

@ -0,0 +1 @@
config.suffixes.add('.profdata')

View File

@ -1,3 +1,5 @@
Some very basic tests for the multiple input cases.
RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo3-2.profdata -o %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3
RUN: llvm-profdata merge %p/Inputs/foo3-2.profdata %p/Inputs/foo3-1.profdata -o %t

View File

@ -0,0 +1,12 @@
# RUN: llvm-profdata merge %s -o %t.out 2>&1 | FileCheck %s
# CHECK: overflow.profdata: overflow: Counter overflow
overflow
1
1
9223372036854775808
overflow
1
1
9223372036854775808

View File

@ -1,9 +1,3 @@
RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo4-1.profdata -o %t.out 2>&1 | FileCheck %s --check-prefix=HASH
HASH: foo4-1.profdata: foo: Function hash mismatch
RUN: llvm-profdata merge %p/Inputs/overflow.profdata %p/Inputs/overflow.profdata -o %t.out 2>&1 | FileCheck %s --check-prefix=OVERFLOW
OVERFLOW: overflow.profdata: overflow: Counter overflow
RUN: not llvm-profdata show %p/Inputs/invalid-count-later.profdata 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER
RUN: not llvm-profdata merge %p/Inputs/invalid-count-later.profdata %p/Inputs/invalid-count-later.profdata -o %t.out 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER
INVALID-COUNT-LATER: error: {{.*}}invalid-count-later.profdata: Malformed profile data