ENH: If dart or ctest are not found, use ctest. For default drop location etc, support http submit (just set DROP_METHOD to http. Only look for tclsh if DART_ROOT is set

This commit is contained in:
Andy Cedilnik 2004-10-12 18:29:04 -04:00
parent 9fd8d5f181
commit a4c8aee1f4

View File

@ -11,6 +11,8 @@
OPTION(BUILD_TESTING "Build the testing tree." "On") OPTION(BUILD_TESTING "Build the testing tree." "On")
IF(BUILD_TESTING) IF(BUILD_TESTING)
ENABLE_TESTING()
INCLUDE(${CMAKE_ROOT}/Modules/FindDart.cmake) INCLUDE(${CMAKE_ROOT}/Modules/FindDart.cmake)
# #
@ -29,11 +31,20 @@ IF(BUILD_TESTING)
SET (NIGHTLY_START_TIME "00:00:00 EDT") SET (NIGHTLY_START_TIME "00:00:00 EDT")
# Dart server to submit results (used by client) # Dart server to submit results (used by client)
SET (DROP_SITE "public.kitware.com") # There should be an option to specify submit method, but I will leave it
SET (DROP_LOCATION "/incoming") # commented until we decide what to do with it.
SET (DROP_SITE_USER "anonymous") # SET(DROP_METHOD "http" CACHE STRING "Set the CTest submit method. Valid options are http and ftp")
SET (DROP_SITE_PASSWORD "random@ringworld") IF(DROP_METHOD MATCHES http)
SET (DROP_SITE_MODE "active") SET (DROP_SITE "public.kitware.com")
SET (DROP_LOCATION "/cgi-bin/HTTPUploadDartFile.cgi")
ELSE(DROP_METHOD MATCHES http)
SET (DROP_SITE "public.kitware.com")
SET (DROP_LOCATION "/incoming")
SET (DROP_SITE_USER "anonymous")
SET (DROP_SITE_PASSWORD "random@ringworld")
SET (DROP_SITE_MODE "active")
ENDIF(DROP_METHOD MATCHES http)
SET (TRIGGER_SITE "http://${DROP_SITE}/cgi-bin/Submit-Random-TestingResults.pl") SET (TRIGGER_SITE "http://${DROP_SITE}/cgi-bin/Submit-Random-TestingResults.pl")
# Project Home Page # Project Home Page
@ -79,9 +90,6 @@ IF(BUILD_TESTING)
FIND_PROGRAM(SCPCOMMAND scp DOC "Path to scp command, used by some Dart clients for submitting results to a Dart server (when not using ftp for submissions)") FIND_PROGRAM(SCPCOMMAND scp DOC "Path to scp command, used by some Dart clients for submitting results to a Dart server (when not using ftp for submissions)")
FIND_PROGRAM(COVERAGE_COMMAND gcov DOC "Path to the coverage program that Dart client uses for performing coverage inspection") FIND_PROGRAM(COVERAGE_COMMAND gcov DOC "Path to the coverage program that Dart client uses for performing coverage inspection")
# find a tcl shell command
INCLUDE(${CMAKE_ROOT}/Modules/FindTclsh.cmake)
# set the site name # set the site name
SITE_NAME(SITE) SITE_NAME(SITE)
# set the build name # set the build name
@ -153,8 +161,13 @@ IF(BUILD_TESTING)
# #
# Make necessary directories and configure testing scripts # Make necessary directories and configure testing scripts
# #
# find a tcl shell command
IF(DART_ROOT)
INCLUDE(${CMAKE_ROOT}/Modules/FindTclsh.cmake)
ENDIF(DART_ROOT)
IF (DART_ROOT)
IF (DART_ROOT AND TCL_TCLSH)
# make directories in the binary tree # make directories in the binary tree
FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Dashboard FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Dashboard
${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Sites/${SITE}/${BUILDNAME}) ${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Sites/${SITE}/${BUILDNAME})
@ -172,84 +185,78 @@ IF(BUILD_TESTING)
# #
# add testing targets # add testing targets
IF(TCL_TCLSH) SET(DART_EXPERIMENTAL_NAME Experimental)
SET(DART_EXPERIMENTAL_NAME Experimental) IF(DART_EXPERIMENTAL_USE_PROJECT_NAME)
IF(DART_EXPERIMENTAL_USE_PROJECT_NAME) SET(DART_EXPERIMENTAL_NAME "${DART_EXPERIMENTAL_NAME}${PROJECT_NAME}")
SET(DART_EXPERIMENTAL_NAME "${DART_EXPERIMENTAL_NAME}${PROJECT_NAME}") ENDIF(DART_EXPERIMENTAL_USE_PROJECT_NAME)
ENDIF(DART_EXPERIMENTAL_USE_PROJECT_NAME) ADD_CUSTOM_TARGET(${DART_EXPERIMENTAL_NAME}
ADD_CUSTOM_TARGET(${DART_EXPERIMENTAL_NAME} ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Update Configure Build Test)
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Update Configure Build Test) ADD_CUSTOM_TARGET(${DART_EXPERIMENTAL_NAME}Submit
ADD_CUSTOM_TARGET(${DART_EXPERIMENTAL_NAME}Submit ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Submit)
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Submit)
# for non IDE based builds nmake and make # for non IDE based builds nmake and make
# add all these extra targets # add all these extra targets
IF(${CMAKE_MAKE_PROGRAM} MATCHES make) IF(${CMAKE_MAKE_PROGRAM} MATCHES make)
# Make targets for Experimental builds # Make targets for Experimental builds
ADD_CUSTOM_TARGET(ExperimentalStart ADD_CUSTOM_TARGET(ExperimentalStart
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start)
ADD_CUSTOM_TARGET(ExperimentalUpdate ADD_CUSTOM_TARGET(ExperimentalUpdate
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Update) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Update)
ADD_CUSTOM_TARGET(ExperimentalConfigure ADD_CUSTOM_TARGET(ExperimentalConfigure
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Configure) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Configure)
ADD_CUSTOM_TARGET(ExperimentalBuild ADD_CUSTOM_TARGET(ExperimentalBuild
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Build) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Start Build)
ADD_CUSTOM_TARGET(ExperimentalTest ADD_CUSTOM_TARGET(ExperimentalTest
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Test) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Test)
ADD_CUSTOM_TARGET(ExperimentalCoverage ADD_CUSTOM_TARGET(ExperimentalCoverage
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Coverage) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental Coverage)
ADD_CUSTOM_TARGET(ExperimentalDashboardStart ADD_CUSTOM_TARGET(ExperimentalDashboardStart
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental DashboardStart) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental DashboardStart)
ADD_CUSTOM_TARGET(ExperimentalDashboardEnd ADD_CUSTOM_TARGET(ExperimentalDashboardEnd
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental DashboardEnd) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Experimental DashboardEnd)
# Continuous # Continuous
ADD_CUSTOM_TARGET(Continuous ADD_CUSTOM_TARGET(Continuous
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Start Update Configure Build Test Submit) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Start Update Configure Build Test Submit)
ADD_CUSTOM_TARGET(ContinuousStart ADD_CUSTOM_TARGET(ContinuousStart
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Start) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Start)
ADD_CUSTOM_TARGET(ContinuousUpdate ADD_CUSTOM_TARGET(ContinuousUpdate
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Update) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Update)
ADD_CUSTOM_TARGET(ContinuousConfigure ADD_CUSTOM_TARGET(ContinuousConfigure
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Configure) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Configure)
ADD_CUSTOM_TARGET(ContinuousBuild ADD_CUSTOM_TARGET(ContinuousBuild
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Build) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Build)
ADD_CUSTOM_TARGET(ContinuousTest ADD_CUSTOM_TARGET(ContinuousTest
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Test) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Test)
ADD_CUSTOM_TARGET(ContinuousCoverage ADD_CUSTOM_TARGET(ContinuousCoverage
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Coverage) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Coverage)
ADD_CUSTOM_TARGET(ContinuousSubmit ADD_CUSTOM_TARGET(ContinuousSubmit
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Submit) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Continuous Submit)
# Nightly # Nightly
ADD_CUSTOM_TARGET(Nightly ADD_CUSTOM_TARGET(Nightly
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Start Update Configure Build Test Submit) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Start Update Configure Build Test Submit)
ADD_CUSTOM_TARGET(NightlyStart ADD_CUSTOM_TARGET(NightlyStart
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Start) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Start)
ADD_CUSTOM_TARGET(NightlyUpdate ADD_CUSTOM_TARGET(NightlyUpdate
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Update) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Update)
ADD_CUSTOM_TARGET(NightlyConfigure ADD_CUSTOM_TARGET(NightlyConfigure
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Configure) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Configure)
ADD_CUSTOM_TARGET(NightlyBuild ADD_CUSTOM_TARGET(NightlyBuild
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Build) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Build)
ADD_CUSTOM_TARGET(NightlyTest ADD_CUSTOM_TARGET(NightlyTest
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Test) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Test)
ADD_CUSTOM_TARGET(NightlyCoverage ADD_CUSTOM_TARGET(NightlyCoverage
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Coverage) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Coverage)
ADD_CUSTOM_TARGET(NightlySubmit ADD_CUSTOM_TARGET(NightlySubmit
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Submit) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly Submit)
ADD_CUSTOM_TARGET(NightlyDashboardStart ADD_CUSTOM_TARGET(NightlyDashboardStart
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly DashboardStart) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly DashboardStart)
ADD_CUSTOM_TARGET(NightlyDashboardEnd ADD_CUSTOM_TARGET(NightlyDashboardEnd
${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly DashboardEnd) ${TCL_TCLSH} ${DART_ROOT}/Source/Client/DashboardManager.tcl ${PROJECT_BINARY_DIR}/DartConfiguration.tcl Nightly DashboardEnd)
ENDIF (${CMAKE_MAKE_PROGRAM} MATCHES make) ENDIF (${CMAKE_MAKE_PROGRAM} MATCHES make)
ELSE(TCL_TCLSH) ELSE(DART_ROOT AND TCL_TCLSH)
MESSAGE("Could not find TCL_TCLSH, disabling testing." "Error")
ENDIF(TCL_TCLSH)
ENABLE_TESTING()
ELSE(DART_ROOT)
# make directories in the binary tree # make directories in the binary tree
FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary) FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary)
GET_FILENAME_COMPONENT(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH) GET_FILENAME_COMPONENT(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH)
@ -281,10 +288,10 @@ IF(BUILD_TESTING)
FOREACH(mode Experimental Nightly Continuous NightlyMemoryCheck) FOREACH(mode Experimental Nightly Continuous NightlyMemoryCheck)
ADD_CUSTOM_TARGET(${mode} ${CMAKE_CTEST_COMMAND} -D ${mode}) ADD_CUSTOM_TARGET(${mode} ${CMAKE_CTEST_COMMAND} -D ${mode})
ENDFOREACH(mode) ENDFOREACH(mode)
SET (DART_COMMON_TARGETS_ADDED 1) SET (DART_COMMON_TARGETS_ADDED 1)
ENDIF (NOT DART_COMMON_TARGETS_ADDED) ENDIF (NOT DART_COMMON_TARGETS_ADDED)
ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES make) ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES make)
# for non IDE based builds nmake and make # for non IDE based builds nmake and make
# add all these extra targets # add all these extra targets
@ -298,7 +305,7 @@ IF(BUILD_TESTING)
ENDFOREACH(testtype) ENDFOREACH(testtype)
ENDFOREACH(mode) ENDFOREACH(mode)
ENDIF (${CMAKE_MAKE_PROGRAM} MATCHES make) ENDIF (${CMAKE_MAKE_PROGRAM} MATCHES make)
ENDIF (DART_ROOT) ENDIF (DART_ROOT AND TCL_TCLSH)
ENDIF(BUILD_TESTING) ENDIF(BUILD_TESTING)
# #