blob: 9e67f993c7c191975d8bfd35669d1c1cb0f34cb7 [file] [log] [blame]
James Henderson6561a822019-02-21 11:00:29 +00001# Test case where input file does not exit.
Davide Italiano096cda12015-09-17 22:29:58 +00002RUN: not llvm-readobj %t.blah 2>&1 | FileCheck --check-prefix=ENOENT %s
3ENOENT: {{.*}}.blah: {{[Nn]}}o such file or directory
James Henderson6561a822019-02-21 11:00:29 +00004
5# Test case where input file is too small to be a recognised object file.
6RUN: touch %t.empty
7RUN: not llvm-readobj %t.empty 2>&1 | FileCheck --check-prefix=EMPTY %s
8EMPTY: {{.*}}.empty: The file was not recognized as a valid object file
9
10# Test that unrecognised files in archives are ignored.
11RUN: rm -f %t.a
12RUN: llvm-ar rc %t.a %t.empty
13RUN: llvm-readobj --all %t.a 2>&1 | FileCheck --check-prefix=NO-OUTPUT --allow-empty %s
14NO-OUTPUT-NOT: {{.}}
15
16# Test case where no switches are specified.
17RUN: llvm-readobj %p/Inputs/trivial.obj.elf-x86-64 | FileCheck --check-prefix=HEADER %s
18RUN: llvm-readelf %p/Inputs/trivial.obj.elf-x86-64 | FileCheck --check-prefix=NO-OUTPUT --allow-empty %s
19HEADER: File: {{.*}}trivial.obj.elf-x86-64
20HEADER: Format: ELF64-x86-64
21HEADER: Arch: x86_64
22HEADER: AddressSize: 64bit
23
24# Test case where switch it not recognised.
25RUN: not llvm-readobj --unknown-switch 2>&1 | FileCheck --check-prefix=UNKNOWN %s
26UNKNOWN: Unknown command line argument '--unknown-switch'
27
28# Test version switch.
29RUN: llvm-readobj --version | FileCheck %s --check-prefix=VERSION
30RUN: llvm-readelf --version | FileCheck %s --check-prefix=VERSION
31VERSION: LLVM version
32
33# Test help switch.
34RUN: llvm-readobj --help | FileCheck %s --check-prefixes=HELP,USAGE-OBJ
35RUN: llvm-readelf --help | FileCheck %s --check-prefixes=HELP,USAGE-ELF
36HELP: OVERVIEW: LLVM Object Reader
37USAGE-OBJ: llvm-readobj{{.*}} [options] <input object files>
38USAGE-ELF: llvm-readelf{{.*}} [options] <input object files>