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/CMakeLists.txt24
-rw-r--r--llvm/utils/lit/tests/Inputs/lit.site.cfg.in3
-rw-r--r--llvm/utils/lit/tests/lit.site.cfg.in4
3 files changed, 30 insertions, 1 deletions
diff --git a/llvm/utils/lit/tests/CMakeLists.txt b/llvm/utils/lit/tests/CMakeLists.txt
new file mode 100644
index 00000000000..f63fd90277e
--- /dev/null
+++ b/llvm/utils/lit/tests/CMakeLists.txt
@@ -0,0 +1,24 @@
+# The configured file is not placed in the correct location
+# until the tests are run as we need to copy it into
+# a copy of the tests folder
+configure_file("lit.site.cfg.in" "lit.site.cfg" @ONLY)
+
+# For every lit.cfg in the Inputs tree, create a lit.site.cfg that points at
+# the tests back in the source directory. Running the tests this way keeps the
+# temporary output files in the build directory.
+file(GLOB inputs_suites "Inputs/*/lit.cfg")
+foreach(lit_cfg ${inputs_suites})
+ get_filename_component(LIT_TEST_SRC_DIR "${lit_cfg}" DIRECTORY)
+ file(RELATIVE_PATH LIT_TEST_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}" "${LIT_TEST_SRC_DIR}")
+ set(LIT_TEST_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/${LIT_TEST_BIN_DIR}")
+ configure_file("Inputs/lit.site.cfg.in" "${LIT_TEST_BIN_DIR}/lit.site.cfg" @ONLY)
+endforeach()
+
+# Add rules for lit's own test suite
+add_lit_testsuite(check-lit "Running lit's tests"
+ ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS "FileCheck" "not"
+)
+
+# For IDEs
+set_target_properties(check-lit PROPERTIES FOLDER "Tests")
diff --git a/llvm/utils/lit/tests/Inputs/lit.site.cfg.in b/llvm/utils/lit/tests/Inputs/lit.site.cfg.in
new file mode 100644
index 00000000000..f6cd31cf640
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/lit.site.cfg.in
@@ -0,0 +1,3 @@
+lit_config.load_config(config, "@LIT_TEST_SRC_DIR@/lit.cfg")
+config.test_source_root = "@LIT_TEST_SRC_DIR@"
+config.test_exec_root = "@LIT_TEST_BIN_DIR@"
diff --git a/llvm/utils/lit/tests/lit.site.cfg.in b/llvm/utils/lit/tests/lit.site.cfg.in
index bdc1f58575e..745c528759e 100644
--- a/llvm/utils/lit/tests/lit.site.cfg.in
+++ b/llvm/utils/lit/tests/lit.site.cfg.in
@@ -5,4 +5,6 @@ config.llvm_obj_root = "@LLVM_BINARY_DIR@"
config.llvm_tools_dir = "@LLVM_TOOLS_BINARY_DIR@"
# Let the main config do the real work.
-lit_config.load_config(config, "@LLVM_BINARY_DIR@/utils/lit/tests/lit.cfg")
+lit_config.load_config(config, "@LLVM_SOURCE_DIR@/utils/lit/tests/lit.cfg")
+config.test_source_root = "@CMAKE_CURRENT_SOURCE_DIR@"
+config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@"
OpenPOWER on IntegriCloud