2013-07-11 05:47:16 +08:00
|
|
|
; This test just makes sure that llvm-ar can extract bytecode members
|
|
|
|
; from various style archives.
|
|
|
|
|
2017-08-21 02:18:44 +08:00
|
|
|
; RUN: rm -rf %t && mkdir -p %t && cd %t
|
2013-07-11 21:13:09 +08:00
|
|
|
|
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
2013-07-11 05:47:16 +08:00
|
|
|
; 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 -
|
2013-07-11 21:13:09 +08:00
|
|
|
; 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
|
2013-07-11 05:47:16 +08:00
|
|
|
|
2013-07-11 21:13:09 +08:00
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
2013-07-11 05:47:16 +08:00
|
|
|
; 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 -
|
2013-07-11 21:13:09 +08:00
|
|
|
; 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
|
2013-07-11 05:47:16 +08:00
|
|
|
|
2013-07-11 21:13:09 +08:00
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
2013-07-11 05:47:16 +08:00
|
|
|
; 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 -
|
2013-07-11 21:13:09 +08:00
|
|
|
; 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
|
2013-07-11 05:47:16 +08:00
|
|
|
|
2013-07-11 21:13:09 +08:00
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
2013-07-11 05:47:16 +08:00
|
|
|
; 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 -
|
2013-07-11 21:13:09 +08:00
|
|
|
; 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
|
2013-07-13 02:51:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
; 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
|
2014-01-16 15:08:22 +08:00
|
|
|
; RUN: rm -f %t.a
|
2017-02-10 04:06:30 +08:00
|
|
|
; RUN: llvm-ar -format gnu rcU %t.a very_long_bytecode_file_name.bc
|
|
|
|
; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s -check-prefix CHECK-GNU
|
2013-07-13 02:51:25 +08:00
|
|
|
|
2017-02-10 04:06:30 +08:00
|
|
|
CHECK-GNU: 1465 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc
|
2015-07-15 00:02:40 +08:00
|
|
|
|
2017-02-10 04:06:30 +08:00
|
|
|
; RUN: rm -f %t.a
|
2017-02-22 04:40:54 +08:00
|
|
|
; RUN: llvm-ar -format darwin rcU %t.a very_long_bytecode_file_name.bc
|
|
|
|
; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s -check-prefix CHECK-DARWIN
|
2017-02-10 04:06:30 +08:00
|
|
|
|
2017-02-22 04:40:54 +08:00
|
|
|
CHECK-DARWIN: 1472 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc
|
2015-07-15 00:02:40 +08:00
|
|
|
|
|
|
|
RUN: not llvm-ar x %p/Inputs/GNU.a foo.o 2>&1 | FileCheck --check-prefix=NOTFOUND %s
|
|
|
|
NOTFOUND: foo.o was not found
|
2015-07-15 00:55:13 +08:00
|
|
|
|
|
|
|
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
|
2015-07-15 06:18:43 +08:00
|
|
|
|
|
|
|
RUN: llvm-ar p %p/Inputs/thin.a evenlen | FileCheck %s --check-prefix=EVENLEN
|
|
|
|
EVENLEN: evenlen
|
|
|
|
|
2017-04-05 22:52:17 +08:00
|
|
|
RUN: not llvm-ar p %p/Inputs/thin-path.a t/test2.o 2>&1 | FileCheck %s --check-prefix=MISSING
|
2015-07-15 06:42:21 +08:00
|
|
|
MISSING: {{N|n}}o such file or directory.
|