[tor-commits] [tor/master] When building with coverage, run chutney with coverage

nickm at torproject.org nickm at torproject.org
Mon Aug 3 17:50:39 UTC 2015


commit 62e6513b48009adba289243155b93da3212c00c2
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Aug 3 13:23:58 2015 -0400

    When building with coverage, run chutney with coverage
    
    Previously, this required me to do stuff like
      'cp src/or/tor-cov src/or/tor' ,
    which is pretty embarrassing.
---
 Makefile.am              |    4 +++-
 changes/chutney-coverage |    3 +++
 src/test/test-network.sh |   16 ++++++++++++++--
 3 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 784ff48..5b4d59c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,9 +36,11 @@ EXTRA_DIST+= \
 if COVERAGE_ENABLED
 TEST_CFLAGS=-fno-inline -fprofile-arcs -ftest-coverage
 TEST_CPPFLAGS=-DTOR_UNIT_TESTS -DTOR_COVERAGE
+TEST_NETWORK_FLAGS="--coverage"
 else
 TEST_CFLAGS=
 TEST_CPPFLAGS=-DTOR_UNIT_TESTS
+TEST_NETWORK_FLAGS=
 endif
 
 #install-data-local:
@@ -79,7 +81,7 @@ need-chutney-path:
 # Note that test-network requires a copy of Chutney in $CHUTNEY_PATH.
 # Chutney can be cloned from https://git.torproject.org/chutney.git .
 test-network: need-chutney-path all
-	$(top_srcdir)/src/test/test-network.sh
+	$(top_srcdir)/src/test/test-network.sh $(TEST_NETWORK_FLAGS)
 
 need-stem-path:
 	@if test ! -d "$$STEM_SOURCE_DIR"; then \
diff --git a/changes/chutney-coverage b/changes/chutney-coverage
new file mode 100644
index 0000000..53983c8
--- /dev/null
+++ b/changes/chutney-coverage
@@ -0,0 +1,3 @@
+  o Testing:
+    - When building Tor with testing coverage enabled, run Chutney tests
+      (if any) using the 'tor-cov' coverage binary.
diff --git a/src/test/test-network.sh b/src/test/test-network.sh
index 49bf03c..cc74c0f 100755
--- a/src/test/test-network.sh
+++ b/src/test/test-network.sh
@@ -1,6 +1,7 @@
 #! /bin/sh
 
 ECHO_N="/bin/echo -n"
+use_coverage_binary=false
 
 until [ -z $1 ]
 do
@@ -41,7 +42,10 @@ do
     --hs-multi-client|--hs-multi-clients|--hs-client|--hs-clients)
       export CHUTNEY_HS_MULTI_CLIENT="$2"
       shift
-    ;;
+      ;;
+    --coverage)
+      use_coverage_binary=true
+      ;;
     *)
       echo "Sorry, I don't know what to do with '$1'."
       exit 2
@@ -59,9 +63,17 @@ myname=$(basename $0)
     echo "$myname: missing 'chutney' in CHUTNEY_PATH ($CHUTNEY_PATH)"
     exit 1
 }
+
 cd "$CHUTNEY_PATH"
 # For picking up the right tor binaries.
-PATH="$TOR_DIR/src/or:$TOR_DIR/src/tools:$PATH"
+tor_name=tor
+tor_gencert_name=tor-gencert
+if test "$use_coverage_binary" = true; then
+  tor_name=tor-cov
+fi
+export CHUTNEY_TOR="${TOR_DIR}/src/or/${tor_name}"
+export CHUTNEY_TOR_GENCERT="${TOR_DIR}/src/tools/${tor_gencert_name}"
+
 ./tools/bootstrap-network.sh $NETWORK_FLAVOUR || exit 2
 
 # Sleep some, waiting for the network to bootstrap.





More information about the tor-commits mailing list