mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
Merge remote-tracking branch 'teor/ticket27211'
This commit is contained in:
commit
4c3b43604b
3
changes/ticket27211
Normal file
3
changes/ticket27211
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor features (testing):
|
||||
- Add scripts/test/chutney-git-bisect.sh, for bisecting using chutney.
|
||||
Implements ticket 27211.
|
@ -30,6 +30,12 @@ orconfig.h files.
|
||||
Testing scripts
|
||||
---------------
|
||||
|
||||
test/chutney-git-bisect.sh -- a git bisect run script that bisects using
|
||||
chutney. The script builds tor and tor-gencert, then runs chutney. The script
|
||||
takes optional arguments for out-of-tree builds, and specific chutney network
|
||||
flavours. You should copy this script before using it with git bisect, so that
|
||||
it doesn't change (or disappear) during bisection.
|
||||
|
||||
test/cov-blame -- Mash up the results of gcov with git blame. Mainly useful
|
||||
to find out who has been writing untested code.
|
||||
|
||||
|
62
scripts/test/chutney-git-bisect.sh
Executable file
62
scripts/test/chutney-git-bisect.sh
Executable file
@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Compile tor and run chutney to find out if the current commit works
|
||||
#
|
||||
# Usage:
|
||||
# # Copy the script, so it doesn't change during bisection
|
||||
# cp scripts/test/chutney-git-bisect.sh .
|
||||
# git bisect run \
|
||||
# ./chutney-git-bisect.sh [tries [build-dir [flavour [skip-flavour]]]]
|
||||
#
|
||||
# Runs chutney up to <tries> times (default 3), because some bugs involve race
|
||||
# conditions.
|
||||
# Changes to <build-dir> (default no cd) before running tests.
|
||||
# Runs chutney network <flavour> (default make test-network-all) as the test.
|
||||
# Skips the test if <skip-flavour> fails (default no skip).
|
||||
|
||||
CHUTNEY_TRIES=3
|
||||
if [ ! -z "$1" ]; then
|
||||
CHUTNEY_TRIES="$1"
|
||||
fi
|
||||
|
||||
if [ ! -z "$2" ]; then
|
||||
cd "$2"
|
||||
fi
|
||||
|
||||
CHUTNEY_TEST_CMD="make test-network-all"
|
||||
if [ ! -z "$3" ]; then
|
||||
CHUTNEY_TEST_CMD="$CHUTNEY_PATH/tools/test-network.sh --flavour $3"
|
||||
fi
|
||||
|
||||
CHUTNEY_SKIP_ON_FAIL_CMD="true"
|
||||
if [ ! -z "$4" ]; then
|
||||
CHUTNEY_SKIP_ON_FAIL_CMD="$CHUTNEY_PATH/tools/test-network.sh --flavour $4"
|
||||
fi
|
||||
|
||||
CHUTNEY_BUILD_CMD_OR="make src/or/tor src/tools/tor-gencert"
|
||||
CHUTNEY_BUILD_CMD_APP="make src/app/tor src/tools/tor-gencert"
|
||||
if ! ( $CHUTNEY_BUILD_CMD_APP || $CHUTNEY_BUILD_CMD_OR ) ; then
|
||||
echo "building '$CHUTNEY_BUILD_CMD_APP || $CHUTNEY_BUILD_CMD_OR' failed, skip"
|
||||
exit 125
|
||||
fi
|
||||
|
||||
if ! $CHUTNEY_SKIP_ON_FAIL_CMD ; then
|
||||
echo "pre-condition '$CHUTNEY_SKIP_ON_FAIL_CMD' failed, skip"
|
||||
exit 125
|
||||
fi
|
||||
|
||||
i=1
|
||||
while [ "$i" -le "$CHUTNEY_TRIES" ]; do
|
||||
echo
|
||||
echo "Round $i/$CHUTNEY_TRIES:"
|
||||
echo
|
||||
if $CHUTNEY_TEST_CMD ; then
|
||||
echo "test '$CHUTNEY_TEST_CMD' succeeded after $i/$CHUTNEY_TRIES attempts, good"
|
||||
exit 0
|
||||
fi
|
||||
i=$[$i+1]
|
||||
done
|
||||
|
||||
i=$[$i-1]
|
||||
echo "test '$CHUTNEY_TEST_CMD' failed $i/$CHUTNEY_TRIES attempts, bad"
|
||||
exit 1
|
Loading…
Reference in New Issue
Block a user