Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
c7de609a
Commit
c7de609a
authored
Jul 14, 2005
by
Andy Cedilnik
Browse files
ENH: Add custom supression regular expressions
parent
b7b35d2c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Source/CTest/cmCTestCoverageHandler.cxx
View file @
c7de609a
...
...
@@ -40,6 +40,7 @@ cmCTestCoverageHandler::cmCTestCoverageHandler()
void
cmCTestCoverageHandler
::
Initialize
()
{
this
->
Superclass
::
Initialize
();
m_CustomCoverageExclude
.
empty
();
}
//----------------------------------------------------------------------
...
...
@@ -77,6 +78,18 @@ void cmCTestCoverageHandler::EndCoverageLogFile(cmGeneratedFileStream& ostr, int
bool
cmCTestCoverageHandler
::
ShouldIDoCoverage
(
const
char
*
file
,
const
char
*
srcDir
,
const
char
*
binDir
)
{
std
::
vector
<
cmsys
::
RegularExpression
>::
iterator
sit
;
for
(
sit
=
m_CustomCoverageExcludeRegex
.
begin
();
sit
!=
m_CustomCoverageExcludeRegex
.
end
();
++
sit
)
{
if
(
sit
->
find
(
file
)
)
{
cmCTestLog
(
m_CTest
,
HANDLER_VERBOSE_OUTPUT
,
" File "
<<
file
<<
" is excluded in CTestCustom.ctest"
<<
std
::
endl
;);
return
false
;
}
}
std
::
string
fSrcDir
=
cmSystemTools
::
CollapseFullPath
(
srcDir
);
std
::
string
fBinDir
=
cmSystemTools
::
CollapseFullPath
(
binDir
);
std
::
string
fFile
=
cmSystemTools
::
CollapseFullPath
(
file
);
...
...
@@ -219,6 +232,15 @@ int cmCTestCoverageHandler::ProcessHandler()
// No coverage files is a valid thing, so the exit code is 0
return
0
;
}
m_CustomCoverageExcludeRegex
.
empty
();
std
::
vector
<
cmStdString
>::
iterator
rexIt
;
for
(
rexIt
=
m_CustomCoverageExclude
.
begin
();
rexIt
!=
m_CustomCoverageExclude
.
end
();
++
rexIt
)
{
m_CustomCoverageExcludeRegex
.
push_back
(
cmsys
::
RegularExpression
(
rexIt
->
c_str
()));
}
typedef
std
::
vector
<
int
>
singleFileCoverageVector
;
typedef
std
::
map
<
std
::
string
,
singleFileCoverageVector
>
totalCoverageMap
;
...
...
@@ -697,3 +719,10 @@ int cmCTestCoverageHandler::ProcessHandler()
}
return
0
;
}
//----------------------------------------------------------------------
void
cmCTestCoverageHandler
::
PopulateCustomVectors
(
cmMakefile
*
mf
)
{
cmCTest
::
PopulateCustomVector
(
mf
,
"CTEST_CUSTOM_COVERAGE_EXCLUDE"
,
m_CustomCoverageExclude
);
}
Source/CTest/cmCTestCoverageHandler.h
View file @
c7de609a
...
...
@@ -22,6 +22,8 @@
#include "cmCTestGenericHandler.h"
#include "cmListFileCache.h"
#include <cmsys/RegularExpression.hxx>
class
cmGeneratedFileStream
;
/** \class cmCTestCoverageHandler
...
...
@@ -42,6 +44,11 @@ public:
virtual
void
Initialize
();
/**
* This method is called when reading CTest custom file
*/
void
PopulateCustomVectors
(
cmMakefile
*
mf
);
private:
bool
ShouldIDoCoverage
(
const
char
*
file
,
const
char
*
srcDir
,
const
char
*
binDir
);
...
...
@@ -90,6 +97,9 @@ private:
bool
m_Show
;
};
std
::
vector
<
cmStdString
>
m_CustomCoverageExclude
;
std
::
vector
<
cmsys
::
RegularExpression
>
m_CustomCoverageExcludeRegex
;
typedef
std
::
map
<
std
::
string
,
cmCTestCoverage
>
tm_CoverageMap
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment