diff options
author | Zack Galbreath <zack.galbreath@kitware.com> | 2015-10-29 20:08:10 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-11-16 14:08:42 (GMT) |
commit | 1db32ffe98272ded29827b833f373ffa399429e9 (patch) | |
tree | 27aca5b30177c4e746fd107090aa3a3966c30ebc /Source/CTest/cmCTestCoverageHandler.cxx | |
parent | 4f9a02db41a93822547c4cafd00d545adf07eb86 (diff) | |
download | CMake-1db32ffe98272ded29827b833f373ffa399429e9.zip CMake-1db32ffe98272ded29827b833f373ffa399429e9.tar.gz CMake-1db32ffe98272ded29827b833f373ffa399429e9.tar.bz2 |
ctest_coverage: Search for Jacoco files in the binary directory
Search for Jacoco coverage files in both the source directory
and the binary directory.
Diffstat (limited to 'Source/CTest/cmCTestCoverageHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestCoverageHandler.cxx | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx index 20807c8..d358a93 100644 --- a/Source/CTest/cmCTestCoverageHandler.cxx +++ b/Source/CTest/cmCTestCoverageHandler.cxx @@ -913,16 +913,33 @@ int cmCTestCoverageHandler::HandleJacocoCoverage( { cmParseJacocoCoverage cov = cmParseJacocoCoverage(*cont, this->CTest); - cmsys::Glob g; + + // Search in the source directory. + cmsys::Glob g1; std::vector<std::string> files; - g.SetRecurse(true); + g1.SetRecurse(true); std::string SourceDir = this->CTest->GetCTestConfiguration("SourceDirectory"); std::string coverageFile = SourceDir+ "/*jacoco.xml"; - g.FindFiles(coverageFile); - files=g.GetFiles(); + g1.FindFiles(coverageFile); + files = g1.GetFiles(); + + // ...and in the binary directory. + cmsys::Glob g2; + std::vector<std::string> binFiles; + g2.SetRecurse(true); + std::string binaryDir + = this->CTest->GetCTestConfiguration("BuildDirectory"); + std::string binCoverageFile = binaryDir+ "/*jacoco.xml"; + g2.FindFiles(binCoverageFile); + binFiles = g2.GetFiles(); + if (!binFiles.empty()) + { + files.insert(files.end(), binFiles.begin(), binFiles.end()); + } + if (!files.empty()) { cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, |