[tor-commits] [tor/master] Tweak coverage-html target

nickm at torproject.org nickm at torproject.org
Wed Jul 16 10:06:07 UTC 2014


commit 98541f2892335a5a512a6c01b2f2227bde1d649e
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jul 16 06:01:18 2014 -0400

    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
---
 Makefile.am           |    8 ++++----
 changes/coverage-html |    5 +++++
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index ab0caf0..910cb12 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -76,11 +76,11 @@ reset-gcov:
 
 HTML_COVER_DIR=./coverage_html
 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)
-	mkdir -p $(HTML_COVER_DIR)
+	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)"
 	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 --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"
diff --git a/changes/coverage-html b/changes/coverage-html
new file mode 100644
index 0000000..1c38c76
--- /dev/null
+++ b/changes/coverage-html
@@ -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.



More information about the tor-commits mailing list