[CMake] CTest script doesn't checkout the head revision
Felipe Sodre dos Santos
felipe.sodre at totvs.com.br
Fri Mar 19 09:08:39 EDT 2010
Hi. I have a ctest script for my nightly builds, as follows:
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
SET (CTEST_SITE "mysite")
SET (CTEST_BUILD_NAME "myproject")
SET (CTEST_DASHBOARD_ROOT "C:/myproject")
SET (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}")
SET (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}")
SET (ENV{COVFILE} "${CTEST_BINARY_DIRECTORY}/CMake.cov")
SET (CTEST_NIGHTLY_START_TIME "00:00:00 EST")
SET (CTEST_DROP_METHOD "http")
SET (CTEST_DROP_SITE "127.0.0.1")
SET (CTEST_DROP_LOCATION "/CDash/submit.php?project=myproject")
SET (CTEST_DROP_SITE_CDASH TRUE)
SET (CTEST_UPDATE_COMMAND "svn")
SET (REPO_USERNAME nightly_builder)
SET (REPO_PASSWORD nightly_builder_pass)
SET (REPO https://myrepo/svn/myproject/trunk)
SET (CTEST_CVS_CHECKOUT "svn co ${REPO} --username ${REPO_USERNAME} --password ${REPO_PASSWORD} ${CTEST_SOURCE_DIRECTORY}")
SET (CTEST_CMAKE_COMMAND "cmake .")
SET (CTEST_CMAKE_GENERATOR "Visual Studio 8 2005")
SET (CTEST_PROJECT_NAME "myproject")
CTEST_EMPTY_BINARY_DIRECTORY (${CTEST_BINARY_DIRECTORY})
message("CTest Directory: ${CTEST_DASHBOARD_ROOT}")
message("Initial checkout: ${CTEST_CVS_CHECKOUT}")
message("Initial cmake: ${CTEST_CMAKE_COMMAND}")
message("CTest command: ${CTEST_COMMAND}")
FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
CTEST_TEST_CTEST:BOOL=1
")
FIND_PROGRAM(COV01 cov01)
IF(NOT COV01)
MESSAGE(FATAL_ERROR "Could not find cov01")
ENDIF(NOT COV01)
SET(RES 1)
EXECUTE_PROCESS(COMMAND ${COV01} -0 RESULT_VARIABLE RES)
IF(RES)
MESSAGE(FATAL_ERROR "Could not run cov01 -0")
ENDIF(RES)
CTEST_START (Nightly)
CTEST_UPDATE (SOURCE "${CTEST_SOURCE_DIRECTORY}")
CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}")
SET(RES 1)
EXECUTE_PROCESS(COMMAND ${COV01} -1 RESULT_VARIABLE RES)
IF(RES)
MESSAGE(FATAL_ERROR "Could not run cov01 -1")
ENDIF(RES)
CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}")
CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}")
CTEST_COVERAGE(BUILD "${CTEST_BINARY_DIRECTORY}")
CTEST_SUBMIT()
EXECUTE_PROCESS(COMMAND ${COV01} -0 RESULT_VARIABLE RES)
And the batch file that calls this script is as follows:
rmdir /S /Q \myproject
ctest -S myproject.ctest
That is, it erases the previous checkout before actually start a new one.
However, sometimes it seems like the checkout isn't made right, since it doesn't check out the HEAD revision (I know that because when I see a broken build in the morning, I do a svn update in the build directory and it updates many files that weren't changed in the mean time).
Am I doing anything wrong in the script?
Thanks !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100319/ea45dba1/attachment.htm>
More information about the CMake
mailing list