1*9880d681SAndroid Build Coastguard Worker; This test just makes sure that llvm-ar can extract bytecode members 2*9880d681SAndroid Build Coastguard Worker; from various style archives. 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; RUN: cd %T 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; RUN: rm -f very_long_bytecode_file_name.bc 7*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar p %p/Inputs/GNU.a very_long_bytecode_file_name.bc | \ 8*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - 9*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar x %p/Inputs/GNU.a very_long_bytecode_file_name.bc 10*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ 11*9880d681SAndroid Build Coastguard Worker; RUN: very_long_bytecode_file_name.bc 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker; RUN: rm -f very_long_bytecode_file_name.bc 14*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar p %p/Inputs/MacOSX.a very_long_bytecode_file_name.bc | \ 15*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - 16*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar x %p/Inputs/MacOSX.a very_long_bytecode_file_name.bc 17*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ 18*9880d681SAndroid Build Coastguard Worker; RUN: very_long_bytecode_file_name.bc 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker; RUN: rm -f very_long_bytecode_file_name.bc 21*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar p %p/Inputs/SVR4.a very_long_bytecode_file_name.bc | \ 22*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - 23*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar x %p/Inputs/SVR4.a very_long_bytecode_file_name.bc 24*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ 25*9880d681SAndroid Build Coastguard Worker; RUN: very_long_bytecode_file_name.bc 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker; RUN: rm -f very_long_bytecode_file_name.bc 28*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar p %p/Inputs/xpg4.a very_long_bytecode_file_name.bc |\ 29*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - 30*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar x %p/Inputs/xpg4.a very_long_bytecode_file_name.bc 31*9880d681SAndroid Build Coastguard Worker; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ 32*9880d681SAndroid Build Coastguard Worker; RUN: very_long_bytecode_file_name.bc 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker; Test that the 'o' option is working by extracting a file, putting it in o 36*9880d681SAndroid Build Coastguard Worker; new archive and checking that date. 37*9880d681SAndroid Build Coastguard Worker; RUN: rm -f very_long_bytecode_file_name.bc 38*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar xo %p/Inputs/GNU.a very_long_bytecode_file_name.bc 39*9880d681SAndroid Build Coastguard Worker; RUN: rm -f %t.a 40*9880d681SAndroid Build Coastguard Worker; RUN: llvm-ar rcU %t.a very_long_bytecode_file_name.bc 41*9880d681SAndroid Build Coastguard Worker; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard WorkerCHECK: 1465 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard WorkerRUN: not llvm-ar x %p/Inputs/GNU.a foo.o 2>&1 | FileCheck --check-prefix=NOTFOUND %s 47*9880d681SAndroid Build Coastguard WorkerNOTFOUND: foo.o was not found 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard WorkerRUN: not llvm-ar x %p/Inputs/thin.a foo.o 2>&1 | FileCheck %s --check-prefix=THINEXTRACT 50*9880d681SAndroid Build Coastguard WorkerTHINEXTRACT: extracting from a thin archive is not supported 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard WorkerRUN: llvm-ar p %p/Inputs/thin.a evenlen | FileCheck %s --check-prefix=EVENLEN 53*9880d681SAndroid Build Coastguard WorkerEVENLEN: evenlen 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard WorkerRUN: not llvm-ar p %p/Inputs/thin-path.a t/test2.o | FileCheck %s --check-prefix=MISSING 56*9880d681SAndroid Build Coastguard WorkerMISSING: {{N|n}}o such file or directory. 57