Merge topic 'test-CROSSCOMPILING_EMULATOR'
eccfc0d1
Tests: Improve source file name in RunCMake.CrosscompilingEmulator8de77811
Tests: Cover genex behavior in CROSSCOMPILING_EMULATOR test case
This commit is contained in:
commit
cc46264307
|
@ -4,9 +4,25 @@ if(EXISTS "${testfile}")
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Could not find expected CTestTestfile.cmake.")
|
message(FATAL_ERROR "Could not find expected CTestTestfile.cmake.")
|
||||||
endif()
|
endif()
|
||||||
if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulator ^(pseudo_emulator)+$")
|
|
||||||
message(SEND_ERROR "Used emulator when it should not be used.")
|
set(error_details "There is a problem with generated test file: ${testfile}")
|
||||||
|
|
||||||
|
if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulator [^\n]+pseudo_emulator[^\n]+\n")
|
||||||
|
message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
|
||||||
endif()
|
endif()
|
||||||
if(NOT testfile_contents MATCHES "add_test[(]UsesEmulator .+pseudo_emulator.+$")
|
|
||||||
message(SEND_ERROR "Did not use emulator when it should be used.")
|
if(NOT testfile_contents MATCHES "add_test[(]UsesEmulator [^\n]+pseudo_emulator[^\n]+\n")
|
||||||
|
message(SEND_ERROR "Did not use emulator when it should be used. ${error_details}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulatorWithGenex [^\n]+pseudo_emulator[^\n]+\n")
|
||||||
|
message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT testfile_contents MATCHES "add_test[(]UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex [^\n]+pseudo_emulator[^\n]+\n")
|
||||||
|
message(SEND_ERROR "Did not use emulator when it should be used. ${error_details}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex [^\n]+pseudo_emulator[^\n]+\n")
|
||||||
|
message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -3,6 +3,18 @@ enable_testing()
|
||||||
add_test(NAME DoesNotUseEmulator
|
add_test(NAME DoesNotUseEmulator
|
||||||
COMMAND ${CMAKE_COMMAND} -E echo "Hi")
|
COMMAND ${CMAKE_COMMAND} -E echo "Hi")
|
||||||
|
|
||||||
add_executable(generated_exe simple_src.cxx)
|
add_executable(generated_exe simple_src_exiterror.cxx)
|
||||||
|
|
||||||
add_test(NAME UsesEmulator
|
add_test(NAME UsesEmulator
|
||||||
COMMAND generated_exe)
|
COMMAND generated_exe)
|
||||||
|
|
||||||
|
add_test(NAME DoesNotUseEmulatorWithGenex
|
||||||
|
COMMAND $<TARGET_FILE:generated_exe>)
|
||||||
|
|
||||||
|
add_subdirectory(AddTest)
|
||||||
|
|
||||||
|
add_test(NAME UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex
|
||||||
|
COMMAND generated_exe_in_subdir_added_to_test_without_genex)
|
||||||
|
|
||||||
|
add_test(NAME DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex
|
||||||
|
COMMAND $<TARGET_FILE:generated_exe_in_subdir_added_to_test_with_genex>)
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
add_executable(generated_exe_in_subdir_added_to_test_without_genex
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../simple_src_exiterror.cxx)
|
||||||
|
|
||||||
|
add_executable(generated_exe_in_subdir_added_to_test_with_genex
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../simple_src_exiterror.cxx)
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
# -DCMAKE_CROSSCOMPILING_EMULATOR=/path/to/pseudo_emulator is passed to this
|
# -DCMAKE_CROSSCOMPILING_EMULATOR=/path/to/pseudo_emulator is passed to this
|
||||||
# test
|
# test
|
||||||
add_executable(target_with_emulator simple_src.cxx)
|
add_executable(target_with_emulator simple_src_exiterror.cxx)
|
||||||
get_property(emulator TARGET target_with_emulator
|
get_property(emulator TARGET target_with_emulator
|
||||||
PROPERTY CROSSCOMPILING_EMULATOR)
|
PROPERTY CROSSCOMPILING_EMULATOR)
|
||||||
if(NOT "${emulator}" MATCHES "pseudo_emulator")
|
if(NOT "${emulator}" MATCHES "pseudo_emulator")
|
||||||
|
@ -20,7 +20,7 @@ if(NOT "${emulator}" MATCHES "another_emulator")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
unset(CMAKE_CROSSCOMPILING_EMULATOR CACHE)
|
unset(CMAKE_CROSSCOMPILING_EMULATOR CACHE)
|
||||||
add_executable(target_without_emulator simple_src.cxx)
|
add_executable(target_without_emulator simple_src_exiterror.cxx)
|
||||||
get_property(emulator TARGET target_without_emulator
|
get_property(emulator TARGET target_without_emulator
|
||||||
PROPERTY CROSSCOMPILING_EMULATOR)
|
PROPERTY CROSSCOMPILING_EMULATOR)
|
||||||
if(NOT "${emulator}" STREQUAL "")
|
if(NOT "${emulator}" STREQUAL "")
|
||||||
|
|
|
@ -2,7 +2,7 @@ set(CMAKE_CROSSCOMPILING 1)
|
||||||
|
|
||||||
try_run(run_result compile_result
|
try_run(run_result compile_result
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/simple_src.cxx
|
${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.cxx
|
||||||
RUN_OUTPUT_VARIABLE run_output)
|
RUN_OUTPUT_VARIABLE run_output)
|
||||||
|
|
||||||
message(STATUS "run_output: ${run_output}")
|
message(STATUS "run_output: ${run_output}")
|
||||||
|
@ -13,6 +13,6 @@ set(CMAKE_CROSSCOMPILING_EMULATOR ${CMAKE_CROSSCOMPILING_EMULATOR}
|
||||||
"multi arg")
|
"multi arg")
|
||||||
try_run(run_result compile_result
|
try_run(run_result compile_result
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/simple_src.cxx
|
${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.cxx
|
||||||
RUN_OUTPUT_VARIABLE run_output)
|
RUN_OUTPUT_VARIABLE run_output)
|
||||||
message(STATUS "Emulator with arguments run_output: ${run_output}")
|
message(STATUS "Emulator with arguments run_output: ${run_output}")
|
||||||
|
|
Loading…
Reference in New Issue