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