@@ -44,6 +44,16 @@ function(AddTests Tests BinDirectory Bitness)
4444 set (BIN_PATH "${CMAKE_CURRENT_BINARY_DIR} /${BinDirectory} /${TEST_NAME} .${Bitness} " )
4545 set (TEST_CASE "${TEST_NAME} .${Bitness} " )
4646
47+ set (THUNK_ARGS "" )
48+ if (TEST_NAME STREQUAL "thunk_testlib" )
49+ # Test thunking only if thunks are enabled and supported
50+ if (NOT BUILD_THUNKS OR ENABLE_GLIBC_ALLOCATOR_HOOK_FAULT)
51+ continue ()
52+ endif ()
53+
54+ set (THUNK_ARGS "-k" "${CMAKE_SOURCE_DIR} /CI/FEXLinuxTestsThunks.json" )
55+ endif ()
56+
4757 # Add jit test case
4858 add_test (NAME "${TEST_CASE} .jit.flt"
4959 COMMAND "python3" "${CMAKE_SOURCE_DIR} /Scripts/guest_test_runner.py"
@@ -54,9 +64,11 @@ function(AddTests Tests BinDirectory Bitness)
5464 "${TEST_CASE} "
5565 "guest"
5666 "$<TARGET_FILE:FEXLoader>"
67+ ${THUNK_ARGS}
5768 "--no-silent" "-c" "irjit" "-n" "500" "--"
5869 "${BIN_PATH} " )
59- if (_M_X86_64)
70+
71+ if (_M_X86_64 AND NOT TEST_NAME STREQUAL "thunk_testlib" )
6072 # Add host test case
6173 add_test (NAME "${TEST_CASE} .host.flt"
6274 COMMAND "python3" "${CMAKE_SOURCE_DIR} /Scripts/guest_test_runner.py"
@@ -79,6 +91,12 @@ AddTests("${TESTS_64_ONLY}" "FEXLinuxTests_64" 64)
7991# Execute tests that are only 32-bit.
8092AddTests("${TESTS_32_ONLY} " "FEXLinuxTests_32" 32)
8193
94+ if (TEST thunk_testlib.64.jit.flt)
95+ # Ensure libfex_thunk_test is found even when using an uncommon install prefix
96+ set_property (TEST "thunk_testlib.32.jit.flt" PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX} /lib" )
97+ set_property (TEST "thunk_testlib.64.jit.flt" PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX} /lib" )
98+ endif ()
99+
82100execute_process (COMMAND "nproc" OUTPUT_VARIABLE CORES)
83101string (STRIP ${CORES} CORES)
84102
0 commit comments