1*9880d681SAndroid Build Coastguard WorkerTest the exact archive format. In particular, test which file names use the 2*9880d681SAndroid Build Coastguard Workerstring table or not. 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard WorkerRUN: mkdir -p %t 5*9880d681SAndroid Build Coastguard WorkerRUN: cd %t 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard WorkerRUN: echo -n bar. > 0123456789abcde 8*9880d681SAndroid Build Coastguard WorkerRUN: echo -n zed. > 0123456789abcdef 9*9880d681SAndroid Build Coastguard WorkerRUN: mkdir -p foo 10*9880d681SAndroid Build Coastguard WorkerRUN: echo -n bar2 > foo/0123456789abcde 11*9880d681SAndroid Build Coastguard WorkerRUN: echo -n zed2 > foo/0123456789abcdef 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard WorkerRUN: rm -f %t.a 14*9880d681SAndroid Build Coastguard WorkerRUN: llvm-ar --format=gnu rc %t.a 0123456789abcde 0123456789abcdef foo/0123456789abcde foo/0123456789abcdef 15*9880d681SAndroid Build Coastguard WorkerRUN: cat %t.a | FileCheck -strict-whitespace %s 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard WorkerCHECK: !<arch> 18*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: // 36 ` 19*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: 0123456789abcdef/ 20*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: 0123456789abcdef/ 21*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: 0123456789abcde/0 0 0 644 4 ` 22*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: bar. 23*9880d681SAndroid Build Coastguard WorkerCHECK-SAME: /0 0 0 0 644 4 ` 24*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: zed. 25*9880d681SAndroid Build Coastguard WorkerCHECK-SAME: 0123456789abcde/0 0 0 644 4 ` 26*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: bar2 27*9880d681SAndroid Build Coastguard WorkerCHECK-SAME: /18 0 0 0 644 4 ` 28*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: zed2 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard WorkerRUN: rm -f %t.a 31*9880d681SAndroid Build Coastguard WorkerRUN: llvm-ar --format=bsd rc %t.a 0123456789abcde 0123456789abcdef 32*9880d681SAndroid Build Coastguard WorkerRUN: cat %t.a | FileCheck -strict-whitespace --check-prefix=BSD %s 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard WorkerBSD: !<arch> 35*9880d681SAndroid Build Coastguard WorkerBSD-NEXT: #1/20 0 0 0 644 24 ` 36*9880d681SAndroid Build Coastguard WorkerBSD-NEXT: 0123456789abcde{{.....}}bar. 37*9880d681SAndroid Build Coastguard WorkerBSD-SAME: #1/16 0 0 0 644 20 ` 38*9880d681SAndroid Build Coastguard WorkerBSD-NEXT: 0123456789abcdefzed. 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard WorkerRUN: rm -f test.a 41*9880d681SAndroid Build Coastguard WorkerRUN: llvm-ar --format=gnu rcT test.a 0123456789abcde 0123456789abcdef 42*9880d681SAndroid Build Coastguard WorkerRUN: cat test.a | FileCheck -strict-whitespace --check-prefix=THIN %s 43*9880d681SAndroid Build Coastguard WorkerTHIN: !<thin> 44*9880d681SAndroid Build Coastguard WorkerTHIN-NEXT: // 36 ` 45*9880d681SAndroid Build Coastguard WorkerTHIN-NEXT: 0123456789abcde/ 46*9880d681SAndroid Build Coastguard WorkerTHIN-NEXT: 0123456789abcdef/{{$}} 47*9880d681SAndroid Build Coastguard WorkerTHIN: {{^$}} 48*9880d681SAndroid Build Coastguard WorkerTHIN: /0 0 0 0 644 4 ` 49*9880d681SAndroid Build Coastguard WorkerTHIN-NEXT: /17 0 0 0 644 4 ` 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard WorkerRUN: mkdir -p bar 52*9880d681SAndroid Build Coastguard WorkerRUN: rm -f bar/test.a 53*9880d681SAndroid Build Coastguard WorkerRUN: llvm-ar --format=gnu rcT bar/test.a 0123456789abcde 0123456789abcdef foo/0123456789abcde foo/0123456789abcdef 54*9880d681SAndroid Build Coastguard WorkerRUN: cat bar/test.a | FileCheck -strict-whitespace --check-prefix=THIN-PATH %s 55*9880d681SAndroid Build Coastguard WorkerTHIN-PATH: !<thin> 56*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: // 90 ` 57*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: ..{{/|\\}}0123456789abcde/ 58*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: ..{{/|\\}}0123456789abcdef/ 59*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: ..{{/|\\}}foo{{/|\\}}0123456789abcde/ 60*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: ..{{/|\\}}foo{{/|\\}}0123456789abcdef/ 61*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: /0 0 0 0 644 4 ` 62*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: /20 0 0 0 644 4 ` 63*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: /41 0 0 0 644 4 ` 64*9880d681SAndroid Build Coastguard WorkerTHIN-PATH-NEXT: /65 0 0 0 644 4 ` 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard WorkerRUN: not llvm-ar --format=bsd rcT bad.a 0123456789abcde 0123456789abcdef 2>&1 | FileCheck --check-prefix=BSD-THIN %s 67*9880d681SAndroid Build Coastguard WorkerBSD-THIN: Only the gnu format has a thin mode. 68