diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-08-07 23:01:33 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-08-07 23:01:33 +0000 |
commit | ee8648bdac07986a0f1ec897b02ec82a2f144d46 (patch) | |
tree | 52d1861acda1205241ee35a94aa63129c604d469 /test/Object/archive-extract.test | |
parent | 1a82d4c088707c791c792f6822f611b47a12bdfe (diff) |
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 0000000000000..a77adf2cabbd0 --- /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. |