summaryrefslogtreecommitdiff
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
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
-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