text-format-errors.test 2.3 KB

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