Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 1 | ; This test just makes sure that llvm-ar can extract bytecode members |
| 2 | ; from various style archives. |
| 3 | |
Kuba Mracek | 6965d51 | 2017-08-20 18:18:44 +0000 | [diff] [blame] | 4 | ; RUN: rm -rf %t && mkdir -p %t && cd %t |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 5 | |
| 6 | ; RUN: rm -f very_long_bytecode_file_name.bc |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 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 - |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 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 |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 12 | |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 13 | ; RUN: rm -f very_long_bytecode_file_name.bc |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 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 - |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 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 |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 19 | |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 20 | ; RUN: rm -f very_long_bytecode_file_name.bc |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 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 - |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 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 |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 26 | |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 27 | ; RUN: rm -f very_long_bytecode_file_name.bc |
Rafael Espindola | 6911911 | 2013-07-10 21:47:16 +0000 | [diff] [blame] | 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 - |
Rafael Espindola | 86779ee | 2013-07-11 13:13:09 +0000 | [diff] [blame] | 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 |
Rafael Espindola | 8f81325 | 2013-07-12 18:51:25 +0000 | [diff] [blame] | 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 |
Bill Wendling | f847b5b | 2014-01-16 07:08:22 +0000 | [diff] [blame] | 39 | ; RUN: rm -f %t.a |
Saleem Abdulrasool | 4c5e906 | 2017-02-09 20:06:30 +0000 | [diff] [blame] | 40 | ; RUN: llvm-ar -format gnu rcU %t.a very_long_bytecode_file_name.bc |
| 41 | ; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s -check-prefix CHECK-GNU |
Rafael Espindola | 8f81325 | 2013-07-12 18:51:25 +0000 | [diff] [blame] | 42 | |
Jordan Rupprecht | 4f840f1 | 2018-10-05 23:25:39 +0000 | [diff] [blame] | 43 | CHECK-GNU: 1465 Nov 19 03:01 2004 very_long_bytecode_file_name.bc |
Rafael Espindola | 4daa23f | 2015-07-14 16:02:40 +0000 | [diff] [blame] | 44 | |
Saleem Abdulrasool | 4c5e906 | 2017-02-09 20:06:30 +0000 | [diff] [blame] | 45 | ; RUN: rm -f %t.a |
Rafael Espindola | 13f0c80 | 2017-02-21 20:40:54 +0000 | [diff] [blame] | 46 | ; RUN: llvm-ar -format darwin rcU %t.a very_long_bytecode_file_name.bc |
| 47 | ; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s -check-prefix CHECK-DARWIN |
Saleem Abdulrasool | 4c5e906 | 2017-02-09 20:06:30 +0000 | [diff] [blame] | 48 | |
Jordan Rupprecht | 4f840f1 | 2018-10-05 23:25:39 +0000 | [diff] [blame] | 49 | CHECK-DARWIN: 1472 Nov 19 03:01 2004 very_long_bytecode_file_name.bc |
Rafael Espindola | 4daa23f | 2015-07-14 16:02:40 +0000 | [diff] [blame] | 50 | |
| 51 | RUN: not llvm-ar x %p/Inputs/GNU.a foo.o 2>&1 | FileCheck --check-prefix=NOTFOUND %s |
Jordan Rupprecht | 2e3d9f7 | 2019-01-15 22:03:08 +0000 | [diff] [blame] | 52 | NOTFOUND: error: 'foo.o' was not found |
Rafael Espindola | 6e9f427 | 2015-07-14 16:55:13 +0000 | [diff] [blame] | 53 | |
| 54 | RUN: not llvm-ar x %p/Inputs/thin.a foo.o 2>&1 | FileCheck %s --check-prefix=THINEXTRACT |
| 55 | THINEXTRACT: extracting from a thin archive is not supported |
Rafael Espindola | 7a6e343 | 2015-07-14 22:18:43 +0000 | [diff] [blame] | 56 | |
| 57 | RUN: llvm-ar p %p/Inputs/thin.a evenlen | FileCheck %s --check-prefix=EVENLEN |
| 58 | EVENLEN: evenlen |
| 59 | |
Davide Italiano | 6edf98c | 2017-04-05 14:52:17 +0000 | [diff] [blame] | 60 | RUN: not llvm-ar p %p/Inputs/thin-path.a t/test2.o 2>&1 | FileCheck %s --check-prefix=MISSING |
Rafael Espindola | 0ab901a | 2015-07-14 22:42:21 +0000 | [diff] [blame] | 61 | MISSING: {{N|n}}o such file or directory. |