Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
For testing purposes CMake creates dummy memory checkers. The dummy checkers are in the CMake build tree. Before this change when the path contained the string valgrind, such as CMake-valgrind, all the checkers were thought to be valgrind, and this caused tests to fail.
This commit is contained in:
parent
ba36363121
commit
58cc3c22ef
|
@ -423,17 +423,18 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
|
||||||
{
|
{
|
||||||
this->MemoryTester
|
this->MemoryTester
|
||||||
= this->CTest->GetCTestConfiguration("MemoryCheckCommand").c_str();
|
= this->CTest->GetCTestConfiguration("MemoryCheckCommand").c_str();
|
||||||
|
std::string testerName =
|
||||||
|
cmSystemTools::GetFilenameName(this->MemoryTester);
|
||||||
// determine the checker type
|
// determine the checker type
|
||||||
if ( this->MemoryTester.find("valgrind") != std::string::npos )
|
if ( testerName.find("valgrind") != std::string::npos )
|
||||||
{
|
{
|
||||||
this->MemoryTesterStyle = cmCTestMemCheckHandler::VALGRIND;
|
this->MemoryTesterStyle = cmCTestMemCheckHandler::VALGRIND;
|
||||||
}
|
}
|
||||||
else if ( this->MemoryTester.find("purify") != std::string::npos )
|
else if ( testerName.find("purify") != std::string::npos )
|
||||||
{
|
{
|
||||||
this->MemoryTesterStyle = cmCTestMemCheckHandler::PURIFY;
|
this->MemoryTesterStyle = cmCTestMemCheckHandler::PURIFY;
|
||||||
}
|
}
|
||||||
else if ( this->MemoryTester.find("BC") != std::string::npos )
|
else if ( testerName.find("BC") != std::string::npos )
|
||||||
{
|
{
|
||||||
this->MemoryTesterStyle = cmCTestMemCheckHandler::BOUNDS_CHECKER;
|
this->MemoryTesterStyle = cmCTestMemCheckHandler::BOUNDS_CHECKER;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue