[PATCH] D61597: [test-suite] Fix support for user mode emulation when using cmake/lit.
Phabricator via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 11 07:31:04 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL365783: Fix support for user mode emulation when using cmake/lit. (authored by kbeyls, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D61597?vs=208884&id=209215#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61597/new/
https://reviews.llvm.org/D61597
Files:
test-suite/trunk/CMakeLists.txt
test-suite/trunk/cmake/modules/TestSuite.cmake
test-suite/trunk/lit.site.cfg.in
test-suite/trunk/litsupport/modules/timeit.py
test-suite/trunk/tools/CMakeLists.txt
Index: test-suite/trunk/tools/CMakeLists.txt
===================================================================
--- test-suite/trunk/tools/CMakeLists.txt
+++ test-suite/trunk/tools/CMakeLists.txt
@@ -7,7 +7,9 @@
include(Host)
-add_executable(fpcmp fpcmp.c)
+add_executable(fpcmp-target ${CMAKE_CURRENT_SOURCE_DIR}/fpcmp.c)
+add_executable(build-fpcmp-target ALIAS fpcmp-target)
+llvm_add_host_executable(build-fpcmp fpcmp fpcmp.c)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/HashProgramOutput.sh
Index: test-suite/trunk/cmake/modules/TestSuite.cmake
===================================================================
--- test-suite/trunk/cmake/modules/TestSuite.cmake
+++ test-suite/trunk/cmake/modules/TestSuite.cmake
@@ -99,7 +99,8 @@
build-HashProgramOutput.sh
build-timeit
build-timeit-target
- fpcmp
+ build-fpcmp
+ build-fpcmp-target
)
endfunction()
Index: test-suite/trunk/CMakeLists.txt
===================================================================
--- test-suite/trunk/CMakeLists.txt
+++ test-suite/trunk/CMakeLists.txt
@@ -77,6 +77,18 @@
# Run Under configuration for RunSafely.sh (will be set in lit.site.cfg)
set(TEST_SUITE_RUN_UNDER "" CACHE STRING "RunSafely.sh run-under (-u) parameter")
+# User mode emulation configuration (e.g. running under qemu)
+# (will be set in lit.site.cfg)
+set(TEST_SUITE_USER_MODE_EMULATION NO CACHE BOOL
+ "RUN_UNDER is used to run tests under emulation.")
+# Set value to python style True/False
+if (TEST_SUITE_USER_MODE_EMULATION)
+ set(TEST_SUITE_USER_MODE_EMULATION "True")
+else()
+ set(TEST_SUITE_USER_MODE_EMULATION "False")
+endif()
+
+
# run type/benchmark size configuration (mostly for SPEC at the moment)
set(TEST_SUITE_RUN_TYPE "train" CACHE STRING
"Type of benchmark inputs (may be test,train or ref)")
@@ -220,7 +232,10 @@
add_subdirectory(tools)
# Shortcut for the path to the fpcmp executable
-set(FPCMP ${CMAKE_BINARY_DIR}/tools/fpcmp)
+set(FPCMP ${CMAKE_BINARY_DIR}/tools/fpcmp-target)
+if (TEST_SUITE_USER_MODE_EMULATION)
+ set(FPCMP ${CMAKE_BINARY_DIR}/tools/fpcmp)
+endif()
option(TEST_SUITE_COLLECT_COMPILE_TIME
"Measure compile time by wrapping compiler invocations in timeit" ON)
Index: test-suite/trunk/lit.site.cfg.in
===================================================================
--- test-suite/trunk/lit.site.cfg.in
+++ test-suite/trunk/lit.site.cfg.in
@@ -5,6 +5,7 @@
config.remote_client = "@TEST_SUITE_REMOTE_CLIENT@"
config.remote_host = "@TEST_SUITE_REMOTE_HOST@"
config.run_under = "@TEST_SUITE_RUN_UNDER@"
+config.user_mode_emulation = @TEST_SUITE_USER_MODE_EMULATION@
config.strip_tool = "@CMAKE_STRIP@"
config.profile_generate = @TEST_SUITE_PROFILE_GENERATE@
config.llvm_profdata = "@TEST_SUITE_LLVM_PROFDATA@"
Index: test-suite/trunk/litsupport/modules/timeit.py
===================================================================
--- test-suite/trunk/litsupport/modules/timeit.py
+++ test-suite/trunk/litsupport/modules/timeit.py
@@ -9,7 +9,14 @@
config = context.config
cmd = shellcommand.parse(commandline)
- timeit = "%s/tools/timeit-target" % config.test_source_root
+ if config.user_mode_emulation:
+ # user_mode_emulation should be true if tests are being run via
+ # user-mode emulation (e.g. Qemu) and thus the host version of timeit
+ # should be used.
+ timeit_name = "timeit"
+ else:
+ timeit_name = "timeit-target"
+ timeit = "%s/tools/%s" % (config.test_source_root, timeit_name)
args = ["--limit-core", "0"]
args += ["--limit-cpu", "7200"]
args += ["--timeout", "7200"]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61597.209215.patch
Type: text/x-patch
Size: 3647 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190711/c441198c/attachment-0001.bin>
More information about the llvm-commits
mailing list