[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