| ## This test shows that the name of the file is printed under the right |
| ## circumstances and with the correct formatting for object inputs. |
| |
| # RUN: yaml2obj %s -o %t1 |
| # RUN: cp %t1 %t2 |
| |
| ## Show that the file name is not printed for a single input for GNU output. |
| # RUN: llvm-readelf --file-headers %t1 \ |
| # RUN: | FileCheck %s --implicit-check-not=File: --check-prefix=GNU-SINGLE |
| |
| ## Show that the very first line of the output is the one with "ELF Header" on. |
| # GNU-SINGLE: {{^}} |
| # GNU-SINGLE-SAME: ELF Header: |
| |
| ## Show that the file names are printed for all inputs for GNU output. |
| # RUN: llvm-readelf --file-headers %t1 %t2 \ |
| # RUN: | FileCheck %s --check-prefixes=NAME1,GNU,NAME2 -DFILE1=%t1 -DFILE2=%t2 |
| |
| ## Show that the file name is printed for a single input for LLVM output. |
| # RUN: llvm-readobj --file-headers %t1 | FileCheck %s --check-prefix=NAME1 -DFILE1=%t1 |
| |
| ## Show that the file name is printed with correct spacing for multiple inputs |
| ## with LLVM output. |
| # RUN: llvm-readobj --file-headers %t1 %t2 \ |
| # RUN: | FileCheck %s --check-prefixes=NAME1,LLVM,NAME2 -DFILE1=%t1 -DFILE2=%t2 |
| |
| ## The very first line should be blank. CHECK-EMPTY isn't allowed on the first line. |
| # NAME1: {{^$}} |
| # NAME1-NEXT: {{^}}File: [[FILE1]]{{$}} |
| |
| # GNU: Section header string table index: |
| # LLVM: StringTableSectionIndex: |
| # LLVM-NEXT: } |
| # NAME2-EMPTY: |
| # NAME2-NEXT: {{^}}File: [[FILE2]]{{$}} |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |