Tests: Fix RunCMake.CPack_* tests to use proper CMake generator

Use the run_cmake() function to generate the test build tree with
the proper CMake generator and also to verify that it succeeds.
Drop our PreTestError helper as it is no longer needed.
This commit is contained in:
Domen Vrankar 2015-09-30 22:13:12 +02:00 committed by Brad King
parent 981068b79f
commit 1b13af46ac
2 changed files with 3 additions and 45 deletions

View File

@ -10,47 +10,12 @@ function(run_cpack_test TEST_NAME types build)
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
# execute cmake
execute_process(
COMMAND "${CMAKE_COMMAND}" -DRunCMake_TEST=${TEST_NAME}
-DGENERATOR_TYPE=${TEST_TYPE} "${RunCMake_SOURCE_DIR}"
WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
RESULT_VARIABLE res
OUTPUT_FILE "${RunCMake_TEST_BINARY_DIR}/test_output.txt"
ERROR_FILE "${RunCMake_TEST_BINARY_DIR}/test_error.txt"
)
if(res)
run_cmake_command(
${TEST_TYPE}/${TEST_NAME}
"${CMAKE_COMMAND}"
-DRunCMake_TEST_STEP=configure
-Dreturn_code=${res}
"-Dbin_dir=${RunCMake_TEST_BINARY_DIR}"
-P "${RunCMake_SOURCE_DIR}/PreTestError.cmake"
)
return()
endif()
set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${TEST_TYPE}")
run_cmake(${TEST_NAME})
# execute optional build step
if(build)
execute_process(
COMMAND "${CMAKE_COMMAND}" --build "${RunCMake_TEST_BINARY_DIR}"
RESULT_VARIABLE res
OUTPUT_FILE "${RunCMake_TEST_BINARY_DIR}/test_output.txt"
ERROR_FILE "${RunCMake_TEST_BINARY_DIR}/test_error.txt"
)
endif()
if(res)
run_cmake_command(
${TEST_TYPE}/${TEST_NAME}
"${CMAKE_COMMAND}"
-DRunCMake_TEST_STEP=build
-Dreturn_code=${res}
"-Dbin_dir=${RunCMake_TEST_BINARY_DIR}"
-P "${RunCMake_SOURCE_DIR}/PreTestError.cmake"
)
return()
run_cmake_command(${TEST_NAME}-Build "${CMAKE_COMMAND}" --build "${RunCMake_TEST_BINARY_DIR}")
endif()
# execute cpack

View File

@ -1,7 +0,0 @@
file(READ "${bin_dir}/test_output.txt" output)
file(READ "${bin_dir}/test_error.txt" error)
message(FATAL_ERROR "Error in pre-test phase '${RunCMake_TEST_STEP}'!\n"
"Return code: '${return_code}'\n"
"Info output: '${output}'\n"
"Error output: '${error}'")