summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2004-07-26 20:00:34 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2004-07-26 20:00:34 (GMT)
commit983919f5f3b71ef5053f8a0bf6010c3b3fce8d61 (patch)
tree5d57fdbd674cb23e0f3700d0e4249ab9d5bce320
parentfd50bc476c8995084b2339fad6e37be09a211850 (diff)
downloadCMake-983919f5f3b71ef5053f8a0bf6010c3b3fce8d61.zip
CMake-983919f5f3b71ef5053f8a0bf6010c3b3fce8d61.tar.gz
CMake-983919f5f3b71ef5053f8a0bf6010c3b3fce8d61.tar.bz2
ENH: Support Threading Problem in memcheck
-rw-r--r--Source/cmCTest.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 6bc9bd7..fafadba 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -230,7 +230,7 @@ static const char* cmCTestMemCheckResultStrings[] = {
};
static const char* cmCTestMemCheckResultLongStrings[] = {
- "ABR",
+ "Threading Problem",
"ABW",
"ABWL",
"COR",
@@ -4101,6 +4101,7 @@ bool cmCTest::ProcessMemCheckValgrindOutput(const std::string& str, std::string&
cmsys::RegularExpression vgUMR4(
"== .*Syscall param .* contains uninitialised or unaddressable byte\\(s\\)");
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();
//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 ( vgUMR4.find(lines[cc]) ){ failure = cmCTest::UMR; }
else if ( vgIPW.find(lines[cc]) ) { failure = cmCTest::IPW; }
+ else if ( vgABR.find(lines[cc]) ) { failure = cmCTest::ABR; }
if ( failure != cmCTest::NO_MEMORY_FAULT )
{