[Cmake-commits] [cmake-commits] david.cole committed cmCTestCoverageHandler.cxx 1.53 1.54

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Jul 31 11:28:47 EDT 2008


Update of /cvsroot/CMake/CMake/Source/CTest
In directory public:/mounts/ram/cvs-serv22704

Modified Files:
	cmCTestCoverageHandler.cxx 
Log Message:
BUG: Fix issue #4971 - use lower case when comparing file names from gcov output on _WIN32 since sometimes the drive letters have different case.


Index: cmCTestCoverageHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestCoverageHandler.cxx,v
retrieving revision 1.53
retrieving revision 1.54
diff -C 2 -d -r1.53 -r1.54
*** cmCTestCoverageHandler.cxx	10 May 2008 15:12:09 -0000	1.53
--- cmCTestCoverageHandler.cxx	31 Jul 2008 15:28:45 -0000	1.54
***************
*** 641,644 ****
--- 641,656 ----
  
  //----------------------------------------------------------------------
+ // Fix for issue #4971 where the case of the drive letter component of
+ // the filenames might be different when analyzing gcov output.
+ //
+ // Compare file names: fnc(fn1) == fnc(fn2) // fnc == file name compare
+ //
+ #ifdef _WIN32
+ #define fnc(s) cmSystemTools::LowerCase(s)
+ #else
+ #define fnc(s) s
+ #endif
+ 
+ //----------------------------------------------------------------------
  int cmCTestCoverageHandler::HandleGCovCoverage(
    cmCTestCoverageHandlerContainer* cont)
***************
*** 970,976 ****
          {
          gcovFile = "";
          // Is it in the source dir?
          if ( sourceFile.size() > cont->SourceDir.size() &&
!           sourceFile.substr(0, cont->SourceDir.size()) == cont->SourceDir &&
            sourceFile[cont->SourceDir.size()] == '/' )
            {
--- 982,990 ----
          {
          gcovFile = "";
+ 
          // Is it in the source dir?
          if ( sourceFile.size() > cont->SourceDir.size() &&
!           (fnc(sourceFile.substr(0, cont->SourceDir.size())) ==
!             fnc(cont->SourceDir)) &&
            sourceFile[cont->SourceDir.size()] == '/' )
            {
***************
*** 982,988 ****
              = cmSystemTools::CollapseFullPath(sourceFile.c_str());
            }
          // Binary dir?
          if ( sourceFile.size() > cont->BinaryDir.size() &&
!           sourceFile.substr(0, cont->BinaryDir.size()) == cont->BinaryDir &&
            sourceFile[cont->BinaryDir.size()] == '/' )
            {
--- 996,1004 ----
              = cmSystemTools::CollapseFullPath(sourceFile.c_str());
            }
+ 
          // Binary dir?
          if ( sourceFile.size() > cont->BinaryDir.size() &&
!           (fnc(sourceFile.substr(0, cont->BinaryDir.size())) ==
!             fnc(cont->BinaryDir)) &&
            sourceFile[cont->BinaryDir.size()] == '/' )
            {
***************
*** 994,997 ****
--- 1010,1014 ----
              = cmSystemTools::CollapseFullPath(sourceFile.c_str());
            }
+ 
          if ( actualSourceFile.empty() )
            {



More information about the Cmake-commits mailing list