## This test checks that an error is thrown in case of invalid input/output args.

## Missing input file:
# RUN: not llvm-libtool-darwin -static -o %t.lib 2>&1 | \
# RUN:   FileCheck %s --check-prefix=NO-INPUT

# NO-INPUT: error: no input files specified

## Missing output file:
# RUN: not llvm-libtool-darwin -static %t.input 2>&1 | \
# RUN:   FileCheck %s --check-prefix=NO-OUTPUT

# NO-OUTPUT: for the -o option: must be specified

## Missing argument to -o:
# RUN: not llvm-libtool-darwin -static %t.input -o 2>&1 | \
# RUN:   FileCheck %s --check-prefix=MISSING

# MISSING: for the -o option: requires a value!

## Passing in two output files:
# RUN: not llvm-libtool-darwin -static %t.input -o %t.lib1 -o %t.lib2 2>&1 | \
# RUN:   FileCheck %s --check-prefix=DOUBLE-OUTPUT

# DOUBLE-OUTPUT: for the -o option: may only occur zero or one times!

## Input file not found:
# RUN: not llvm-libtool-darwin -static -o %t.lib %t.missing 2>&1 | \
# RUN:   FileCheck %s --check-prefix=NO-FILE -DFILE=%t.missing -DMSG=%errc_ENOENT

# NO-FILE: error: '[[FILE]]': [[MSG]]

## Input file is not an object file:
# RUN: touch %t.invalid
# RUN: not llvm-libtool-darwin -static -o %t.lib %t.invalid 2>&1 | \
# RUN:   FileCheck %s --check-prefix=NOT-OBJECT -DFILE=%basename_t.tmp.invalid

# NOT-OBJECT: error: '[[FILE]]': The file was not recognized as a valid object file

## Input file is not a Mach-O object file:
# RUN: yaml2obj %s -o %t.elf
# RUN: not llvm-libtool-darwin -static -o %t.lib %t.elf 2>&1 | \
# RUN:   FileCheck %s --check-prefix=NOT-MACHO -DFILE=%basename_t.tmp.elf

# NOT-MACHO: error: '[[FILE]]': format not supported

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
