diff options
Diffstat (limited to 'test/Object/archive-extract.test')
-rw-r--r-- | test/Object/archive-extract.test | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/Object/archive-extract.test b/test/Object/archive-extract.test new file mode 100644 index 0000000..a77adf2 --- /dev/null +++ b/test/Object/archive-extract.test @@ -0,0 +1,56 @@ +; This test just makes sure that llvm-ar can extract bytecode members +; from various style archives. + +; RUN: cd %T + +; RUN: rm -f very_long_bytecode_file_name.bc +; RUN: llvm-ar p %p/Inputs/GNU.a very_long_bytecode_file_name.bc | \ +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - +; RUN: llvm-ar x %p/Inputs/GNU.a very_long_bytecode_file_name.bc +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ +; RUN: very_long_bytecode_file_name.bc + +; RUN: rm -f very_long_bytecode_file_name.bc +; RUN: llvm-ar p %p/Inputs/MacOSX.a very_long_bytecode_file_name.bc | \ +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - +; RUN: llvm-ar x %p/Inputs/MacOSX.a very_long_bytecode_file_name.bc +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ +; RUN: very_long_bytecode_file_name.bc + +; RUN: rm -f very_long_bytecode_file_name.bc +; RUN: llvm-ar p %p/Inputs/SVR4.a very_long_bytecode_file_name.bc | \ +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - +; RUN: llvm-ar x %p/Inputs/SVR4.a very_long_bytecode_file_name.bc +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ +; RUN: very_long_bytecode_file_name.bc + +; RUN: rm -f very_long_bytecode_file_name.bc +; RUN: llvm-ar p %p/Inputs/xpg4.a very_long_bytecode_file_name.bc |\ +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc - +; RUN: llvm-ar x %p/Inputs/xpg4.a very_long_bytecode_file_name.bc +; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \ +; RUN: very_long_bytecode_file_name.bc + + +; Test that the 'o' option is working by extracting a file, putting it in o +; new archive and checking that date. +; RUN: rm -f very_long_bytecode_file_name.bc +; RUN: llvm-ar xo %p/Inputs/GNU.a very_long_bytecode_file_name.bc +; RUN: rm -f %t.a +; RUN: llvm-ar rcU %t.a very_long_bytecode_file_name.bc +; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s + +CHECK: 1465 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc + + +RUN: not llvm-ar x %p/Inputs/GNU.a foo.o 2>&1 | FileCheck --check-prefix=NOTFOUND %s +NOTFOUND: foo.o was not found + +RUN: not llvm-ar x %p/Inputs/thin.a foo.o 2>&1 | FileCheck %s --check-prefix=THINEXTRACT +THINEXTRACT: extracting from a thin archive is not supported + +RUN: llvm-ar p %p/Inputs/thin.a evenlen | FileCheck %s --check-prefix=EVENLEN +EVENLEN: evenlen + +RUN: not llvm-ar p %p/Inputs/thin-path.a t/test2.o | FileCheck %s --check-prefix=MISSING +MISSING: No such file or directory. |