Files
CMake/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake
Brad King b440e0af3f Tests: Improve RunCMake.CrosscompilingEmulator coverage
Verify that ctest actually runs the test command lines as expected.
2024-01-27 11:34:35 -05:00

40 lines
1.6 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[(]DoesNotUseEmulator [^\n]+pseudo_emulator[^\n]+\n")
set(RunCMake_TEST_FAILED "Used emulator when it should not be used. ${error_details}")
return()
endif()
if(NOT testfile_contents MATCHES "add_test[(]UsesEmulator [^\n]+pseudo_emulator[^\n]+\n")
set(RunCMake_TEST_FAILED "Did not use emulator when it should be used. ${error_details}")
return()
endif()
if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulatorWithGenex [^\n]+pseudo_emulator[^\n]+\n")
set(RunCMake_TEST_FAILED "Used emulator when it should not be used. ${error_details}")
return()
endif()
if(NOT testfile_contents MATCHES "add_test[(]UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex [^\n]+pseudo_emulator[^\n]+\n")
set(RunCMake_TEST_FAILED "Did not use emulator when it should be used. ${error_details}")
return()
endif()
if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex [^\n]+pseudo_emulator[^\n]+\n")
set(RunCMake_TEST_FAILED "Used emulator when it should not be used. ${error_details}")
return()
endif()
if(NOT testfile_contents MATCHES "add_test[(]UsesTestLauncherAndEmulator[^\n]+pseudo_emulator[^\n]+pseudo_emulator[^\n]+\n")
set(RunCMake_TEST_FAILED "Did not use test launcher and emulator when they should be used. ${error_details}")
return()
endif()