[llvm] dd64c82 - [unittest] Allow LLVM unit test to run under a wrapper program. (#66821)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 17 11:15:51 PDT 2023
Author: Haowei
Date: 2023-10-17T11:15:46-07:00
New Revision: dd64c82cbc9c69924b5c6df059e5b065fa29d185
URL: https://github.com/llvm/llvm-project/commit/dd64c82cbc9c69924b5c6df059e5b065fa29d185
DIFF: https://github.com/llvm/llvm-project/commit/dd64c82cbc9c69924b5c6df059e5b065fa29d185.diff
LOG: [unittest] Allow LLVM unit test to run under a wrapper program. (#66821)
This patch add CMake option "LLVM_GTEST_RUN_UNDER" to LLVM unittest
configuration. When specified, LLVM unittest will be run under the
wrapper program specified by this option. This feature can simplify the
setup to run LLVM unittest on a target platform that is different than
host.
Added:
Modified:
llvm/CMakeLists.txt
llvm/test/Unit/lit.cfg.py
llvm/test/Unit/lit.site.cfg.py.in
Removed:
################################################################################
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index ef2f2146a036448..82d4beea91e346e 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -1219,6 +1219,9 @@ if( LLVM_INCLUDE_EXAMPLES )
endif()
if( LLVM_INCLUDE_TESTS )
+ set(LLVM_GTEST_RUN_UNDER
+ "" CACHE STRING
+ "Define the wrapper program that LLVM unit tests should be run under.")
if(EXISTS ${LLVM_MAIN_SRC_DIR}/projects/test-suite AND TARGET clang)
include(LLVMExternalProjectUtils)
llvm_ExternalProject_Add(test-suite ${LLVM_MAIN_SRC_DIR}/projects/test-suite
diff --git a/llvm/test/Unit/lit.cfg.py b/llvm/test/Unit/lit.cfg.py
index f15c30dbcdb0aa6..61296d7ea0032ef 100644
--- a/llvm/test/Unit/lit.cfg.py
+++ b/llvm/test/Unit/lit.cfg.py
@@ -19,7 +19,11 @@
config.test_source_root = config.test_exec_root
# testFormat: The test format to use to interpret tests.
-config.test_format = lit.formats.GoogleTest(config.llvm_build_mode, "Tests")
+config.test_format = lit.formats.GoogleTest(
+ config.llvm_build_mode,
+ "Tests",
+ run_under=config.gtest_run_under,
+)
# Propagate the temp directory. Windows requires this because it uses \Windows\
# if none of these are present.
diff --git a/llvm/test/Unit/lit.site.cfg.py.in b/llvm/test/Unit/lit.site.cfg.py.in
index 1d7d76580149495..3536a34f796a28d 100644
--- a/llvm/test/Unit/lit.site.cfg.py.in
+++ b/llvm/test/Unit/lit.site.cfg.py.in
@@ -7,6 +7,7 @@ config.llvm_obj_root = path(r"@LLVM_BINARY_DIR@")
config.llvm_tools_dir = lit_config.substitute(path(r"@LLVM_TOOLS_DIR@"))
config.llvm_build_mode = lit_config.substitute("@LLVM_BUILD_MODE@")
config.shlibdir = lit_config.substitute(path(r"@SHLIBDIR@"))
+config.gtest_run_under = lit_config.substitute(r"@LLVM_GTEST_RUN_UNDER@")
# Let the main config do the real work.
lit_config.load_config(
More information about the llvm-commits
mailing list