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

Reply via email to