summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-05-04 14:08:40 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-05-04 14:08:40 (GMT)
commitcc4626430742fce1f5ea1bcecb1b961ca37513f3 (patch)
tree717eefc255ed98951756763ab6c8ab12eefcf9ec
parentac714a3839586c06ad0376071c733ba21bb1a8b4 (diff)
parenteccfc0d185526b746b722ed3d3d1302515698c9e (diff)
downloadCMake-cc4626430742fce1f5ea1bcecb1b961ca37513f3.zip
CMake-cc4626430742fce1f5ea1bcecb1b961ca37513f3.tar.gz
CMake-cc4626430742fce1f5ea1bcecb1b961ca37513f3.tar.bz2
Merge topic 'test-CROSSCOMPILING_EMULATOR'
eccfc0d1 Tests: Improve source file name in RunCMake.CrosscompilingEmulator 8de77811 Tests: Cover genex behavior in CROSSCOMPILING_EMULATOR test case
-rw-r--r--Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake24
-rw-r--r--Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake14
-rw-r--r--Tests/RunCMake/CrosscompilingEmulator/AddTest/CMakeLists.txt5
-rw-r--r--Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake4
-rw-r--r--Tests/RunCMake/CrosscompilingEmulator/TryRun.cmake4
-rw-r--r--Tests/RunCMake/CrosscompilingEmulator/simple_src_exiterror.cxx (renamed from Tests/RunCMake/CrosscompilingEmulator/simple_src.cxx)0
6 files changed, 42 insertions, 9 deletions
diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake b/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake
index 0aae06c..588b77b 100644
--- a/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake
+++ b/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake
@@ -4,9 +4,25 @@ if(EXISTS "${testfile}")
else()
message(FATAL_ERROR "Could not find expected CTestTestfile.cmake.")
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()
-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()
diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake b/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake
index 41850f2..23e2e8d 100644
--- a/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake
+++ b/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake
@@ -3,6 +3,18 @@ enable_testing()
add_test(NAME DoesNotUseEmulator
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
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>)
diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest/CMakeLists.txt b/Tests/RunCMake/CrosscompilingEmulator/AddTest/CMakeLists.txt
new file mode 100644
index 0000000..025b54c
--- /dev/null
+++ b/Tests/RunCMake/CrosscompilingEmulator/AddTest/CMakeLists.txt
@@ -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)
diff --git a/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake b/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake
index 22d537c..1aeb510 100644
--- a/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake
+++ b/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake
@@ -3,7 +3,7 @@
# -DCMAKE_CROSSCOMPILING_EMULATOR=/path/to/pseudo_emulator is passed to this
# 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
PROPERTY CROSSCOMPILING_EMULATOR)
if(NOT "${emulator}" MATCHES "pseudo_emulator")
@@ -20,7 +20,7 @@ if(NOT "${emulator}" MATCHES "another_emulator")
endif()
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
PROPERTY CROSSCOMPILING_EMULATOR)
if(NOT "${emulator}" STREQUAL "")
diff --git a/Tests/RunCMake/CrosscompilingEmulator/TryRun.cmake b/Tests/RunCMake/CrosscompilingEmulator/TryRun.cmake
index 4851cc7..af3712c 100644
--- a/Tests/RunCMake/CrosscompilingEmulator/TryRun.cmake
+++ b/Tests/RunCMake/CrosscompilingEmulator/TryRun.cmake
@@ -2,7 +2,7 @@ set(CMAKE_CROSSCOMPILING 1)
try_run(run_result compile_result
${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/simple_src.cxx
+ ${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.cxx
RUN_OUTPUT_VARIABLE run_output)
message(STATUS "run_output: ${run_output}")
@@ -13,6 +13,6 @@ set(CMAKE_CROSSCOMPILING_EMULATOR ${CMAKE_CROSSCOMPILING_EMULATOR}
"multi arg")
try_run(run_result compile_result
${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/simple_src.cxx
+ ${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.cxx
RUN_OUTPUT_VARIABLE run_output)
message(STATUS "Emulator with arguments run_output: ${run_output}")
diff --git a/Tests/RunCMake/CrosscompilingEmulator/simple_src.cxx b/Tests/RunCMake/CrosscompilingEmulator/simple_src_exiterror.cxx
index e5e94f2..e5e94f2 100644
--- a/Tests/RunCMake/CrosscompilingEmulator/simple_src.cxx
+++ b/Tests/RunCMake/CrosscompilingEmulator/simple_src_exiterror.cxx