Add test CMakeTestBadCommandLines. Also add --graphviz arg to cmake invoked during the CPackComponents test. The purpose of each is to increase coverage of cmake.cxx.
This commit is contained in:
parent
1bce13e2b3
commit
ae1e9900fa
|
@ -463,6 +463,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel
|
||||||
-DCPACK_BINARY_DEB:BOOL=${CPACK_BINARY_DEB}
|
-DCPACK_BINARY_DEB:BOOL=${CPACK_BINARY_DEB}
|
||||||
-DCPACK_BINARY_RPM:BOOL=${CPACK_BINARY_RPM}
|
-DCPACK_BINARY_RPM:BOOL=${CPACK_BINARY_RPM}
|
||||||
${CPackComponents_EXTRA_OPTIONS}
|
${CPackComponents_EXTRA_OPTIONS}
|
||||||
|
--graphviz=CPackComponents.dot
|
||||||
--test-command ${CMAKE_CMAKE_COMMAND}
|
--test-command ${CMAKE_CMAKE_COMMAND}
|
||||||
"-DCPackComponents_BINARY_DIR:PATH=${CMake_BINARY_DIR}/Tests/CPackComponents"
|
"-DCPackComponents_BINARY_DIR:PATH=${CMake_BINARY_DIR}/Tests/CPackComponents"
|
||||||
-P "${CMake_SOURCE_DIR}/Tests/CPackComponents/VerifyResult.cmake")
|
-P "${CMake_SOURCE_DIR}/Tests/CPackComponents/VerifyResult.cmake")
|
||||||
|
@ -535,6 +536,21 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel
|
||||||
"${CMake_BINARY_DIR}/Tests/CMakeTestAllGenerators")
|
"${CMake_BINARY_DIR}/Tests/CMakeTestAllGenerators")
|
||||||
ENDIF(CTEST_RUN_CMakeTestAllGenerators)
|
ENDIF(CTEST_RUN_CMakeTestAllGenerators)
|
||||||
|
|
||||||
|
if(NOT DEFINED CTEST_RUN_CMakeTestBadCommandLines)
|
||||||
|
set(CTEST_RUN_CMakeTestBadCommandLines ON)
|
||||||
|
endif(NOT DEFINED CTEST_RUN_CMakeTestBadCommandLines)
|
||||||
|
|
||||||
|
IF(CTEST_RUN_CMakeTestBadCommandLines)
|
||||||
|
ADD_TEST(CMakeTestBadCommandLines ${CMAKE_CMAKE_COMMAND}
|
||||||
|
-D dir=${CMake_BINARY_DIR}/Tests/CMakeTestBadCommandLines
|
||||||
|
-D gen=${CMAKE_TEST_GENERATOR}
|
||||||
|
-D CMake_SOURCE_DIR=${CMake_SOURCE_DIR}
|
||||||
|
-P ${CMake_SOURCE_DIR}/Tests/CMakeTestBadCommandLines/RunCMake.cmake
|
||||||
|
)
|
||||||
|
LIST(APPEND TEST_BUILD_DIRS
|
||||||
|
"${CMake_BINARY_DIR}/Tests/CMakeTestBadCommandLines")
|
||||||
|
ENDIF(CTEST_RUN_CMakeTestBadCommandLines)
|
||||||
|
|
||||||
if(NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures)
|
if(NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures)
|
||||||
set(CTEST_RUN_CMakeTestMultipleConfigures ON)
|
set(CTEST_RUN_CMakeTestMultipleConfigures ON)
|
||||||
endif(NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures)
|
endif(NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures)
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
if(NOT DEFINED CMake_SOURCE_DIR)
|
||||||
|
message(FATAL_ERROR "CMake_SOURCE_DIR not defined")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED dir)
|
||||||
|
message(FATAL_ERROR "dir not defined")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED gen)
|
||||||
|
message(FATAL_ERROR "gen not defined")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)")
|
||||||
|
|
||||||
|
# First setup a source tree to run CMake on.
|
||||||
|
#
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
|
${CMake_SOURCE_DIR}/Tests/CTestTest/SmallAndFast
|
||||||
|
${dir}/Source
|
||||||
|
)
|
||||||
|
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
|
||||||
|
${dir}/Build
|
||||||
|
)
|
||||||
|
|
||||||
|
function(RunCMakeWithArgs)
|
||||||
|
message(STATUS "info: running cmake with ARGN='${ARGN}'")
|
||||||
|
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} ${ARGN}
|
||||||
|
RESULT_VARIABLE result
|
||||||
|
OUTPUT_VARIABLE stdout
|
||||||
|
ERROR_VARIABLE stderr
|
||||||
|
WORKING_DIRECTORY ${dir}/Build
|
||||||
|
)
|
||||||
|
|
||||||
|
message(STATUS "result='${result}'")
|
||||||
|
message(STATUS "stdout='${stdout}'")
|
||||||
|
message(STATUS "stderr='${stderr}'")
|
||||||
|
message(STATUS "")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Run cmake once with no errors to get a good build tree:
|
||||||
|
#
|
||||||
|
RunCMakeWithArgs(-G ${gen} ../Source)
|
||||||
|
|
||||||
|
# Run cmake with args that produce some sort of problem to cover the error
|
||||||
|
# cases in cmake.cxx...
|
||||||
|
#
|
||||||
|
# (These are not good examples of cmake command lines. Do not copy and
|
||||||
|
# paste them elsewhere and expect them to work... See the cmake
|
||||||
|
# documentation or other real examples of usage instead.)
|
||||||
|
#
|
||||||
|
RunCMakeWithArgs()
|
||||||
|
RunCMakeWithArgs(-C)
|
||||||
|
RunCMakeWithArgs(-C nosuchcachefile.txt)
|
||||||
|
RunCMakeWithArgs(--check-stamp-file nostampfile)
|
||||||
|
RunCMakeWithArgs(--check-stamp-list nostamplist)
|
||||||
|
RunCMakeWithArgs(nosuchsubdir/CMakeCache.txt)
|
||||||
|
RunCMakeWithArgs(nosuchsubdir/CMakeLists.txt)
|
||||||
|
RunCMakeWithArgs(-D)
|
||||||
|
RunCMakeWithArgs(--debug-output .)
|
||||||
|
RunCMakeWithArgs(--debug-trycompile .)
|
||||||
|
RunCMakeWithArgs(-E)
|
||||||
|
RunCMakeWithArgs(-E create_symlink)
|
||||||
|
RunCMakeWithArgs(-E echo_append)
|
||||||
|
RunCMakeWithArgs(-E rename)
|
||||||
|
RunCMakeWithArgs(-E touch_nocreate)
|
||||||
|
RunCMakeWithArgs(-G)
|
||||||
|
RunCMakeWithArgs(--graphviz= ../Source)
|
||||||
|
RunCMakeWithArgs(--graphviz=g.dot .)
|
||||||
|
RunCMakeWithArgs(-P)
|
||||||
|
RunCMakeWithArgs(-P nosuchscriptfile.cmake)
|
||||||
|
RunCMakeWithArgs(--trace .)
|
||||||
|
RunCMakeWithArgs(-U)
|
||||||
|
RunCMakeWithArgs(-U nosuchvariable .)
|
||||||
|
RunCMakeWithArgs(-V)
|
||||||
|
RunCMakeWithArgs(-V .)
|
||||||
|
RunCMakeWithArgs(-Wno-dev .)
|
||||||
|
RunCMakeWithArgs(-Wdev .)
|
Loading…
Reference in New Issue