diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-elfabi/binary-read-arch.test | 15 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-elfabi/fail-file-open.test | 5 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-elfabi/read-unsupported-file.test | 7 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-elfabi/replace-soname-tbe.test | 16 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-elfabi/tbe-emits-current-version.test | 13 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-elfabi/tbe-read-basic.test | 25 |
7 files changed, 82 insertions, 0 deletions
diff --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt index b39086a4e9d..d2b2b8d1164 100644 --- a/llvm/test/CMakeLists.txt +++ b/llvm/test/CMakeLists.txt @@ -61,6 +61,7 @@ set(LLVM_TEST_DEPENDS dsymutil llvm-dwarfdump llvm-dwp + llvm-elfabi llvm-exegesis llvm-extract llvm-isel-fuzzer diff --git a/llvm/test/tools/llvm-elfabi/binary-read-arch.test b/llvm/test/tools/llvm-elfabi/binary-read-arch.test new file mode 100644 index 00000000000..ecb2fb81446 --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/binary-read-arch.test @@ -0,0 +1,15 @@ +# RUN: yaml2obj %s > %t +# RUN: llvm-elfabi %t --emit-tbe=- | FileCheck %s + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_DYN + Machine: EM_X86_64 + +# CHECK: --- !tapi-tbe +# CHECK-NEXT: TbeVersion: {{[1-9]\d*\.(0|([1-9]\d*))}} +# CHECK-NEXT: Arch: x86_64 +# CHECK-NEXT: Symbols: {} +# CHECK-NEXT: ... diff --git a/llvm/test/tools/llvm-elfabi/fail-file-open.test b/llvm/test/tools/llvm-elfabi/fail-file-open.test new file mode 100644 index 00000000000..b4019af9feb --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/fail-file-open.test @@ -0,0 +1,5 @@ +# RUN: not llvm-elfabi %s.NotAFileInTestingDir --emit-tbe=%t 2>&1 | FileCheck %s + +This file will not be read. An invalid file path is fed to llvm-elfabi. + +# CHECK: error: Could not open `{{.*}}.NotAFileInTestingDir` diff --git a/llvm/test/tools/llvm-elfabi/read-unsupported-file.test b/llvm/test/tools/llvm-elfabi/read-unsupported-file.test new file mode 100644 index 00000000000..4ebe1bcc6d4 --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/read-unsupported-file.test @@ -0,0 +1,7 @@ +# RUN: not llvm-elfabi %s --emit-tbe=%t 2>&1 | FileCheck %s + +This is just some text that cannot be read by llvm-elfabi. + +# CHECK: The file was not recognized as a valid object file +# CHECK: YAML failed reading as TBE +# CHECK: No file readers succeeded reading `{{.*}}` (unsupported/malformed file?) diff --git a/llvm/test/tools/llvm-elfabi/replace-soname-tbe.test b/llvm/test/tools/llvm-elfabi/replace-soname-tbe.test new file mode 100644 index 00000000000..71d50a83b83 --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/replace-soname-tbe.test @@ -0,0 +1,16 @@ +# RUN: yaml2obj %s > %t +# RUN: llvm-elfabi %t --emit-tbe=- --soname=best.so | FileCheck %s + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_DYN + Machine: EM_AARCH64 + +# CHECK: --- !tapi-tbe +# CHECK-NEXT: TbeVersion: {{[1-9]\d*\.(0|([1-9]\d*))}} +# CHECK-NEXT: SoName: best.so +# CHECK-NEXT: Arch: AArch64 +# CHECK-NEXT: Symbols: {} +# CHECK-NEXT: ... diff --git a/llvm/test/tools/llvm-elfabi/tbe-emits-current-version.test b/llvm/test/tools/llvm-elfabi/tbe-emits-current-version.test new file mode 100644 index 00000000000..12a5476175a --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/tbe-emits-current-version.test @@ -0,0 +1,13 @@ +# RUN: llvm-elfabi %s --emit-tbe=- | FileCheck %s + +--- !tapi-tbe +TbeVersion: 1.0 +Arch: AArch64 +Symbols: {} +... + +# As the tbe reader/writer is updated, update this check to ensure --emit-tbe +# uses the latest tbe writer by default. + +# CHECK: --- !tapi-tbe +# CHECK-NEXT: TbeVersion: 1.0 diff --git a/llvm/test/tools/llvm-elfabi/tbe-read-basic.test b/llvm/test/tools/llvm-elfabi/tbe-read-basic.test new file mode 100644 index 00000000000..1599f5a891e --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/tbe-read-basic.test @@ -0,0 +1,25 @@ +# RUN: llvm-elfabi %s --emit-tbe=- | FileCheck %s + +--- !tapi-tbe +SoName: somelib.so +TbeVersion: 1.0 +Arch: x86_64 +Symbols: + foo: { Type: Func } + bar: { Type: Object, Size: 42 } + baz: { Type: Object, Size: 8 } + not: { Type: Object, Undefined: true, Size: 128 } + nor: { Type: Func, Undefined: true } +... + +# CHECK: --- !tapi-tbe +# CHECK-NEXT: TbeVersion: {{[1-9]\d*\.(0|([1-9]\d*))}} +# CHECK-NEXT: SoName: somelib.so +# CHECK-NEXT: Arch: x86_64 +# CHECK-NEXT: Symbols: +# CHECK-NEXT: bar: { Type: Object, Size: 42 } +# CHECK-NEXT: baz: { Type: Object, Size: 8 } +# CHECK-NEXT: foo: { Type: Func } +# CHECK-NEXT: nor: { Type: Func, Undefined: true } +# CHECK-NEXT: not: { Type: Object, Size: 128, Undefined: true } +# CHECK-NEXT: ... |

