summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SampleProfile
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
commit21cb8d4dd5ba808e05500cf33bcf75c994906ccf (patch)
tree84aa59dd82b62e4d5be4157033b5788302f6c7c7 /llvm/test/Transforms/SampleProfile
parente61b8b816a6b0cd9c4f901e95763cc4a026af6c4 (diff)
downloadbcm5719-llvm-21cb8d4dd5ba808e05500cf33bcf75c994906ccf.tar.gz
bcm5719-llvm-21cb8d4dd5ba808e05500cf33bcf75c994906ccf.zip
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. llvm-svn: 196106
Diffstat (limited to 'llvm/test/Transforms/SampleProfile')
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/bad_fn_header.prof6
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/bad_sample_line.prof6
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/missing_num_syms.prof5
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/missing_samples.prof6
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/missing_symtab.prof5
-rw-r--r--llvm/test/Transforms/SampleProfile/syntax.ll17
6 files changed, 45 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SampleProfile/Inputs/bad_fn_header.prof b/llvm/test/Transforms/SampleProfile/Inputs/bad_fn_header.prof
new file mode 100644
index 00000000000..90459e65d04
--- /dev/null
+++ b/llvm/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/llvm/test/Transforms/SampleProfile/Inputs/bad_sample_line.prof b/llvm/test/Transforms/SampleProfile/Inputs/bad_sample_line.prof
new file mode 100644
index 00000000000..8c0d7630f91
--- /dev/null
+++ b/llvm/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/llvm/test/Transforms/SampleProfile/Inputs/missing_num_syms.prof b/llvm/test/Transforms/SampleProfile/Inputs/missing_num_syms.prof
new file mode 100644
index 00000000000..7cd053611c8
--- /dev/null
+++ b/llvm/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/llvm/test/Transforms/SampleProfile/Inputs/missing_samples.prof b/llvm/test/Transforms/SampleProfile/Inputs/missing_samples.prof
new file mode 100644
index 00000000000..edd36c2f52f
--- /dev/null
+++ b/llvm/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/llvm/test/Transforms/SampleProfile/Inputs/missing_symtab.prof b/llvm/test/Transforms/SampleProfile/Inputs/missing_symtab.prof
new file mode 100644
index 00000000000..2a826138b08
--- /dev/null
+++ b/llvm/test/Transforms/SampleProfile/Inputs/missing_symtab.prof
@@ -0,0 +1,5 @@
+1
+empty
+empty:100:0:1
+0: 0
+1: 100
diff --git a/llvm/test/Transforms/SampleProfile/syntax.ll b/llvm/test/Transforms/SampleProfile/syntax.ll
new file mode 100644
index 00000000000..baf3852f322
--- /dev/null
+++ b/llvm/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
OpenPOWER on IntegriCloud