Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-ar / thin-archive.test
blobfca8e1176234cdb1c72d671e8403481d6914b5b8
1 RUN: rm -rf %t && mkdir -p %t/foo/bar/
3 RUN: yaml2obj %S/Inputs/elf.yaml -o %t/foo/elf.o
4 RUN: cp %t/foo/elf.o %t/foo/bar/elf.o
5 RUN: cp %t/foo/bar/elf.o %t/delete.o
7 Test that modules can be added with absolute paths when the archive is created using an absolute path
9 RUN: llvm-ar rTc %t/absolute-1.ar %t/foo/elf.o %t/delete.o %t/foo/bar/elf.o
10 RUN: llvm-ar dT %t/absolute-1.ar delete.o
12 RUN: FileCheck -input-file=%t/absolute-1.ar --check-prefixes=THIN,CHECK %s -DPATH=%/t/
13 RUN: llvm-ar t %t/absolute-1.ar | FileCheck %s -DPATH=%/t/
15 These tests must be run in %t/foo. cd %t is included on each line to make debugging this test case easier.
17 Test that modules can be added with absolute paths when the archive is created using a relative path
19 RUN: cd %t/foo && llvm-ar rTc bar/absolute-2.ar %t/foo/elf.o %t/delete.o %t/foo/bar/elf.o
20 RUN: cd %t/foo && llvm-ar dT bar/absolute-2.ar %t/delete.o
22 RUN: FileCheck -input-file=%t/foo/bar/absolute-2.ar --check-prefixes=THIN,CHECK %s -DPATH=%/t/
23 RUN: llvm-ar t %t/foo/bar/absolute-2.ar | FileCheck %s -DPATH=%/t/
25 Test that modules can be added with relative paths when the archive is created using a relative path
27 RUN: cd %t/foo && llvm-ar rTc ../relative-1.ar elf.o ../delete.o bar/elf.o
28 RUN: cd %t/foo && llvm-ar dT ../relative-1.ar delete.o
30 RUN: FileCheck -input-file=%t/relative-1.ar --check-prefixes=THIN,CHECK %s -DPATH=
31 RUN: llvm-ar t %t/relative-1.ar | FileCheck %s -DPATH=%/t/
33 Test that modules can be added with relative paths when the archive is created using a absolute path
35 RUN: cd %t/foo && llvm-ar rTc %t/relative-2.ar elf.o ../delete.o bar/elf.o
36 RUN: cd %t/foo && llvm-ar dT %t/relative-2.ar delete.o
38 RUN: FileCheck -input-file=%t/relative-2.ar --check-prefixes=THIN,CHECK %s -DPATH=
39 RUN: llvm-ar t %t/relative-2.ar | FileCheck %s -DPATH=%/t/
41 THIN: !<thin>
43 CHECK-NOT: delete.o
44 CHECK: {{^}}[[PATH]]foo/elf.o
45 CHECK: {{^}}[[PATH]]foo/bar/elf.o