diff options
Diffstat (limited to 'llvm/utils/lit/tests')
7 files changed, 46 insertions, 0 deletions
diff --git a/llvm/utils/lit/tests/Inputs/config-map-discovery/driver.py b/llvm/utils/lit/tests/Inputs/config-map-discovery/driver.py new file mode 100644 index 00000000000..c1acdfc972f --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/config-map-discovery/driver.py @@ -0,0 +1,14 @@ +import lit.util +import os +import sys + +main_config = sys.argv[1] + +config_map = {lit.util.norm_path(main_config) : sys.argv[2]} +builtin_parameters = {'config_map' : config_map} + +if __name__=='__main__': + from lit.main import main + main_config_dir = os.path.dirname(main_config) + sys.argv = [sys.argv[0]] + sys.argv[3:] + [main_config_dir] + main(builtin_parameters) diff --git a/llvm/utils/lit/tests/Inputs/config-map-discovery/invalid-test.txt b/llvm/utils/lit/tests/Inputs/config-map-discovery/invalid-test.txt new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/config-map-discovery/invalid-test.txt diff --git a/llvm/utils/lit/tests/Inputs/config-map-discovery/lit.alt.cfg b/llvm/utils/lit/tests/Inputs/config-map-discovery/lit.alt.cfg new file mode 100644 index 00000000000..8462c81bdca --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/config-map-discovery/lit.alt.cfg @@ -0,0 +1,9 @@ +import lit.formats +import lit.util +config.name = 'config-map' +config.suffixes = ['.txt'] +config.test_format = lit.formats.ShTest() + +import os +config.test_exec_root = lit.util.norm_path(os.path.dirname(__file__)) +config.test_source_root = os.path.join(config.test_exec_root, "tests") diff --git a/llvm/utils/lit/tests/Inputs/config-map-discovery/main-config/lit.cfg b/llvm/utils/lit/tests/Inputs/config-map-discovery/main-config/lit.cfg new file mode 100644 index 00000000000..380a05beb4a --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/config-map-discovery/main-config/lit.cfg @@ -0,0 +1 @@ +print("ERROR: lit.cfg invoked!")
\ No newline at end of file diff --git a/llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test1.txt b/llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test1.txt new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test1.txt diff --git a/llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test2.txt b/llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test2.txt new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test2.txt diff --git a/llvm/utils/lit/tests/discovery.py b/llvm/utils/lit/tests/discovery.py index ba5247337a8..41a2d6cad3d 100644 --- a/llvm/utils/lit/tests/discovery.py +++ b/llvm/utils/lit/tests/discovery.py @@ -25,6 +25,28 @@ # CHECK-BASIC-OUT: top-level-suite :: test-one # CHECK-BASIC-OUT: top-level-suite :: test-two +# Check discovery when providing the special builtin 'config_map' +# RUN: %{python} %{inputs}/config-map-discovery/driver.py \ +# RUN: %{inputs}/config-map-discovery/main-config/lit.cfg \ +# RUN: %{inputs}/config-map-discovery/lit.alt.cfg \ +# RUN: --single-process --debug --show-tests --show-suites > %t.out 2> %t.err +# RUN: FileCheck --check-prefix=CHECK-CONFIG-MAP-OUT < %t.out %s +# RUN: FileCheck --check-prefix=CHECK-CONFIG-MAP-ERR < %t.err %s + +# CHECK-CONFIG-MAP-OUT-NOT: ERROR: lit.cfg invoked +# CHECK-CONFIG-MAP-OUT: -- Test Suites -- +# CHECK-CONFIG-MAP-OUT: config-map - 2 tests +# CHECK-CONFIG-MAP-OUT: Source Root: {{.*[/\\]config-map-discovery[/\\]tests}} +# CHECK-CONFIG-MAP-OUT: Exec Root : {{.*[/\\]tests[/\\]inputs[/\\]config-map-discovery}} +# CHECK-CONFIG-MAP-OUT: -- Available Tests -- +# CHECK-CONFIG-MAP-OUT-NOT: invalid-test.txt +# CHECK-CONFIG-MAP-OUT: config-map :: test1.txt +# CHECK-CONFIG-MAP-OUT: config-map :: test2.txt + +# CHECK-CONFIG-MAP-ERR: loading suite config '{{.*}}lit.alt.cfg' +# CHECK-CONFIG-MAP-ERR: loaded config '{{.*}}lit.alt.cfg' +# CHECK-CONFIG-MAP-ERR: resolved input '{{.*config-map-discovery[/\\]main-config}}' to 'config-map'::() + # Check discovery when exact test names are given. # |