Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-ar / move-before.test
blob15e27359d0e40d5f161dd8ffd9091d5c8005b71d
1 ## Test moving files after a file.
3 RUN: touch %t1.txt
4 RUN: touch %t2.txt
5 RUN: touch %t3.txt
6 RUN: touch %t4.txt
8 # Move one file:
9 RUN: rm -f %t-one.a
10 RUN: llvm-ar rc %t-one.a %t1.txt %t2.txt %t3.txt
11 RUN: llvm-ar mb %t2.txt %t-one.a %t3.txt
12 RUN: llvm-ar t %t-one.a | FileCheck %s --check-prefix=ONE
14 ONE:      1.txt
15 ONE-NEXT: 3.txt
16 ONE-NEXT: 2.txt
18 # Move file to front:
19 RUN: rm -f %t-front.a
20 RUN: llvm-ar rc %t-front.a %t1.txt %t2.txt %t3.txt
21 RUN: llvm-ar mb %t1.txt %t-front.a %t3.txt
22 RUN: llvm-ar t %t-front.a | FileCheck %s --check-prefix=FRONT
24 FRONT:      3.txt
25 FRONT-NEXT: 1.txt
26 FRONT-NEXT: 2.txt
28 # Move multiple files:
29 RUN: rm -f %t-multiple.a
30 RUN: llvm-ar rc %t-multiple.a %t1.txt %t2.txt %t3.txt %t4.txt
31 RUN: llvm-ar mb %t2.txt %t-multiple.a %t4.txt %t3.txt
32 RUN: llvm-ar t %t-multiple.a | FileCheck %s --check-prefix=MULTIPLE
34 MULTIPLE:      1.txt
35 MULTIPLE-NEXT: 3.txt
36 MULTIPLE-NEXT: 4.txt
37 MULTIPLE-NEXT: 2.txt
39 # Move before invalid file:
40 RUN: rm -f %t-invalid.a
41 RUN: llvm-ar rc %t-invalid.a %t1.txt %t2.txt %t3.txt
42 RUN: not llvm-ar mb invalid.txt %t-invalid.a %t2.txt 2>&1 \
43 RUN:   | FileCheck %s --check-prefix=ERROR
44 RUN: llvm-ar t %t-invalid.a | FileCheck %s --check-prefix=INVALID
46 ERROR: error: Insertion point not found.
47 INVALID:      1.txt
48 INVALID-NEXT: 2.txt
49 INVALID-NEXT: 3.txt
51 # Move file to the same position:
52 RUN: rm -f %t-position.a
53 RUN: llvm-ar rc %t-position.a %t1.txt %t2.txt %t3.txt
54 RUN: llvm-ar mb %t3.txt %t-position.a %t2.txt
55 RUN: llvm-ar t %t-position.a | FileCheck %s --check-prefix=POSITION
57 POSITION:      1.txt
58 POSITION-NEXT: 2.txt
59 POSITION-NEXT: 3.txt
61 # Move file after itself:
62 RUN: rm -f %t-same.a
63 RUN: llvm-ar rc %t-same.a %t1.txt %t2.txt %t3.txt
64 RUN: llvm-ar mb %t2.txt %t-same.a %t2.txt
65 RUN: llvm-ar t %t-same.a | FileCheck %s --check-prefix=SAME
67 SAME:      1.txt
68 SAME-NEXT: 2.txt
69 SAME-NEXT: 3.txt