summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/tests
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/lit/tests')
-rw-r--r--llvm/utils/lit/tests/Inputs/config-map-discovery/driver.py14
-rw-r--r--llvm/utils/lit/tests/Inputs/config-map-discovery/invalid-test.txt0
-rw-r--r--llvm/utils/lit/tests/Inputs/config-map-discovery/lit.alt.cfg9
-rw-r--r--llvm/utils/lit/tests/Inputs/config-map-discovery/main-config/lit.cfg1
-rw-r--r--llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test1.txt0
-rw-r--r--llvm/utils/lit/tests/Inputs/config-map-discovery/tests/test2.txt0
-rw-r--r--llvm/utils/lit/tests/discovery.py22
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.
#
OpenPOWER on IntegriCloud