Files
CMake/Tests/RunCMake/add_test/TestLauncher-check.cmake
T
Brad King 13ece67a58 Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATOR
Evaluate generator expressions in these properties, as they apply to
`add_test`, `add_custom_command`, and `add_custom_target`.

The `CMAKE_CROSSCOMPILING_EMULATOR` variable's `try_run` behavior occurs
at configure time and so cannot support generator expressions.
2024-01-29 10:30:24 -05:00

39 lines
1.7 KiB
CMake

set(testfile "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake")
if(EXISTS "${testfile}")
file(READ "${testfile}" testfile_contents)
else()
set(RunCMake_TEST_FAILED "Could not find expected CTestTestfile.cmake.")
return()
endif()
set(error_details "There is a problem with generated test file:\n ${testfile}")
if(testfile_contents MATCHES "add_test[(]DoesNotUseTestLauncher [^$<>\n]+pseudo_emulator[^$<>\n]+\n")
set(RunCMake_TEST_FAILED "Used test launcher when it should not be used. ${error_details}")
return()
endif()
if(NOT testfile_contents MATCHES "add_test[(]UsesTestLauncher [^$<>\n]+pseudo_emulator[^$<>\n]+\n")
set(RunCMake_TEST_FAILED "Did not use test launcher when it should be used. ${error_details}")
return()
endif()
if(testfile_contents MATCHES "add_test[(]DoesNotUseTestLauncherWithGenex [^$<>\n]+pseudo_emulator[^$<>\n]+\n")
set(RunCMake_TEST_FAILED "Used test launcher when it should not be used. ${error_details}")
return()
endif()
if(NOT testfile_contents MATCHES "add_test[(]UsesTestLauncherWithExecTargetFromSubdirAddedWithoutGenex [^$<>\n]+pseudo_emulator[^$<>\n]+\n")
set(RunCMake_TEST_FAILED "Did not use test launcher when it should be used. ${error_details}")
return()
endif()
if(testfile_contents MATCHES "add_test[(]DoesNotUseTestLauncherWithExecTargetFromSubdirAddedWithGenex [^$<>\n]+pseudo_emulator[^$<>\n]+\n")
set(RunCMake_TEST_FAILED "Used test launcher when it should not be used. ${error_details}")
return()
endif()
if(NOT testfile_contents MATCHES "add_test[(]UsesLocalLauncher [^$<>\n]+local_launcher[^$<>\n]+use_launcher_local[^$<>\n]+\n")
message(SEND_ERROR "Did not use local test launcher when it should be used. ${error_details}")
endif()