diff options
Diffstat (limited to 'llvm/test/tools/llvm-ar/move.test')
| -rw-r--r-- | llvm/test/tools/llvm-ar/move.test | 258 |
1 files changed, 129 insertions, 129 deletions
diff --git a/llvm/test/tools/llvm-ar/move.test b/llvm/test/tools/llvm-ar/move.test index c5028f52e40..268fbf94cf1 100644 --- a/llvm/test/tools/llvm-ar/move.test +++ b/llvm/test/tools/llvm-ar/move.test @@ -1,129 +1,129 @@ -## Test the move command without modifiers moves members to the end
-
-# RUN: rm -rf %t && mkdir -p %t
-# RUN: yaml2obj %s -o %t/1.o --docnum=1
-# RUN: yaml2obj %s -o %t/2.o --docnum=2
-# RUN: yaml2obj %s -o %t/3.o --docnum=3
-
-## Move single member:
-# RUN: llvm-ar rc %t/single.a %t/1.o %t/2.o %t/3.o
-# RUN: llvm-ar m %t/single.a %t/1.o
-# RUN: llvm-ar t %t/single.a \
-# RUN: | FileCheck %s --check-prefix=SINGLE --match-full-lines --implicit-check-not {{.}}
-
-# SINGLE: 2.o
-# SINGLE-NEXT: 3.o
-# SINGLE-NEXT: 1.o
-
-# RUN: llvm-nm --print-armap %t/single.a \
-# RUN: | FileCheck %s --check-prefix=SINGLE-SYM
-
-# SINGLE-SYM: symbol2
-# SINGLE-SYM-NEXT: symbol3
-# SINGLE-SYM-NEXT: symbol1
-
-## Move multiple members:
-# RUN: llvm-ar rc %t/multiple.a %t/1.o %t/2.o %t/3.o
-# RUN: llvm-ar m %t/multiple.a %t/1.o %t/2.o
-# RUN: llvm-ar t %t/multiple.a \
-# RUN: | FileCheck %s --check-prefix=MULTIPLE --match-full-lines --implicit-check-not {{.}}
-
-# MULTIPLE: 3.o
-# MULTIPLE-NEXT: 1.o
-# MULTIPLE-NEXT: 2.o
-
-# RUN: llvm-nm --print-armap %t/multiple.a \
-# RUN: | FileCheck %s --check-prefix=MULTIPLE-SYM
-
-# MULTIPLE-SYM: symbol3
-# MULTIPLE-SYM-NEXT: symbol1
-# MULTIPLE-SYM-NEXT: symbol2
-
-## Move same member:
-# RUN: llvm-ar rc %t/same.a %t/1.o %t/2.o %t/3.o
-# RUN: llvm-ar m %t/same.a %t/1.o %t/1.o
-# RUN: llvm-ar t %t/same.a \
-# RUN: | FileCheck %s --check-prefix=SAME -DFILE=%t/2.o
-
-# SAME: 2.o
-# SAME-NEXT: 3.o
-# SAME-NEXT: 1.o
-
-# RUN: llvm-nm --print-armap %t/same.a \
-# RUN: | FileCheck %s --check-prefix=SAME-SYM
-
-# SAME-SYM: symbol2
-# SAME-SYM-NEXT: symbol3
-# SAME-SYM-NEXT: symbol1
-
-## Move without member:
-# RUN: llvm-ar rc %t/without.a %t/1.o %t/2.o %t/3.o
-# RUN: llvm-ar m %t/without.a
-# RUN: llvm-ar t %t/without.a \
-# RUN: | FileCheck %s --match-full-lines --check-prefix=WITHOUT --implicit-check-not {{.}}
-
-# WITHOUT: 1.o
-# WITHOUT-NEXT: 2.o
-# WITHOUT-NEXT: 3.o
-
-# RUN: llvm-nm --print-armap %t/without.a \
-# RUN: | FileCheck %s --check-prefix=WITHOUT-SYM
-
-# WITHOUT-SYM: symbol1
-# WITHOUT-SYM-NEXT: symbol2
-# WITHOUT-SYM-NEXT: symbol3
-
-## No archive:
-# RUN: not llvm-ar m 2>&1 \
-# RUN: | FileCheck %s --check-prefix=NO-ARCHIVE
-
-# NO-ARCHIVE: error: An archive name must be specified.
-
-## Member does not exist:
-# RUN: llvm-ar rc %t/missing.a %t/1.o %t/2.o %t/3.o
-# RUN: not llvm-ar m %t/missing.a %t/missing.txt 2>&1 \
-# RUN: | FileCheck %s --check-prefix=MISSING-FILE -DFILE=%t/missing.txt
-
-# MISSING-FILE: error: [[FILE]]: {{[nN]}}o such file or directory.
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
-Symbols:
- - Name: symbol1
- Binding: STB_GLOBAL
- Section: .text
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
-Symbols:
- - Name: symbol2
- Binding: STB_GLOBAL
- Section: .text
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
-Symbols:
- - Name: symbol3
- Binding: STB_GLOBAL
- Section: .text
+## Test the move command without modifiers moves members to the end + +# RUN: rm -rf %t && mkdir -p %t +# RUN: yaml2obj %s -o %t/1.o --docnum=1 +# RUN: yaml2obj %s -o %t/2.o --docnum=2 +# RUN: yaml2obj %s -o %t/3.o --docnum=3 + +## Move single member: +# RUN: llvm-ar rc %t/single.a %t/1.o %t/2.o %t/3.o +# RUN: llvm-ar m %t/single.a %t/1.o +# RUN: llvm-ar t %t/single.a \ +# RUN: | FileCheck %s --check-prefix=SINGLE --match-full-lines --implicit-check-not {{.}} + +# SINGLE: 2.o +# SINGLE-NEXT: 3.o +# SINGLE-NEXT: 1.o + +# RUN: llvm-nm --print-armap %t/single.a \ +# RUN: | FileCheck %s --check-prefix=SINGLE-SYM + +# SINGLE-SYM: symbol2 +# SINGLE-SYM-NEXT: symbol3 +# SINGLE-SYM-NEXT: symbol1 + +## Move multiple members: +# RUN: llvm-ar rc %t/multiple.a %t/1.o %t/2.o %t/3.o +# RUN: llvm-ar m %t/multiple.a %t/1.o %t/2.o +# RUN: llvm-ar t %t/multiple.a \ +# RUN: | FileCheck %s --check-prefix=MULTIPLE --match-full-lines --implicit-check-not {{.}} + +# MULTIPLE: 3.o +# MULTIPLE-NEXT: 1.o +# MULTIPLE-NEXT: 2.o + +# RUN: llvm-nm --print-armap %t/multiple.a \ +# RUN: | FileCheck %s --check-prefix=MULTIPLE-SYM + +# MULTIPLE-SYM: symbol3 +# MULTIPLE-SYM-NEXT: symbol1 +# MULTIPLE-SYM-NEXT: symbol2 + +## Move same member: +# RUN: llvm-ar rc %t/same.a %t/1.o %t/2.o %t/3.o +# RUN: llvm-ar m %t/same.a %t/1.o %t/1.o +# RUN: llvm-ar t %t/same.a \ +# RUN: | FileCheck %s --check-prefix=SAME -DFILE=%t/2.o + +# SAME: 2.o +# SAME-NEXT: 3.o +# SAME-NEXT: 1.o + +# RUN: llvm-nm --print-armap %t/same.a \ +# RUN: | FileCheck %s --check-prefix=SAME-SYM + +# SAME-SYM: symbol2 +# SAME-SYM-NEXT: symbol3 +# SAME-SYM-NEXT: symbol1 + +## Move without member: +# RUN: llvm-ar rc %t/without.a %t/1.o %t/2.o %t/3.o +# RUN: llvm-ar m %t/without.a +# RUN: llvm-ar t %t/without.a \ +# RUN: | FileCheck %s --match-full-lines --check-prefix=WITHOUT --implicit-check-not {{.}} + +# WITHOUT: 1.o +# WITHOUT-NEXT: 2.o +# WITHOUT-NEXT: 3.o + +# RUN: llvm-nm --print-armap %t/without.a \ +# RUN: | FileCheck %s --check-prefix=WITHOUT-SYM + +# WITHOUT-SYM: symbol1 +# WITHOUT-SYM-NEXT: symbol2 +# WITHOUT-SYM-NEXT: symbol3 + +## No archive: +# RUN: not llvm-ar m 2>&1 \ +# RUN: | FileCheck %s --check-prefix=NO-ARCHIVE + +# NO-ARCHIVE: error: An archive name must be specified. + +## Member does not exist: +# RUN: llvm-ar rc %t/missing.a %t/1.o %t/2.o %t/3.o +# RUN: not llvm-ar m %t/missing.a %t/missing.txt 2>&1 \ +# RUN: | FileCheck %s --check-prefix=MISSING-FILE -DFILE=%t/missing.txt + +# MISSING-FILE: error: [[FILE]]: {{[nN]}}o such file or directory. + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS +Symbols: + - Name: symbol1 + Binding: STB_GLOBAL + Section: .text + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS +Symbols: + - Name: symbol2 + Binding: STB_GLOBAL + Section: .text + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS +Symbols: + - Name: symbol3 + Binding: STB_GLOBAL + Section: .text |

