blob: d44601f20e7d2683ae87a0f1b734434c487b0ea2 [file] [log] [blame]
## Test the CREATE MRI command.
# RUN: rm -rf %t && mkdir -p %t/path/ && split-file %s %t
# RUN: cd %t
# RUN: llvm-ar -M < create.mri
# RUN: llvm-ar -M < thin.mri
## Test use of CREATE with no archive name.
# RUN: not llvm-ar -M < none.mri 2>&1 | FileCheck --check-prefix=NONE %s
# RUN: not llvm-ar -M < thin-none.mri 2>&1 | FileCheck --check-prefix=NONE %s
# RUN: not llvm-ar -M < none-add.mri 2>&1 | FileCheck --check-prefix=NONE %s
# RUN: not llvm-ar -M < thin-none-add.mri 2>&1 | FileCheck --check-prefix=NONE %s
# NONE: error: script line 1: missing archive name
## Test use of paths with CREATE.
# RUN: llvm-ar -M < path.mri
# RUN: ls path/path.a
# RUN: llvm-ar -M < thin-path.mri
# RUN: ls path/thin-path.a
## Test bad paths with CREATE.
# RUN: not llvm-ar -M < bad.mri 2>&1 | FileCheck --check-prefix=BAD -DMSG=%errc_ENOENT %s
# RUN: not llvm-ar -M < thin-bad.mri 2>&1 | FileCheck --check-prefix=BAD -DMSG=%errc_ENOENT %s
# BAD: error: bad/bad.a: [[MSG]]
## Test duplicate use of CREATE.
# RUN: not llvm-ar -M < create2.mri 2>&1 | FileCheck --check-prefix=MULTIPLE %s -DLINE=2
# RUN: not llvm-ar -M < thin2.mri 2>&1 | FileCheck --check-prefix=MULTIPLE %s -DLINE=2
# RUN: not llvm-ar -M < mix1.mri 2>&1 | FileCheck --check-prefix=MULTIPLE %s -DLINE=2
# RUN: not llvm-ar -M < mix2.mri 2>&1 | FileCheck --check-prefix=MULTIPLE %s -DLINE=2
# RUN: not llvm-ar -M < save.mri 2>&1 | FileCheck --check-prefix=MULTIPLE %s -DLINE=3
# RUN: not llvm-ar -M < thin-save.mri 2>&1 | FileCheck --check-prefix=MULTIPLE %s -DLINE=3
# MULTIPLE: error: script line [[LINE]]: editing multiple archives not supported
#--- create.mri
CREATE create.a
SAVE
#--- thin.mri
CREATETHIN thin.a
SAVE thin.mri
#--- none.mri
CREATE
SAVE
#--- thin-none.mri
CREATETHIN
SAVE
#--- foo.txt
FOO
#--- none-add.mri
CREATE
ADDMOD foo.txt
SAVE
#--- thin-none-add.mri
CREATETHIN
ADDMOD foo.txt
SAVE
#--- path.mri
CREATE path/path.a
SAVE
#--- thin-path.mri
CREATETHIN path/thin-path.a
SAVE
#--- bad.mri
CREATE bad/bad.a
SAVE
#--- thin-bad.mri
CREATETHIN bad/bad.a
SAVE
#--- create2.mri
CREATE create1.a
CREATE create2.a
SAVE
#--- thin2.mri
CREATETHIN thin1.a
CREATETHIN thin2.a
SAVE
#--- mix1.mri
CREATE mix1.a
CREATETHIN mixthin1.a
SAVE
#--- mix2.mri
CREATETHIN mixthin2.a
CREATE mix2.a
SAVE
#--- save.mri
CREATE create1.a
SAVE
CREATE create2.a
SAVE
#--- thin-save.mri
CREATETHIN create1.a
SAVE
CREATETHIN create2.a
SAVE