<div dir="ltr">Hi Jochen,<br><div class="gmail_extra"><br><div class="gmail_quote">2013/7/24 Jochen Topf <span dir="ltr"><<a href="mailto:jochen@remote.org" target="_blank">jochen@remote.org</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
thanks for your work. I have just accepted your pull request. One tiny issue:<br>
When running the tests under valgrind I don't see the output of valgrind any<br>
more, so can't check it. Hm, maybe if valgrind isn't happy the Makefile sees<br>
it as a test failure and outputs everything? I haven't check that.<br></blockquote><div><br></div><div>You are right, valgrind output doesn't show, even if it reports errors. In fact I didn't use valgrind, so I didn't notice. You have to pass an extra "--error-exitcode=1" to valgrind, then valgrind errors count as a failed test.<br>
</div><div>I also noticed a memory leak in the test t/osmfile/read_and_write.cpp which I wrote. I'll send a pull request with the change. <br><br></div><div>As I noticed, still not all errors are reported. It seems, that blocks "possibly lost" and "still reachable" don't count as real errors for valgrind. :-(<br>
</div><div>Exactly these are the complaints valgrind has with one of my test functions. I comment it out for the moment.<br></div><div>I added the option "-o" to run_tests.sh, which shows the test output unconditionally.<br>
</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
How is the code coverage stuff supposed to be understood? I see lots of<br>
warnings from system include files etc. Not sure how to interpret all that.<br></blockquote><div><br></div><div>There are two coverage targets: make coverage generates nice HTML pages with a coverage report using lcov. I didn't find an easy way to exclude system headers in this tool, so it shows too much files. I am sure this can be improved.<br>
</div><div>make coverage-gcov annotates the .hpp files with coverage information. This tool has an option to restrict it to "relative" includes, so it only shows the relevant header files.<br><br></div><div>Both reports have to be read with a grain of salt. Unfortunately the tools can't distinguish between lines which are commented out and functions which are never executed. So even if it says 100% coverage, this means only 100% coverage of the functions called. See also <a href="http://stackoverflow.com/questions/9666800/getting-useful-gcov-results-for-header-only-libraries">http://stackoverflow.com/questions/9666800/getting-useful-gcov-results-for-header-only-libraries</a>. As I understand it the coverage percentage is worthless, only the detailed reports can help to identify the missing tests.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Maybe you can check the "clean" targets of the Makefiles in the main and test<br>
directory. They now both do some cleanup of test stuff, but not properly.<br></blockquote><div><br></div><div>O, I forgot to update these. As I see, the clean target misses the coverage reports and the files <a href="http://tests.info">tests.info</a>, test_main, tests. Is it ok, if the Makefile in main calls the Makefile in test recursively for the "clean" target?<br>
</div><div><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
There is one line in test/Makefile that seems to make no sense:<br>
PROBLEMS = t/geometry t/tags<br>
Maybe a leftover from some tests.<br></blockquote><div><br></div><div>This is correct, I deleted the line.<br><br></div><div>Best regards,<br><br>Johannes<br></div></div></div></div>