aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_keygen.sh
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-10-31 00:58:09 +1000
committerteor <teor@torproject.org>2019-11-05 11:07:31 +1000
commit5b04db59f69332ac6d44e12ad759e224a9cd3b99 (patch)
tree5813b8ac650a779b1ab955d2170a394f73d2d45e /src/test/test_keygen.sh
parentf29de4b8d2097676f9d2f067c176b38a08362046 (diff)
downloadtor-5b04db59f69332ac6d44e12ad759e224a9cd3b99.tar.gz
tor-5b04db59f69332ac6d44e12ad759e224a9cd3b99.zip
test/scripts: Use the same code to find the tor binary
This change makes sure we are always using the coverage binary, when coverage is enabled. Fixes bug 32368; bugfix on 0.2.7.3-rc.
Diffstat (limited to 'src/test/test_keygen.sh')
-rwxr-xr-xsrc/test/test_keygen.sh21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/test/test_keygen.sh b/src/test/test_keygen.sh
index 57df888274..6812f8883d 100755
--- a/src/test/test_keygen.sh
+++ b/src/test/test_keygen.sh
@@ -6,6 +6,20 @@
umask 077
set -e
+# emulate realpath(), in case coreutils or equivalent is not installed.
+abspath() {
+ f="$*"
+ if [ -d "$f" ]; then
+ dir="$f"
+ base=""
+ else
+ dir="$(dirname "$f")"
+ base="/$(basename "$f")"
+ fi
+ dir="$(cd "$dir" && pwd)"
+ echo "$dir$base"
+}
+
if [ $# -eq 0 ] || [ ! -f "${1}" ] || [ ! -x "${1}" ]; then
if [ "$TESTING_TOR_BINARY" = "" ] ; then
echo "Usage: ${0} PATH_TO_TOR [case-number]"
@@ -21,13 +35,18 @@ if test "$UNAME_OS" = 'CYGWIN' || \
exit 77
fi
+# find the tor binary
if [ $# -ge 1 ]; then
TOR_BINARY="${1}"
shift
else
- TOR_BINARY="${TESTING_TOR_BINARY}"
+ TOR_BINARY="${TESTING_TOR_BINARY:-./src/app/tor}"
fi
+TOR_BINARY="$(abspath "$TOR_BINARY")"
+
+echo "TOR BINARY IS ${TOR_BINARY}"
+
if "$TOR_BINARY" --list-modules | grep -q "relay: no"; then
echo "This test requires the relay module. Skipping." >&2
exit 77