aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_zero_length_keys.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_zero_length_keys.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_zero_length_keys.sh')
-rwxr-xr-xsrc/test/test_zero_length_keys.sh37
1 files changed, 33 insertions, 4 deletions
diff --git a/src/test/test_zero_length_keys.sh b/src/test/test_zero_length_keys.sh
index eeabab352d..b944d9bf3f 100755
--- a/src/test/test_zero_length_keys.sh
+++ b/src/test/test_zero_length_keys.sh
@@ -1,15 +1,44 @@
#!/bin/sh
# Check that tor regenerates keys when key files are zero-length
-if "${builddir:-.}/src/app/tor" --list-modules | grep -q "relay: no"; then
+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"
+}
+
+# find the tor binary
+if [ $# -ge 1 ]; then
+ TOR_BINARY="${1}"
+ shift
+else
+ 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
fi
exitcode=0
-"${SHELL:-sh}" "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "${builddir:-.}/src/app/tor" -z || exitcode=1
-"${SHELL:-sh}" "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "${builddir:-.}/src/app/tor" -d || exitcode=1
-"${SHELL:-sh}" "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "${builddir:-.}/src/app/tor" -e || exitcode=1
+"${SHELL:-sh}" "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "$TOR_BINARY" -z || exitcode=1
+"${SHELL:-sh}" "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "$TOR_BINARY" -d || exitcode=1
+"${SHELL:-sh}" "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "$TOR_BINARY" -e || exitcode=1
exit ${exitcode}