Tweak coverage-html target

- Don't try to rm -rf the directory before we start: somebody might
   have set it to ~, which would be quite sad.

 - Always quote the directory name

 - Use 'make reset-gcov' before running tests.

 - Use 'make check', not ./src/test/test
This commit is contained in:
Nick Mathewson 2014-07-16 06:01:18 -04:00
parent eed942aed9
commit 98541f2892
2 changed files with 9 additions and 4 deletions

View File

@ -76,11 +76,11 @@ reset-gcov:
HTML_COVER_DIR=./coverage_html HTML_COVER_DIR=./coverage_html
coverage-html: all coverage-html: all
test -d $(HTML_COVER_DIR) && rm -rf $(HTML_COVER_DIR) || true test -e "`which lcov`" || (echo "lcov must be installed. See <http://ltp.sourceforge.net/coverage/lcov.php>." && false)
test -e `which lcov` || (echo "lcov must be installed. See <http://ltp.sourceforge.net/coverage/lcov.php>." && false) test -d "$(HTML_COVER_DIR)" || mkdir -p "$(HTML_COVER_DIR)"
mkdir -p $(HTML_COVER_DIR)
lcov --rc lcov_branch_coverage=1 --directory ./src --zerocounters lcov --rc lcov_branch_coverage=1 --directory ./src --zerocounters
./src/test/test $(MAKE) reset-gcov
$(MAKE) check
lcov --capture --rc lcov_branch_coverage=1 --no-external --directory . --output-file "$(HTML_COVER_DIR)/lcov.tmp" lcov --capture --rc lcov_branch_coverage=1 --no-external --directory . --output-file "$(HTML_COVER_DIR)/lcov.tmp"
lcov --remove "$(HTML_COVER_DIR)/lcov.tmp" --rc lcov_branch_coverage=1 'test/*' 'ext/tinytest*' '/usr/*' --output-file "$(HTML_COVER_DIR)/lcov.info" lcov --remove "$(HTML_COVER_DIR)/lcov.tmp" --rc lcov_branch_coverage=1 'test/*' 'ext/tinytest*' '/usr/*' --output-file "$(HTML_COVER_DIR)/lcov.info"
genhtml --branch-coverage -o "$(HTML_COVER_DIR)" "$(HTML_COVER_DIR)/lcov.info" genhtml --branch-coverage -o "$(HTML_COVER_DIR)" "$(HTML_COVER_DIR)/lcov.info"

5
changes/coverage-html Normal file
View File

@ -0,0 +1,5 @@
o Minor features (testing):
- Add a "coverage-html" make target to generate HTML-visualized
coverage results when building with --enable-coverage. (Requires lcov.)
Patch from Kevin Murray.