blob: 3f33ff6ab8a1c5b0e32df1f077d3d2bc0a7f7359 [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
Stephen Tozer19bb1d52019-04-15 11:17:48 +00003ENOENT: '{{.*}}.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
Stephen Tozer19bb1d52019-04-15 11:17:48 +00008EMPTY: '{{.*}}.empty': The file was not recognized as a valid object file
James Henderson6561a822019-02-21 11:00:29 +00009
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.
Georgii Rymardbf520f2019-12-09 17:01:29 +030017RUN: llvm-readobj %p/ELF/Inputs/trivial.obj.elf-x86-64 | FileCheck --check-prefix=HEADER %s
18RUN: llvm-readelf %p/ELF/Inputs/trivial.obj.elf-x86-64 | FileCheck --check-prefix=NO-OUTPUT --allow-empty %s
James Henderson6561a822019-02-21 11:00:29 +000019HEADER: 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
Ilya Biryukov411a55f2019-02-21 14:51:17 +000031# In default configuration we could match "LLVM version", but the "LLVM" part
32# can be changed with PACKAGE_NAME in CMake, so we match only version.
33VERSION: version
James Henderson6561a822019-02-21 11:00:29 +000034
35# Test help switch.
James Henderson9485b262019-06-21 11:49:20 +000036RUN: llvm-readobj --help | FileCheck %s --check-prefixes=HELP,OBJ
37RUN: llvm-readelf --help | FileCheck %s --check-prefixes=HELP,ELF
James Henderson6561a822019-02-21 11:00:29 +000038HELP: OVERVIEW: LLVM Object Reader
James Henderson9485b262019-06-21 11:49:20 +000039OBJ: llvm-readobj{{.*}} [options] <input object files>
40ELF: llvm-readelf{{.*}} [options] <input object files>
41HELP: OPTIONS:
42OBJ: -s - Alias for --section-headers
43OBJ: -t - Alias for --symbols
44ELF: -s - Alias for --symbols
45ELF-NOT: {{ }}-t{{ }}
46HELP: @FILE