Add tests for profile sample file parsing.

The profile file parser needed some tests for its parsing actions.
This adds tests for each of the error messages emitted by the parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196106 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Diego Novillo 2013-12-02 15:12:50 +00:00
parent dfb31b6cac
commit e40c77d191
6 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,6 @@
symbol table
1
empty
empty:100:BAD
0: 0
1: 100

View File

@ -0,0 +1,6 @@
symbol table
1
empty
empty:100:0:1
0: 0
1: BAD

View File

@ -0,0 +1,5 @@
symbol table
empty
empty:100:0:1
0: 0
1: 100

View File

@ -0,0 +1,6 @@
symbol table
1
empty
empty:100:0:10
0: 0
1: 100

View File

@ -0,0 +1,5 @@
1
empty
empty:100:0:1
0: 0
1: 100

View File

@ -0,0 +1,17 @@
; RUN: not opt < %s -sample-profile -sample-profile-file=missing.prof 2>&1 | FileCheck -check-prefix=MISSING-FILE %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/missing_symtab.prof 2>&1 | FileCheck -check-prefix=MISSING-SYMTAB %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/missing_num_syms.prof 2>&1 | FileCheck -check-prefix=MISSING-NUM-SYMS %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_fn_header.prof 2>&1 | FileCheck -check-prefix=BAD-FN-HEADER %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_sample_line.prof 2>&1 | FileCheck -check-prefix=BAD-SAMPLE-LINE %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/missing_samples.prof 2>&1 | FileCheck -check-prefix=MISSING-SAMPLES %s
define void @empty() {
entry:
ret void
}
; MISSING-FILE: LLVM ERROR: Could not open profile file missing.prof: No such file or directory
; MISSING-SYMTAB: LLVM ERROR: {{.*}}missing_symtab.prof:1: Expected 'symbol table', found 1
; MISSING-NUM-SYMS: LLVM ERROR: {{.*}}missing_num_syms.prof:2: Expected a number, found empty
; BAD-FN-HEADER: LLVM ERROR: {{.*}}bad_fn_header.prof:4: Expected 'mangled_name:NUM:NUM:NUM', found empty:100:BAD
; BAD-SAMPLE-LINE: LLVM ERROR: {{.*}}bad_sample_line.prof:6: Expected 'mangled_name:NUM:NUM:NUM', found 1: BAD
; MISSING-SAMPLES: LLVM ERROR: {{.*}}missing_samples.prof:6: Unexpected end of file