[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / tools / llvm-ar / mri-delete.test
blob37dc5a22835709c9aba9da92b8353507489f99ed
1 # RUN: rm -rf %t && split-file %s %t
2 # RUN: cd %t
4 # RUN: yaml2obj %S/Inputs/elf.yaml -o elf.o
5 # RUN: llvm-ar -rc elf.a elf.o text.txt
6 # RUN: llvm-ar -rc --thin thin-elf.a elf.o text.txt
8 ## Basic delete.
9 # RUN: llvm-ar -M < delete.mri
10 # RUN: llvm-ar tv delete.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
12 # DELETE: text.txt
14 ## Delete so the archive is empty.
15 # RUN: llvm-ar -M < empty.mri
16 # RUN: llvm-ar tv empty.ar | FileCheck %s --check-prefixes=EMPTY --allow-empty
18 # EMPTY-NOT: elf.o
20 ## Attempt to delete a file that is not in the archive.
21 # RUN: llvm-ar -M < bad.mri
22 # RUN: llvm-ar tv bad.ar | FileCheck %s --check-prefixes=BOTH
24 ## Delete operation in a script with comments.
25 # RUN: llvm-ar -M < comment.mri
26 # RUN: llvm-ar tv comment.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
28 ## Add a file that has been deleted.
29 # RUN: llvm-ar -M < re-add.mri
30 # RUN: llvm-ar tv re-add.ar | FileCheck %s --check-prefixes=BOTH
32 # BOTH-DAG: text.txt
33 # BOTH-DAG: elf.o
35 ## Add the same file twice and delete them. It is expected behaviour
36 ## that one delete command deletes all matching members.
37 # RUN: llvm-ar -M < duplicate.mri
38 # RUN: llvm-ar tv duplicate.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
40 ## Add and delete the same file twice.
41 # RUN: llvm-ar -M < duplicate-re-add.mri
42 # RUN: llvm-ar tv duplicate-re-add.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
44 ## Attempt to delete the same file twice.
45 # RUN: llvm-ar -M < extra-delete.mri
46 # RUN: llvm-ar tv extra-delete.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
48 ## Add the same file to a thin archive twice.
49 # RUN: llvm-ar -M < thin-duplicate.mri
50 # RUN: llvm-ar tv thin-duplicate.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
52 ## Delete a file after it was added via ADDLIB.
53 # RUN: llvm-ar -M < addlib.mri
54 # RUN: llvm-ar tv addlib.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
56 ## Attempt to delete an archive after it was added via ADDLIB.
57 # RUN: llvm-ar -M < addlib-deletelib.mri
58 # RUN: llvm-ar tv addlib-deletelib.ar | FileCheck %s --check-prefixes=BOTH
60 ## Add the same archive twice to a thin archive and then delete some members.
61 # RUN: llvm-ar -M < addlib-thin-duplicate.mri
62 # RUN: llvm-ar tv addlib-thin-duplicate.ar | FileCheck %s --check-prefixes=DELETE --implicit-check-not=elf.o
64 #--- text.txt
65 I AM A TEXT FILE
67 #--- delete.mri
68 create delete.ar
69 addmod text.txt
70 addmod elf.o
71 delete elf.o
72 save
73 end
75 #--- empty.mri
76 create empty.ar
77 addmod elf.o
78 delete elf.o
79 save
80 end
82 #--- bad.mri
83 create bad.ar
84 addmod text.txt
85 addmod elf.o
86 delete bad.o
87 save
88 end
90 #--- comment.mri
91 create comment.ar
92 addmod elf.o
93 ; comment
94 addmod text.txt
95  ;comment
96 delete elf.o
97 * comment
98 save
99  *comment
102 #--- re-add.mri
103 create re-add.ar
104 addmod elf.o
105 addmod text.txt
106 delete elf.o
107 addmod elf.o
108 save
111 #--- duplicate.mri
112 create duplicate.ar
113 addmod elf.o
114 addmod elf.o
115 addmod text.txt
116 delete elf.o
117 save
120 #--- duplicate-re-add.mri
121 create duplicate-re-add.ar
122 addmod elf.o
123 delete elf.o
124 addmod text.txt
125 addmod elf.o
126 delete elf.o
127 save
130 #--- extra-delete.mri
131 create extra-delete.ar
132 addmod elf.o
133 addmod text.txt
134 delete elf.o
135 delete elf.o
136 save
139 #--- thin-duplicate.mri
140 createthin thin-duplicate.ar
141 addmod elf.o
142 addmod elf.o
143 addmod text.txt
144 delete elf.o
145 save
148 #--- addlib.mri
149 create addlib.ar
150 addlib elf.a
151 delete elf.o
152 save
155 #--- addlib-deletelib.mri
156 create addlib-deletelib.ar
157 addlib elf.a
158 delete elf.a
159 save
162 #--- addlib-thin-duplicate.mri
163 createthin addlib-thin-duplicate.ar
164 addlib thin-elf.a
165 addlib thin-elf.a
166 delete elf.o
167 save