[Cmake-commits] [cmake-commits] david.cole committed CheckSourceTreeTest.cmake.in 1.1 1.2
cmake-commits at cmake.org
cmake-commits at cmake.org
Fri Jul 24 17:12:39 EDT 2009
Update of /cvsroot/CMake/CMake/Tests/CMakeTests
In directory public:/mounts/ram/cvs-serv21673/Tests/CMakeTests
Modified Files:
CheckSourceTreeTest.cmake.in
Log Message:
BUG: Improve CheckSourceTree test so that it ignores 'U ' output from cvs update. Also: improve failure logic for dashboard runs and developer runs.
Index: CheckSourceTreeTest.cmake.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/CMakeTests/CheckSourceTreeTest.cmake.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -C 2 -d -r1.1 -r1.2
*** CheckSourceTreeTest.cmake.in 24 Jul 2009 19:58:23 -0000 1.1
--- CheckSourceTreeTest.cmake.in 24 Jul 2009 21:12:37 -0000 1.2
***************
*** 14,17 ****
--- 14,18 ----
# CMake source tree:
#
+ message(STATUS "")
message(STATUS
"=============================================================================")
***************
*** 22,28 ****
RESULT_VARIABLE rv)
set(modifications 0)
if(NOT ov STREQUAL "")
! set(modifications 1)
endif()
--- 23,52 ----
RESULT_VARIABLE rv)
+ set(additions 0)
+ set(conflicts 0)
set(modifications 0)
+
if(NOT ov STREQUAL "")
! string(REPLACE "\\\\;" ";" lines "${ov}")
! string(REPLACE "\n" "E;" lines "${lines}")
!
! foreach(line ${lines})
! message(STATUS "${line}")
!
! if(line MATCHES "^\\? ")
! message(STATUS "locally added file/directory detected...")
! set(additions 1)
! endif()
!
! if(line MATCHES "^C ")
! message(STATUS "conflict detected...")
! set(conflicts 1)
! endif()
!
! if(line MATCHES "^M ")
! message(STATUS "locally modified file detected...")
! set(modifications 1)
! endif()
! endforeach()
endif()
***************
*** 31,34 ****
--- 55,61 ----
message(STATUS "ov='${ov}'")
message(STATUS "ev='${ev}'")
+ message(STATUS "")
+ message(STATUS "additions='${additions}'")
+ message(STATUS "conflicts='${conflicts}'")
message(STATUS "modifications='${modifications}'")
***************
*** 36,49 ****
# Decide if the test passes or fails:
#
if("$ENV{DASHBOARD_TEST_FROM_CTEST}" STREQUAL "")
! message(STATUS "non-dashboard interactive test run")
! # developers are allowed to have local modifications... :-)
else()
message(STATUS "dashboard test run")
if(modifications)
message(FATAL_ERROR "test fails: source tree modifications")
endif()
endif()
message(STATUS "test passes")
--- 63,99 ----
# Decide if the test passes or fails:
#
+ message(STATUS "")
+ message(STATUS
+ "=============================================================================")
+
if("$ENV{DASHBOARD_TEST_FROM_CTEST}" STREQUAL "")
!
! # developers are allowed to have local modifications...
! message(STATUS "interactive test run")
! message(STATUS "")
!
else()
+
message(STATUS "dashboard test run")
+ message(STATUS "")
+ # but dashboard machines are not allowed to have local modifications...
if(modifications)
message(FATAL_ERROR "test fails: source tree modifications")
endif()
+
+ endif()
+
+ # ...and nobody is allowed to have local additions or conflicts...
+ # Not even developers.
+ #
+ if(additions)
+ message(FATAL_ERROR "test fails: source tree additions: use cvs add before committing or remove the files from the source tree")
+ endif()
+
+ if(conflicts)
+ message(FATAL_ERROR "test fails: source tree conflicts: resolve before committing")
endif()
message(STATUS "test passes")
+ message(STATUS "")
More information about the Cmake-commits
mailing list