diff options
-rw-r--r-- | Source/CTest/cmCTestP4.cxx | 12 | ||||
-rw-r--r-- | Tests/CTestUpdateCommon.cmake | 9 | ||||
-rw-r--r-- | Tests/CTestUpdateP4.cmake.in | 1 |
3 files changed, 11 insertions, 11 deletions
diff --git a/Source/CTest/cmCTestP4.cxx b/Source/CTest/cmCTestP4.cxx index a504157..0058721 100644 --- a/Source/CTest/cmCTestP4.cxx +++ b/Source/CTest/cmCTestP4.cxx @@ -144,17 +144,7 @@ private: if(!this->Line.empty() && this->Line[0] == '=' && this->RegexDiff.find(this->Line)) { - std::string Path = this->RegexDiff.match(1); - // See if we need to remove the //depot prefix - if(Path.length() > 2 && Path[0] == '/' && Path[1] == '/') - { - size_t found = Path.find('/', 2); - if(found != std::string::npos) - { - Path = Path.substr(found + 1); - } - } - CurrentPath = Path; + CurrentPath = this->RegexDiff.match(1); AlreadyNotified = false; } else diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake index ae8fda2..db4e08d 100644 --- a/Tests/CTestUpdateCommon.cmake +++ b/Tests/CTestUpdateCommon.cmake @@ -37,10 +37,19 @@ function(check_updates build) REGEX "<(${types}|FullName)>" LIMIT_INPUT ${max_update_xml_size} ) + string(REGEX REPLACE "[ \t]*<(${types})>[ \t]*;[ \t]*<FullName>([^<]*)</FullName>" "\\1{\\2}" UPDATE_XML_ENTRIES "${UPDATE_XML_ENTRIES}") + # If specified, remove the given prefix from the files in Update.xml. + # Some VCS systems, like Perforce, return absolute locations + if(DEFINED REPOSITORY_FILE_PREFIX) + string(REPLACE + "${REPOSITORY_FILE_PREFIX}" "" + UPDATE_XML_ENTRIES "${UPDATE_XML_ENTRIES}") + endif() + # Compare expected and actual entries set(EXTRA "${UPDATE_XML_ENTRIES}") list(REMOVE_ITEM EXTRA ${ARGN} ${UPDATE_EXTRA} ${UPDATE_MAYBE}) diff --git a/Tests/CTestUpdateP4.cmake.in b/Tests/CTestUpdateP4.cmake.in index f23bd11..f0420c4 100644 --- a/Tests/CTestUpdateP4.cmake.in +++ b/Tests/CTestUpdateP4.cmake.in @@ -8,6 +8,7 @@ set(P4_TOP "${TOP}") set(TOP "${TOP}/@CTestUpdateP4_DIR@") # Include code common to all update tests. +set(REPOSITORY_FILE_PREFIX "//ctest/") include("@CMAKE_CURRENT_SOURCE_DIR@/CTestUpdateCommon.cmake") #----------------------------------------------------------------------------- |