[test][llvm-dwarfdump][NFC] Remove unused check

Reviewed by: JDevlieghere

Differential Revision: https://reviews.llvm.org/D71756
This commit is contained in:
James Henderson 2019-12-20 12:32:43 +00:00
parent acc4ffbb47
commit 19a71e358e
1 changed files with 133 additions and 136 deletions

View File

@ -1,136 +1,133 @@
## Test the different error cases in the debug line parsing and how they prevent ## Test the different error cases in the debug line parsing and how they prevent
## or don't prevent further dumping of section contents. ## or don't prevent further dumping of section contents.
## Show that a bad length stops parsing of the section. ## Show that a bad length stops parsing of the section.
# RUN: llvm-mc -triple x86_64-pc-linux %S/Inputs/debug_line_reserved_length.s -filetype=obj -o %t-reserved.o # RUN: llvm-mc -triple x86_64-pc-linux %S/Inputs/debug_line_reserved_length.s -filetype=obj -o %t-reserved.o
# RUN: llvm-dwarfdump -debug-line %t-reserved.o 2> %t-reserved.err \ # RUN: llvm-dwarfdump -debug-line %t-reserved.o 2> %t-reserved.err \
# RUN: | FileCheck %s --check-prefixes=FIRST,FATAL # RUN: | FileCheck %s --check-prefixes=FIRST,FATAL
# RUN: FileCheck %s --input-file=%t-reserved.err --check-prefix=RESERVED # RUN: FileCheck %s --input-file=%t-reserved.err --check-prefix=RESERVED
# RUN: llvm-dwarfdump -debug-line %t-reserved.o -verbose 2> %t-reserved-verbose.err \ # RUN: llvm-dwarfdump -debug-line %t-reserved.o -verbose 2> %t-reserved-verbose.err \
# RUN: | FileCheck %s --check-prefixes=FIRST,FATAL # RUN: | FileCheck %s --check-prefixes=FIRST,FATAL
# RUN: FileCheck %s --input-file=%t-reserved-verbose.err --check-prefix=RESERVED # RUN: FileCheck %s --input-file=%t-reserved-verbose.err --check-prefix=RESERVED
## We only produce warnings for malformed tables after the specified unit if ## We only produce warnings for malformed tables after the specified unit if
## parsing can continue. ## parsing can continue.
# RUN: llvm-dwarfdump -debug-line=0 %t-reserved.o 2> %t-reserved-off-first.err \ # RUN: llvm-dwarfdump -debug-line=0 %t-reserved.o 2> %t-reserved-off-first.err \
# RUN: | FileCheck %s --check-prefixes=FIRST,NOLATER # RUN: | FileCheck %s --check-prefixes=FIRST,NOLATER
# RUN: FileCheck %s --input-file=%t-reserved-off-first.err --check-prefix=RESERVED # RUN: FileCheck %s --input-file=%t-reserved-off-first.err --check-prefix=RESERVED
## Stop looking for the specified unit, if a fatally-bad prologue is detected. ## Stop looking for the specified unit, if a fatally-bad prologue is detected.
# RUN: llvm-dwarfdump -debug-line=0x4b %t-reserved.o 2> %t-reserved-off-last.err \ # RUN: llvm-dwarfdump -debug-line=0x4b %t-reserved.o 2> %t-reserved-off-last.err \
# RUN: | FileCheck %s --check-prefixes=NOFIRST,NOLATER # RUN: | FileCheck %s --check-prefixes=NOFIRST,NOLATER
# RUN: FileCheck %s --input-file=%t-reserved-off-last.err --check-prefix=RESERVED # RUN: FileCheck %s --input-file=%t-reserved-off-last.err --check-prefix=RESERVED
## Show that non-fatal errors do not prevent parsing the rest of the section. ## Show that non-fatal errors do not prevent parsing the rest of the section.
# RUN: llvm-mc -triple x86_64-pc-linux %S/Inputs/debug_line_malformed.s -filetype=obj -o %t-malformed.o # RUN: llvm-mc -triple x86_64-pc-linux %S/Inputs/debug_line_malformed.s -filetype=obj -o %t-malformed.o
# RUN: llvm-dwarfdump -debug-line %t-malformed.o 2> %t-malformed.err \ # RUN: llvm-dwarfdump -debug-line %t-malformed.o 2> %t-malformed.err \
# RUN: | FileCheck %s --check-prefixes=FIRST,NONFATAL # RUN: | FileCheck %s --check-prefixes=FIRST,NONFATAL
# RUN: FileCheck %s --input-file=%t-malformed.err --check-prefixes=ALL,OTHER # RUN: FileCheck %s --input-file=%t-malformed.err --check-prefixes=ALL,OTHER
# RUN: llvm-dwarfdump -debug-line %t-malformed.o -verbose 2> %t-malformed-verbose.err \ # RUN: llvm-dwarfdump -debug-line %t-malformed.o -verbose 2> %t-malformed-verbose.err \
# RUN: | FileCheck %s --check-prefixes=FIRST,NONFATAL # RUN: | FileCheck %s --check-prefixes=FIRST,NONFATAL
# RUN: FileCheck %s --input-file=%t-malformed-verbose.err --check-prefixes=ALL,OTHER # RUN: FileCheck %s --input-file=%t-malformed-verbose.err --check-prefixes=ALL,OTHER
## We should still produce warnings for malformed tables after the specified unit. ## We should still produce warnings for malformed tables after the specified unit.
# RUN: llvm-dwarfdump -debug-line=0 %t-malformed.o 2> %t-malformed-off-first.err \ # RUN: llvm-dwarfdump -debug-line=0 %t-malformed.o 2> %t-malformed-off-first.err \
# RUN: | FileCheck %s --check-prefixes=FIRST,NOLATER # RUN: | FileCheck %s --check-prefixes=FIRST,NOLATER
# RUN: FileCheck %s --input-file=%t-malformed-off-first.err --check-prefix=ALL # RUN: FileCheck %s --input-file=%t-malformed-off-first.err --check-prefix=ALL
## Don't stop looking for the later unit if non-fatal issues are found. ## Don't stop looking for the later unit if non-fatal issues are found.
# RUN: llvm-dwarfdump -debug-line=0x271 %t-malformed.o 2> %t-malformed-off-last.err \ # RUN: llvm-dwarfdump -debug-line=0x271 %t-malformed.o 2> %t-malformed-off-last.err \
# RUN: | FileCheck %s --check-prefixes=LASTONLY # RUN: | FileCheck %s --check-prefixes=LASTONLY
# RUN: FileCheck %s --input-file=%t-malformed-off-last.err --check-prefix=ALL # RUN: FileCheck %s --input-file=%t-malformed-off-last.err --check-prefix=ALL
# FIRST: debug_line[0x00000000] # FIRST: debug_line[0x00000000]
# FIRST: 0x000000000badbeef {{.*}} end_sequence # FIRST: 0x000000000badbeef {{.*}} end_sequence
# NOFIRST-NOT: debug_line[0x00000000] # NOFIRST-NOT: debug_line[0x00000000]
# NOFIRST-NOT: 0x000000000badbeef {{.*}} end_sequence # NOFIRST-NOT: 0x000000000badbeef {{.*}} end_sequence
# NOLATER-NOT: debug_line[{{.*}}] # NOLATER-NOT: debug_line[{{.*}}]
# NOLATER-NOT: end_sequence # NOLATER-NOT: end_sequence
## For fatal issues, the following table(s) should not be dumped. ## For fatal issues, the following table(s) should not be dumped.
# FATAL: debug_line[0x00000048] # FATAL: debug_line[0x00000048]
# FATAL-NEXT: Line table prologue # FATAL-NEXT: Line table prologue
# FATAL-NEXT: total_length: 0xfffffffe # FATAL-NEXT: total_length: 0xfffffffe
# FATAL-NOT: debug_line # FATAL-NOT: debug_line
## For non-fatal prologue issues, the table prologue should be dumped, and any ## For non-fatal prologue issues, the table prologue should be dumped, and any
## subsequent tables should also be. ## subsequent tables should also be.
## Case 1: Version 0 table. ## Case 1: Version 0 table.
# NONFATAL: debug_line[0x00000048] # NONFATAL: debug_line[0x00000048]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL-NOT: Address # NONFATAL-NOT: Address
## Case 2: Version 1 table. ## Case 2: Version 1 table.
# NONFATAL: debug_line[0x0000004e] # NONFATAL: debug_line[0x0000004e]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL-NOT: Address # NONFATAL-NOT: Address
## Case 3: Malformed directory format with no path component. ## Case 3: Malformed directory format with no path component.
# NONFATAL: debug_line[0x00000054] # NONFATAL: debug_line[0x00000054]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL-NOT: Address # NONFATAL-NOT: Address
## Case 4: Prologue with length shorter than parsed. ## Case 4: Prologue with length shorter than parsed.
# NONFATAL: debug_line[0x00000073] # NONFATAL: debug_line[0x00000073]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL-NOT: Address # NONFATAL-NOT: Address
## Case 5: Prologue with length longer than parsed. ## Case 5: Prologue with length longer than parsed.
# NONFATAL: debug_line[0x000000ad] # NONFATAL: debug_line[0x000000ad]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL-NOT: Address # NONFATAL-NOT: Address
## Case 6: Extended opcode with incorrect length versus expected. ## Case 6: Extended opcode with incorrect length versus expected.
# NONFATAL: debug_line[0x000000e7] # NONFATAL: debug_line[0x000000e7]
## Dumping prints the line table prologue and any valid operations up to the ## Dumping prints the line table prologue and any valid operations up to the
## point causing the problem. ## point causing the problem.
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL: 0x00000000abbadaba {{.*}} end_sequence # NONFATAL: 0x00000000abbadaba {{.*}} end_sequence
# NONFATAL-NOT: is_stmt # NONFATAL-NOT: is_stmt
## For minor issues, we can dump the whole table. ## For minor issues, we can dump the whole table.
## Case 7: No end of sequence. ## Case 7: No end of sequence.
# NONFATAL: debug_line[0x0000013d] # NONFATAL: debug_line[0x0000013d]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
# NONFATAL-NOT: debug_line[{{.*}}] # NONFATAL-NOT: debug_line[{{.*}}]
# NONFATAL: 0x00000000deadfade {{.*}} # NONFATAL: 0x00000000deadfade {{.*}}
## Case 8: Very short prologue length for V5 (ends during parameters). ## Case 8: Very short prologue length for V5 (ends during parameters).
# NONFATAL: debug_line[0x00000183] # NONFATAL: debug_line[0x00000183]
# NONFATAL-NEXT: Line table prologue # NONFATAL-NEXT: Line table prologue
## TODO: Add checks here for remaining tables. ## TODO: Add checks here for remaining tables.
# NONFATAL: debug_line[0x00000271] # NONFATAL: debug_line[0x00000271]
# NONFATAL-NOT: debug_line[{{.*}}] # NONFATAL-NOT: debug_line[{{.*}}]
# NONFATAL: 0x00000000cafebabe {{.*}} end_sequence # NONFATAL: 0x00000000cafebabe {{.*}} end_sequence
# NONFATAL-NOT: debug_line[{{.*}}] # NONFATAL-NOT: debug_line[{{.*}}]
# LASTONLY-NOT: debug_line[{{.*}}] # LASTONLY-NOT: debug_line[{{.*}}]
# LASTONLY: debug_line[0x00000271] # LASTONLY: debug_line[0x00000271]
# LASTONLY: 0x00000000cafebabe {{.*}} end_sequence # LASTONLY: 0x00000000cafebabe {{.*}} end_sequence
# RESERVED: warning: parsing line table prologue at offset 0x00000048 unsupported reserved unit length found of value 0xfffffffe # RESERVED: warning: parsing line table prologue at offset 0x00000048 unsupported reserved unit length found of value 0xfffffffe
# MD5: warning: parsing line table prologue at 0x00000000 found an invalid directory or file table description at 0x0000003b # ALL-NOT: warning:
# MD5-NEXT: warning: failed to parse file entry because the MD5 hash is invalid # ALL: warning: parsing line table prologue at offset 0x00000048 found unsupported version 0x00
# ALL-NEXT: warning: parsing line table prologue at offset 0x0000004e found unsupported version 0x01
# ALL-NOT: warning: # ALL-NEXT: warning: parsing line table prologue at 0x00000054 found an invalid directory or file table description at 0x00000073
# ALL: warning: parsing line table prologue at offset 0x00000048 found unsupported version 0x00 # ALL-NEXT: warning: failed to parse entry content descriptions because no path was found
# ALL-NEXT: warning: parsing line table prologue at offset 0x0000004e found unsupported version 0x01 # FIXME - The latter offset in the next line should be 0xad. The filename parsing code does not notice a missing terminating byte.
# ALL-NEXT: warning: parsing line table prologue at 0x00000054 found an invalid directory or file table description at 0x00000073 # ALL-NEXT: warning: parsing line table prologue at 0x00000073 should have ended at 0x000000ab but it ended at 0x000000ac
# ALL-NEXT: warning: failed to parse entry content descriptions because no path was found # ALL-NEXT: warning: parsing line table prologue at 0x000000ad should have ended at 0x000000e8 but it ended at 0x000000e7
# FIXME - The latter offset in the next line should be 0xad. The filename parsing code does not notice a missing terminating byte. # OTHER-NEXT: warning: unexpected line op length at offset 0x0000012e expected 0x02 found 0x01
# ALL-NEXT: warning: parsing line table prologue at 0x00000073 should have ended at 0x000000ab but it ended at 0x000000ac # OTHER-NEXT: warning: last sequence in debug line table is not terminated!
# ALL-NEXT: warning: parsing line table prologue at 0x000000ad should have ended at 0x000000e8 but it ended at 0x000000e7 # ALL-NEXT: warning: parsing line table prologue at 0x00000183 found an invalid directory or file table description at 0x000001a2
# OTHER-NEXT: warning: unexpected line op length at offset 0x0000012e expected 0x02 found 0x01 # ALL-NEXT: warning: failed to parse entry content descriptions at offset 0x000001a2 because offset extends beyond the prologue end at offset 0x0000019e
# OTHER-NEXT: warning: last sequence in debug line table is not terminated! # ALL-NEXT: warning: parsing line table prologue at 0x000001be found an invalid directory or file table description at 0x000001eb
# ALL-NEXT: warning: parsing line table prologue at 0x00000183 found an invalid directory or file table description at 0x000001a2 # ALL-NEXT: warning: failed to parse file entry at offset 0x000001eb because offset extends beyond the prologue end at offset 0x000001e9
# ALL-NEXT: warning: failed to parse entry content descriptions at offset 0x000001a2 because offset extends beyond the prologue end at offset 0x0000019e # ALL-NEXT: warning: parsing line table prologue at 0x000001f9 found an invalid directory or file table description at 0x0000021b
# ALL-NEXT: warning: parsing line table prologue at 0x000001be found an invalid directory or file table description at 0x000001eb # ALL-NEXT: warning: failed to parse directory entry at offset 0x0000021b because offset extends beyond the prologue end at offset 0x0000021b
# ALL-NEXT: warning: failed to parse file entry at offset 0x000001eb because offset extends beyond the prologue end at offset 0x000001e9 # ALL-NEXT: warning: parsing line table prologue at 0x00000234 found an invalid directory or file table description at 0x00000269
# ALL-NEXT: warning: parsing line table prologue at 0x000001f9 found an invalid directory or file table description at 0x0000021b # ALL-NEXT: warning: failed to parse file entry because the MD5 hash is invalid
# ALL-NEXT: warning: failed to parse directory entry at offset 0x0000021b because offset extends beyond the prologue end at offset 0x0000021b # ALL-NOT: warning:
# ALL-NEXT: warning: parsing line table prologue at 0x00000234 found an invalid directory or file table description at 0x00000269
# ALL-NEXT: warning: failed to parse file entry because the MD5 hash is invalid
# ALL-NOT: warning: