1 Tests for instrumentation profile bad encoding. 2 3 1- Detect invalid count 4 RUN: not llvm-profdata show %p/Inputs/invalid-count-later.proftext 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER 5 RUN: 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 6 INVALID-COUNT-LATER: error: {{.*}}invalid-count-later.proftext: Malformed instrumentation profile data 7 8 2- Detect bad hash 9 RUN: not llvm-profdata show %p/Inputs/bad-hash.proftext 2>&1 | FileCheck %s --check-prefix=BAD-HASH 10 RUN: 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 11 BAD-HASH: error: {{.*}}bad-hash.proftext: Malformed instrumentation profile data 12 13 3- Detect no counts 14 RUN: not llvm-profdata show %p/Inputs/no-counts.proftext 2>&1 | FileCheck %s --check-prefix=NO-COUNTS 15 NO-COUNTS: error: {{.*}}no-counts.proftext: Malformed instrumentation profile data 16 17 4- Detect binary input 18 RUN: not llvm-profdata show %p/Inputs/text-format-errors.text.bin 2>&1 | FileCheck %s --check-prefix=BINARY 19 BINARY: error: {{.+}}: Unrecognized instrumentation profile encoding format 20 BINARY: Perhaps you forgot to use the -sample option? 21 22 5- Detect malformed value profile data 23 RUN: not llvm-profdata show %p/Inputs/vp-malform.proftext 2>&1 | FileCheck %s --check-prefix=VP 24 RUN: not llvm-profdata show %p/Inputs/vp-malform2.proftext 2>&1 | FileCheck %s --check-prefix=VP 25 VP: Malformed instrumentation profile data 26 27 6- Detect truncated value profile data 28 RUN: not llvm-profdata show %p/Inputs/vp-truncate.proftext 2>&1 | FileCheck %s --check-prefix=VPTRUNC 29 VPTRUNC: Truncated profile data 30