summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2009-10-06 17:27:13 (GMT)
committerDavid Cole <david.cole@kitware.com>2009-10-06 17:27:13 (GMT)
commitd8efcfc787b08e52c28611347e4c60cddde00aa2 (patch)
treecc25588d7d05a26dc8e07eeed9ba841512f49eb5 /Tests
parent444e581860fe80dc013613bd6d967db1dbed4e18 (diff)
downloadCMake-d8efcfc787b08e52c28611347e4c60cddde00aa2.zip
CMake-d8efcfc787b08e52c28611347e4c60cddde00aa2.tar.gz
CMake-d8efcfc787b08e52c28611347e4c60cddde00aa2.tar.bz2
Increase coverage. Add test of class cmakewizard. (cmake -i 'mode')
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CMakeLists.txt5
-rw-r--r--Tests/CMakeWizardTest.cmake52
2 files changed, 57 insertions, 0 deletions
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
+ )