mirror of
https://github.com/reactos/CMake.git
synced 2024-11-24 03:59:58 +00:00
Added test coverage for ctest. Covers WILL_FAIL condition, tests that do not build, tests that segfault, and test executable not found (bad command), as well as some pass and fail regular expressions.
This commit is contained in:
parent
311eb30672
commit
78e0bfa0fd
@ -1047,6 +1047,39 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel
|
||||
-S "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest3/testOutput.log"
|
||||
)
|
||||
|
||||
CONFIGURE_FILE(
|
||||
"${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoBuild.cmake.in"
|
||||
"${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake"
|
||||
@ONLY ESCAPE_QUOTES)
|
||||
ADD_TEST(CTestTestNoBuild ${CMAKE_CTEST_COMMAND}
|
||||
-S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut1.log"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(CTestTestNoBuild PROPERTIES WILL_FAIL 1)
|
||||
|
||||
CONFIGURE_FILE(
|
||||
"${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoExe.cmake.in"
|
||||
"${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake"
|
||||
@ONLY ESCAPE_QUOTES)
|
||||
ADD_TEST(CTestTestNoExe ${CMAKE_CTEST_COMMAND}
|
||||
-S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut2.log"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(CTestTestNoExe PROPERTIES DEPENDS CTestTestNoBuild
|
||||
PASS_REGULAR_EXPRESSION "Could not find executable"
|
||||
FAIL_REGULAR_EXPRESSION "SegFault")
|
||||
|
||||
CONFIGURE_FILE(
|
||||
"${CMake_SOURCE_DIR}/Tests/CTestTestCrash/test.cmake.in"
|
||||
"${CMake_BINARY_DIR}/Tests/CTestTestCrash/test.cmake"
|
||||
@ONLY ESCAPE_QUOTES)
|
||||
ADD_TEST(CTestTestCrash ${CMAKE_CTEST_COMMAND}
|
||||
-S "${CMake_BINARY_DIR}/Tests/CTestTestCrash/test.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestCrash/testOutput.log"
|
||||
)
|
||||
SET_TESTS_PROPERTIES(CTestTestCrash PROPERTIES
|
||||
PASS_REGULAR_EXPRESSION "SegFault")
|
||||
ADD_TEST(CTestTestShowOnly ${CMAKE_CTEST_COMMAND}
|
||||
-N
|
||||
)
|
||||
|
19
Tests/CTestTestCrash/CMakeLists.txt
Normal file
19
Tests/CTestTestCrash/CMakeLists.txt
Normal file
@ -0,0 +1,19 @@
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
PROJECT(CTestTestCrash)
|
||||
|
||||
SET(DART_ROOT "" CACHE STRING "" FORCE)
|
||||
ENABLE_TESTING()
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
|
||||
|
||||
GET_FILENAME_COMPONENT(CTEST_COMMAND "${CMAKE_COMMAND}" PATH)
|
||||
SET(CTEST_COMMAND "${CTEST_COMMAND}/ctest")
|
||||
|
||||
ADD_EXECUTABLE (Crash crash.cxx)
|
||||
TARGET_LINK_LIBRARIES (NoBuild ${EXTRA_LIBS})
|
||||
|
||||
ENABLE_TESTING ()
|
||||
|
||||
ADD_TEST (TestCrash Crash)
|
||||
|
||||
INCLUDE (CTest)
|
||||
|
7
Tests/CTestTestCrash/CTestConfig.cmake
Normal file
7
Tests/CTestTestCrash/CTestConfig.cmake
Normal file
@ -0,0 +1,7 @@
|
||||
set (CTEST_PROJECT_NAME "CTestTestCrash")
|
||||
set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
||||
set (CTEST_DART_SERVER_VERSION "2")
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "www.cdash.org")
|
||||
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
6
Tests/CTestTestCrash/crash.cxx
Normal file
6
Tests/CTestTestCrash/crash.cxx
Normal file
@ -0,0 +1,6 @@
|
||||
//causes a segfault
|
||||
int main()
|
||||
{
|
||||
int* ptr = 0;
|
||||
*ptr = 1;
|
||||
}
|
35
Tests/CTestTestCrash/test.cmake.in
Normal file
35
Tests/CTestTestCrash/test.cmake.in
Normal file
@ -0,0 +1,35 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
|
||||
|
||||
# Settings:
|
||||
SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
||||
SET(CTEST_SITE "@SITE@")
|
||||
SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Crash")
|
||||
|
||||
SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCrash")
|
||||
SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCrash")
|
||||
SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
||||
SET(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
SET(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
|
||||
SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
|
||||
SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
|
||||
SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
||||
SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
||||
|
||||
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
|
||||
|
||||
|
||||
FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
|
||||
CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
|
||||
CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
|
||||
CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
|
||||
CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
|
||||
CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
|
||||
CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
|
||||
")
|
||||
|
||||
CTEST_START(Experimental)
|
||||
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
#CTEST_SUBMIT()
|
19
Tests/CTestTestFailure/CMakeLists.txt
Normal file
19
Tests/CTestTestFailure/CMakeLists.txt
Normal file
@ -0,0 +1,19 @@
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
PROJECT(CTestTestFailure)
|
||||
|
||||
SET(DART_ROOT "" CACHE STRING "" FORCE)
|
||||
ENABLE_TESTING()
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
|
||||
|
||||
GET_FILENAME_COMPONENT(CTEST_COMMAND "${CMAKE_COMMAND}" PATH)
|
||||
SET(CTEST_COMMAND "${CTEST_COMMAND}/ctest")
|
||||
|
||||
ADD_EXECUTABLE (NoBuild badCode.cxx)
|
||||
TARGET_LINK_LIBRARIES (NoBuild ${EXTRA_LIBS})
|
||||
|
||||
ENABLE_TESTING ()
|
||||
|
||||
ADD_TEST (TestNoExe NoBuild)
|
||||
|
||||
INCLUDE (CTest)
|
||||
|
7
Tests/CTestTestFailure/CTestConfig.cmake
Normal file
7
Tests/CTestTestFailure/CTestConfig.cmake
Normal file
@ -0,0 +1,7 @@
|
||||
set (CTEST_PROJECT_NAME "CTestTestFailure")
|
||||
set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
||||
set (CTEST_DART_SERVER_VERSION "2")
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "www.cdash.org")
|
||||
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
4
Tests/CTestTestFailure/badCode.cxx
Normal file
4
Tests/CTestTestFailure/badCode.cxx
Normal file
@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
this code will not compile
|
||||
}
|
34
Tests/CTestTestFailure/testNoBuild.cmake.in
Normal file
34
Tests/CTestTestFailure/testNoBuild.cmake.in
Normal file
@ -0,0 +1,34 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
|
||||
|
||||
# Settings:
|
||||
SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
||||
SET(CTEST_SITE "@SITE@")
|
||||
SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-NoBuild")
|
||||
|
||||
SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFailure")
|
||||
SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFailure")
|
||||
SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
||||
SET(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
SET(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
|
||||
SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
|
||||
SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
|
||||
SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
||||
SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
||||
|
||||
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
|
||||
|
||||
|
||||
FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
|
||||
CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
|
||||
CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
|
||||
CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
|
||||
CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
|
||||
CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
|
||||
CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
|
||||
")
|
||||
|
||||
CTEST_START(Experimental)
|
||||
#CTEST_UPDATE(SOURCE "${CTEST_SOURCE_DIRECTORY}" RETURN_VALUE res)
|
||||
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
32
Tests/CTestTestFailure/testNoExe.cmake.in
Normal file
32
Tests/CTestTestFailure/testNoExe.cmake.in
Normal file
@ -0,0 +1,32 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
|
||||
|
||||
# Settings:
|
||||
SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
||||
SET(CTEST_SITE "@SITE@")
|
||||
SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-NoExe")
|
||||
|
||||
SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFailure")
|
||||
SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFailure")
|
||||
SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
||||
SET(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
SET(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
|
||||
SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
|
||||
SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
|
||||
SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
||||
SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
||||
|
||||
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
|
||||
|
||||
|
||||
FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
|
||||
CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
|
||||
CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
|
||||
CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
|
||||
CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
|
||||
CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
|
||||
CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
|
||||
")
|
||||
|
||||
CTEST_START(Experimental)
|
||||
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
Loading…
Reference in New Issue
Block a user