|  | ## 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: -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: -o: missing argument | 
|  |  | 
|  | ## 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 |