version.test 1.2 KB
## 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