From d8efcfc787b08e52c28611347e4c60cddde00aa2 Mon Sep 17 00:00:00 2001 From: David Cole Date: Tue, 6 Oct 2009 13:27:13 -0400 Subject: Increase coverage. Add test of class cmakewizard. (cmake -i 'mode') --- Tests/CMakeLists.txt | 5 +++++ Tests/CMakeWizardTest.cmake | 52 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 Tests/CMakeWizardTest.cmake diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index e87fd8c..28ee36e 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1312,6 +1312,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel ) ENDIF(NOT EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt") + ADD_TEST(CMakeWizardTest ${CMAKE_COMMAND} + -D build_dir:STRING=${CMAKE_CURRENT_BINARY_DIR}/CMakeWizardTest + -D source_dir:STRING=${CMAKE_CURRENT_SOURCE_DIR}/Tutorial/Step3 + -D CMAKE_CTEST_COMMAND:STRING=${CMAKE_CTEST_COMMAND} + -P ${CMAKE_CURRENT_SOURCE_DIR}/CMakeWizardTest.cmake) ENDIF(BUILD_TESTING) SUBDIRS(CMakeTests) diff --git a/Tests/CMakeWizardTest.cmake b/Tests/CMakeWizardTest.cmake new file mode 100644 index 0000000..bcae8af --- /dev/null +++ b/Tests/CMakeWizardTest.cmake @@ -0,0 +1,52 @@ +message("CTEST_FULL_OUTPUT (Avoid ctest truncation of output)") + +message(STATUS "build_dir='${build_dir}'") + +message(STATUS "source_dir='${source_dir}'") + + +execute_process(COMMAND ${CMAKE_COMMAND} -E + remove_directory ${build_dir} + TIMEOUT 5) + +execute_process(COMMAND ${CMAKE_COMMAND} -E + make_directory ${build_dir} + TIMEOUT 5) + +execute_process(COMMAND ${CMAKE_COMMAND} -E + copy_directory ${source_dir} ${build_dir}/src + TIMEOUT 5) + +execute_process(COMMAND ${CMAKE_COMMAND} -E + make_directory ${build_dir}/build + TIMEOUT 5) + +# This is enough to answer 32 questions with "the default answer is ok"... +# +file(WRITE ${build_dir}/input.txt + "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") + + +message(STATUS "running wizard mode (cmake -i)...") + +execute_process(COMMAND ${CMAKE_COMMAND} -i ../src + INPUT_FILE ${build_dir}/input.txt + WORKING_DIRECTORY ${build_dir}/build + TIMEOUT 5 + ) + + +message(STATUS "building...") + +execute_process(COMMAND ${CMAKE_COMMAND} --build . + WORKING_DIRECTORY ${build_dir}/build + TIMEOUT 5 + ) + + +message(STATUS "testing...") + +execute_process(COMMAND ${CMAKE_CTEST_COMMAND} + WORKING_DIRECTORY ${build_dir}/build + TIMEOUT 5 + ) -- cgit v0.12