ENH: Support Threading Problem in memcheck

This commit is contained in:
Andy Cedilnik 2004-07-26 16:00:34 -04:00
parent fd50bc476c
commit 983919f5f3
1 changed files with 3 additions and 1 deletions

View File

@ -230,7 +230,7 @@ static const char* cmCTestMemCheckResultStrings[] = {
}; };
static const char* cmCTestMemCheckResultLongStrings[] = { static const char* cmCTestMemCheckResultLongStrings[] = {
"ABR", "Threading Problem",
"ABW", "ABW",
"ABWL", "ABWL",
"COR", "COR",
@ -4101,6 +4101,7 @@ bool cmCTest::ProcessMemCheckValgrindOutput(const std::string& str, std::string&
cmsys::RegularExpression vgUMR4( cmsys::RegularExpression vgUMR4(
"== .*Syscall param .* contains uninitialised or unaddressable byte\\(s\\)"); "== .*Syscall param .* contains uninitialised or unaddressable byte\\(s\\)");
cmsys::RegularExpression vgIPW("== .*Invalid write of size [0-9]"); cmsys::RegularExpression vgIPW("== .*Invalid write of size [0-9]");
cmsys::RegularExpression vgABR("== .*pthread_mutex_unlock: mutex is locked by a different thread");
//double sttime = cmSystemTools::GetTime(); //double sttime = cmSystemTools::GetTime();
//std::cout << "Start test: " << lines.size() << std::endl; //std::cout << "Start test: " << lines.size() << std::endl;
@ -4121,6 +4122,7 @@ bool cmCTest::ProcessMemCheckValgrindOutput(const std::string& str, std::string&
else if ( vgUMR3.find(lines[cc]) ){ failure = cmCTest::UMR; } else if ( vgUMR3.find(lines[cc]) ){ failure = cmCTest::UMR; }
else if ( vgUMR4.find(lines[cc]) ){ failure = cmCTest::UMR; } else if ( vgUMR4.find(lines[cc]) ){ failure = cmCTest::UMR; }
else if ( vgIPW.find(lines[cc]) ) { failure = cmCTest::IPW; } else if ( vgIPW.find(lines[cc]) ) { failure = cmCTest::IPW; }
else if ( vgABR.find(lines[cc]) ) { failure = cmCTest::ABR; }
if ( failure != cmCTest::NO_MEMORY_FAULT ) if ( failure != cmCTest::NO_MEMORY_FAULT )
{ {