Silencing an MSVC C4334 warning ('<<' : result of 32-bit shift implicitly converted...
[oota-llvm.git] / test / Object / extract.ll
index ab2bcc624bf2e883d81177ab0f12204ef4549f57..a4e76499ca6c993421dd6236bb895871e669a20c 100644 (file)
@@ -3,14 +3,45 @@
 ; This test just makes sure that llvm-ar can extract bytecode members
 ; from various style archives.
 
+; REQUIRES: shell
+
+; 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 rc %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