xref: /llvm-project/llvm/test/tools/llvm-profdata/text-format-errors.test (revision 7cca33b40f77c2d8bcd4241bcd0e4c45a0209683)
1Tests for instrumentation profile bad encoding.
2
31- Detect invalid count
4RUN: not llvm-profdata show %p/Inputs/invalid-count-later.proftext 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER-SHOW
5INVALID-COUNT-LATER-SHOW: error: {{.*}}invalid-count-later.proftext: malformed instrumentation profile data
6
7RUN: not llvm-profdata merge %p/Inputs/invalid-count-later.proftext %p/Inputs/invalid-count-later.proftext -o %t.out 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER-MERGE
8RUN: not llvm-profdata merge -failure-mode=all %p/Inputs/invalid-count-later.proftext %p/Inputs/invalid-count-later.proftext -o %t.out 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER-MERGE
9INVALID-COUNT-LATER-MERGE: warning: {{.*}}invalid-count-later.proftext: malformed instrumentation profile data
10INVALID-COUNT-LATER-MERGE-NEXT: warning: {{.*}}invalid-count-later.proftext: malformed instrumentation profile data
11INVALID-COUNT-LATER-MERGE-NEXT: error: no profile can be merged
12
132- Detect bad hash
14RUN: not llvm-profdata show %p/Inputs/bad-hash.proftext 2>&1 | FileCheck %s --check-prefix=BAD-HASH-SHOW
15BAD-HASH-SHOW: error: {{.*}}bad-hash.proftext: malformed instrumentation profile data
16
17RUN: not llvm-profdata merge %p/Inputs/bad-hash.proftext %p/Inputs/bad-hash.proftext -o %t.out 2>&1 | FileCheck %s --check-prefix=BAD-HASH-MERGE
18BAD-HASH-MERGE: warning: {{.*}}bad-hash.proftext: malformed instrumentation profile data
19BAD-HASH-NEXT: error: no profiles can be merged
20
213- Detect no counts
22RUN: not llvm-profdata show %p/Inputs/no-counts.proftext 2>&1 | FileCheck %s --check-prefix=NO-COUNTS
23NO-COUNTS: error: {{.*}}no-counts.proftext: malformed instrumentation profile data
24
254- Detect binary input
26RUN: not llvm-profdata show %p/Inputs/text-format-errors.text.bin 2>&1 | FileCheck %s --check-prefix=BINARY
27BINARY: error: {{.+}}: unrecognized instrumentation profile encoding format
28BINARY: Perhaps you forgot to use the --sample or --memory option?
29
305- Detect malformed value profile data
31RUN: not llvm-profdata show %p/Inputs/vp-malform.proftext 2>&1 | FileCheck %s --check-prefix=VP
32RUN: not llvm-profdata show %p/Inputs/vp-malform2.proftext 2>&1 | FileCheck %s --check-prefix=VP
33VP: error: {{.+}}: malformed instrumentation profile data
34
356- Detect truncated value profile data
36RUN: not llvm-profdata show %p/Inputs/vp-truncate.proftext 2>&1 | FileCheck %s --check-prefix=VPTRUNC
37VPTRUNC: error: {{.+}}: truncated profile data
38