Hi, I just noticed that CTest 2.8.4 incorrectly parses valgrind's memcheck output because it does not always take into account that numbers reported by valgrind can be larger than 1,000 and then will contain a comma as thousand-delimiter. Therefore, many errors/potential errors are not correctly reported in the dashboard.
Am I missing anything? The attached patch solves the problem. I hope I caught all cases. Should I open a bug report for this? Regards Johannes
Only in clean/cmake-2.8.4/Source/CTest: #cmCTestMemCheckHandler.cxx# diff -r clean/cmake-2.8.4/Source/CTest/cmCTestMemCheckHandler.cxx cmake-2.8.4/Source/CTest/cmCTestMemCheckHandler.cxx 663,664c663,664 < "== .*[0-9][0-9]* bytes in [0-9][0-9]* blocks are definitely lost" < " in loss record [0-9][0-9]* of [0-9]"); --- > "== .*[0-9]*,?[0-9]* bytes in [0-9]*,?[0-9]* blocks are definitely lost" > " in loss record [0-9]*,?[0-9]* of [0-9]*,?[0-9]*"); 666,668c666,668 < "== .*[0-9][0-9]* \\([0-9]*,?[0-9]* direct, [0-9]*,?[0-9]* indirect\\)" < " bytes in [0-9][0-9]* blocks are definitely lost" < " in loss record [0-9][0-9]* of [0-9]"); --- > "== .*[0-9]*,?[0-9]* \\([0-9]*,?[0-9]* direct, [0-9]*,?[0-9]* indirect\\)" > " bytes in [0-9]*,?[0-9]* blocks are definitely lost" > " in loss record [0-9]*,?[0-9]* of [0-9]*,?[0-9]*"); 672,673c672,673 < "== .*[0-9][0-9]* bytes in [0-9][0-9]* blocks are possibly lost in" < " loss record [0-9][0-9]* of [0-9]"); --- > "== .*[0-9]*,?[0-9]* bytes in [0-9]*,?[0-9]* blocks are possibly lost in" > " loss record [0-9]*,?[0-9]* of [0-9],?[0-9]*"); 675,676c675,676 < "== .*[0-9][0-9]* bytes in [0-9][0-9]* blocks are still reachable" < " in loss record [0-9][0-9]* of [0-9]"); --- > "== .*[0-9]*,?[0-9]* bytes in [0-9]*,?[0-9]* blocks are still reachable" > " in loss record [0-9]*,?[0-9]* of [0-9]*,?[0-9]*"); 680,681c680,681 < "== .*Use of uninitialised value of size [0-9][0-9]*"); < cmsys::RegularExpression vgUMR2("== .*Invalid read of size [0-9][0-9]*"); --- > "== .*Use of uninitialised value of size [0-9]*,?[0-9]*"); > cmsys::RegularExpression vgUMR2("== .*Invalid read of size [0-9]*,?[0-9]*"); Only in clean/cmake-2.8.4/Source/CTest: cmCTestMemCheckHandler.cxx~
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake