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.
This commit is contained in:
Nick Mathewson 2015-08-03 13:23:58 -04:00
parent 6de49f4d9a
commit 62e6513b48
3 changed files with 20 additions and 3 deletions

View File

@ -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 \

3
changes/chutney-coverage Normal file
View File

@ -0,0 +1,3 @@
o Testing:
- When building Tor with testing coverage enabled, run Chutney tests
(if any) using the 'tor-cov' coverage binary.

View File

@ -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.