| ## Test the -V flag, which prints the version number to stdout. It also allows |
| ## for no operation to be specified, but if an operation is specified, it should |
| ## still occur and regular argument parsing errors should be surfaced (unlike |
| ## cctools libtool, which silences all argument parsing errors when -V is |
| ## specified). |
| |
| ## Test -V by itself. |
| # RUN: llvm-libtool-darwin -V | FileCheck %s |
| ## The specific version number, vendor string, etc. will differ across |
| ## environments, so this is the most specific we can get. |
| # CHECK: LLVM version |
| |
| ## Parsing errors should not be surfaced when no operation is specified. |
| # RUN: llvm-libtool-darwin -V -D -U | FileCheck %s |
| |
| ## Regular errors should occur when an operation is specified. |
| # RUN: not llvm-libtool-darwin -V -static 2>&1 | FileCheck --check-prefix=ERROR %s |
| # ERROR: for the -o option: must be specified |
| |
| ## A valid command line should print the version and perform the operation. |
| # RUN: yaml2obj %S/Inputs/input1.yaml -o %t-input1.o |
| # RUN: yaml2obj %S/Inputs/input2.yaml -o %t-input2.o |
| # RUN: llvm-libtool-darwin -static -o %t.lib %t-input1.o %t-input2.o -V | FileCheck %s |
| # RUN: llvm-libtool-darwin -static -o %t2.lib %t-input1.o %t-input2.o |
| # RUN: cmp %t.lib %t2.lib |