diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-07-08 12:18:40 +0000 |
---|---|---|
committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-07-08 12:18:40 +0000 |
commit | 1602058c04541cb65e078e9f86deca21052b3801 (patch) | |
tree | 1565051684fce1d2cc119e484e076a7f8afb8e29 /llvm/utils/lit/tests | |
parent | 8cf99a1170483287729190c839aad3526f1b9c11 (diff) | |
download | bcm5719-llvm-1602058c04541cb65e078e9f86deca21052b3801.tar.gz bcm5719-llvm-1602058c04541cb65e078e9f86deca21052b3801.zip |
[lit] Parse command-line options from LIT_OPTS
Similar to `FILECHECK_OPTS` for FileCheck, `LIT_OPTS` makes it easy to
adjust lit behavior when running the test suite via ninja. For
example:
```
$ LIT_OPTS='--time-tests -vv --filter=threadprivate' \
ninja check-clang-openmp
```
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D64135
llvm-svn: 365313
Diffstat (limited to 'llvm/utils/lit/tests')
-rw-r--r-- | llvm/utils/lit/tests/Inputs/lit-opts/lit.cfg | 7 | ||||
-rw-r--r-- | llvm/utils/lit/tests/Inputs/lit-opts/test.txt | 1 | ||||
-rw-r--r-- | llvm/utils/lit/tests/lit-opts.py | 33 |
3 files changed, 41 insertions, 0 deletions
diff --git a/llvm/utils/lit/tests/Inputs/lit-opts/lit.cfg b/llvm/utils/lit/tests/Inputs/lit-opts/lit.cfg new file mode 100644 index 00000000000..d8dccdb6f4e --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/lit-opts/lit.cfg @@ -0,0 +1,7 @@ +import lit.formats +config.name = 'lit-opts' +config.suffixes = ['.txt'] +config.test_format = lit.formats.ShTest() +config.test_source_root = None +config.test_exec_root = None +config.substitutions.append(('%var', lit_config.params.get('var', ''))) diff --git a/llvm/utils/lit/tests/Inputs/lit-opts/test.txt b/llvm/utils/lit/tests/Inputs/lit-opts/test.txt new file mode 100644 index 00000000000..0ddee88ac0b --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/lit-opts/test.txt @@ -0,0 +1 @@ +# RUN: echo %var diff --git a/llvm/utils/lit/tests/lit-opts.py b/llvm/utils/lit/tests/lit-opts.py new file mode 100644 index 00000000000..4c068dd8ac2 --- /dev/null +++ b/llvm/utils/lit/tests/lit-opts.py @@ -0,0 +1,33 @@ +# Check cases where LIT_OPTS has no effect. +# +# RUN: %{lit} -j 1 -s %{inputs}/lit-opts | FileCheck %s +# RUN: env LIT_OPTS= %{lit} -j 1 -s %{inputs}/lit-opts | FileCheck %s +# RUN: env LIT_OPTS=-s %{lit} -j 1 -s %{inputs}/lit-opts | FileCheck %s + +# Check that LIT_OPTS can override command-line options. +# +# RUN: env LIT_OPTS=-a \ +# RUN: %{lit} -j 1 -s %{inputs}/lit-opts \ +# RUN: | FileCheck -check-prefix=SHOW-ALL -DVAR= %s + +# Check that LIT_OPTS understands multiple options with arbitrary spacing. +# +# RUN: env LIT_OPTS='-a -v -Dvar=foobar' \ +# RUN: %{lit} -j 1 -s %{inputs}/lit-opts \ +# RUN: | FileCheck -check-prefix=SHOW-ALL -DVAR=foobar %s + +# Check that LIT_OPTS parses shell-like quotes and escapes. +# +# RUN: env LIT_OPTS='-a -v -Dvar="foo bar"\ baz' \ +# RUN: %{lit} -j 1 -s %{inputs}/lit-opts \ +# RUN: | FileCheck -check-prefix=SHOW-ALL -DVAR="foo bar baz" %s + +# CHECK: Testing: 1 tests +# CHECK-NOT: PASS +# CHECK: Expected Passes : 1 + +# SHOW-ALL: Testing: 1 tests +# SHOW-ALL: PASS: lit-opts :: test.txt (1 of 1) +# SHOW-ALL: {{^}}[[VAR]] +# SHOW-ALL-NOT: PASS +# SHOW-ALL: Expected Passes : 1 |