llvm-6502/test/Object/archive-format.test
Rafael Espindola 167af8c16c llvm-ar: Don't write the directory in the string table.
We were already doing the right thing for short file names, but not long
ones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242354 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15 23:15:33 +00:00

50 lines
1.8 KiB
Plaintext

Test the exact archive format. In particular, test which file names use the
string table or not.
RUN: mkdir -p %t
RUN: cd %t
RUN: echo -n bar. > 0123456789abcde
RUN: echo -n zed. > 0123456789abcdef
RUN: mkdir -p foo
RUN: echo -n bar2 > foo/0123456789abcde
RUN: echo -n zed2 > foo/0123456789abcdef
RUN: rm -f %t.a
RUN: llvm-ar --format=gnu rc %t.a 0123456789abcde 0123456789abcdef foo/0123456789abcde foo/0123456789abcdef
RUN: cat %t.a | FileCheck -strict-whitespace %s
CHECK: !<arch>
CHECK-NEXT: // 36 `
CHECK-NEXT: 0123456789abcdef/
CHECK-NEXT: 0123456789abcdef/
CHECK-NEXT: 0123456789abcde/0 0 0 644 4 `
CHECK-NEXT: bar.
CHECK-SAME: /0 0 0 0 644 4 `
CHECK-NEXT: zed.
CHECK-SAME: 0123456789abcde/0 0 0 644 4 `
CHECK-NEXT: bar2
CHECK-SAME: /18 0 0 0 644 4 `
CHECK-NEXT: zed2
RUN: rm -f %t.a
RUN: llvm-ar --format=bsd rc %t.a 0123456789abcde 0123456789abcdef
RUN: cat %t.a | FileCheck -strict-whitespace --check-prefix=BSD %s
BSD: !<arch>
BSD-NEXT: #1/20 0 0 0 644 24 `
BSD-NEXT: 0123456789abcde{{.....}}bar.
BSD-SAME: #1/16 0 0 0 644 20 `
BSD-NEXT: 0123456789abcdefzed.
RUN: rm -f %t.a
RUN: llvm-ar --format=gnu rcT %t.a 0123456789abcde 0123456789abcdef
RUN: cat %t.a | FileCheck -strict-whitespace --check-prefix=THIN %s
THIN: !<thin>
THIN-NEXT: // 36 `
THIN-NEXT: 0123456789abcde/
THIN-NEXT: 0123456789abcdef/{{$}}
THIN: {{^$}}
THIN: /0 0 0 0 644 4 `
THIN-NEXT: /17 0 0 0 644 4 `