summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2013-12-02 15:12:50 +0000
committerDiego Novillo <dnovillo@google.com>2013-12-02 15:12:50 +0000
commite40c77d1919fdb02b023086450c53d25927bd135 (patch)
treea1f211d0edc36db4b958ee0604dfb494017209e4 /test
parentdfb31b6cac83de624653cc23f242f4f807f79768 (diff)
downloadllvm-e40c77d1919fdb02b023086450c53d25927bd135.tar.gz
llvm-e40c77d1919fdb02b023086450c53d25927bd135.tar.bz2
llvm-e40c77d1919fdb02b023086450c53d25927bd135.tar.xz
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
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/SampleProfile/Inputs/bad_fn_header.prof6
-rw-r--r--test/Transforms/SampleProfile/Inputs/bad_sample_line.prof6
-rw-r--r--test/Transforms/SampleProfile/Inputs/missing_num_syms.prof5
-rw-r--r--test/Transforms/SampleProfile/Inputs/missing_samples.prof6
-rw-r--r--test/Transforms/SampleProfile/Inputs/missing_symtab.prof5
-rw-r--r--test/Transforms/SampleProfile/syntax.ll17
6 files changed, 45 insertions, 0 deletions
diff --git a/test/Transforms/SampleProfile/Inputs/bad_fn_header.prof b/test/Transforms/SampleProfile/Inputs/bad_fn_header.prof
new file mode 100644
index 0000000000..90459e65d0
--- /dev/null
+++ b/test/Transforms/SampleProfile/Inputs/bad_fn_header.prof
@@ -0,0 +1,6 @@
+symbol table
+1
+empty
+empty:100:BAD
+0: 0
+1: 100
diff --git a/test/Transforms/SampleProfile/Inputs/bad_sample_line.prof b/test/Transforms/SampleProfile/Inputs/bad_sample_line.prof
new file mode 100644
index 0000000000..8c0d7630f9
--- /dev/null
+++ b/test/Transforms/SampleProfile/Inputs/bad_sample_line.prof
@@ -0,0 +1,6 @@
+symbol table
+1
+empty
+empty:100:0:1
+0: 0
+1: BAD
diff --git a/test/Transforms/SampleProfile/Inputs/missing_num_syms.prof b/test/Transforms/SampleProfile/Inputs/missing_num_syms.prof
new file mode 100644
index 0000000000..7cd053611c
--- /dev/null
+++ b/test/Transforms/SampleProfile/Inputs/missing_num_syms.prof
@@ -0,0 +1,5 @@
+symbol table
+empty
+empty:100:0:1
+0: 0
+1: 100
diff --git a/test/Transforms/SampleProfile/Inputs/missing_samples.prof b/test/Transforms/SampleProfile/Inputs/missing_samples.prof
new file mode 100644
index 0000000000..edd36c2f52
--- /dev/null
+++ b/test/Transforms/SampleProfile/Inputs/missing_samples.prof
@@ -0,0 +1,6 @@
+symbol table
+1
+empty
+empty:100:0:10
+0: 0
+1: 100
diff --git a/test/Transforms/SampleProfile/Inputs/missing_symtab.prof b/test/Transforms/SampleProfile/Inputs/missing_symtab.prof
new file mode 100644
index 0000000000..2a826138b0
--- /dev/null
+++ b/test/Transforms/SampleProfile/Inputs/missing_symtab.prof
@@ -0,0 +1,5 @@
+1
+empty
+empty:100:0:1
+0: 0
+1: 100
diff --git a/test/Transforms/SampleProfile/syntax.ll b/test/Transforms/SampleProfile/syntax.ll
new file mode 100644
index 0000000000..baf3852f32
--- /dev/null
+++ b/test/Transforms/SampleProfile/syntax.ll
@@ -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