2018-05-17 16:01:52 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
2019-10-31 00:58:09 +10:00
|
|
|
umask 077
|
|
|
|
set -e
|
2018-08-05 16:27:49 +03:00
|
|
|
set -x
|
|
|
|
|
2019-10-31 00:58:09 +10:00
|
|
|
# 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"
|
|
|
|
}
|
|
|
|
|
2018-08-19 21:33:18 +03:00
|
|
|
UNAME_OS=$(uname -s | cut -d_ -f1)
|
2018-08-18 16:29:46 +03:00
|
|
|
if test "$UNAME_OS" = 'CYGWIN' || \
|
|
|
|
test "$UNAME_OS" = 'MSYS' || \
|
|
|
|
test "$UNAME_OS" = 'MINGW'; then
|
2018-08-19 21:33:18 +03:00
|
|
|
if test "$APPVEYOR" = 'True'; then
|
2019-06-10 20:56:40 +10:00
|
|
|
echo "This test is disabled on Windows CI, as it requires firewall exemptions. Skipping." >&2
|
2018-08-19 21:33:18 +03:00
|
|
|
exit 77
|
|
|
|
fi
|
2018-08-18 16:29:46 +03:00
|
|
|
fi
|
|
|
|
|
2019-10-31 00:58:09 +10:00
|
|
|
# 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
|
2019-10-31 00:28:05 +10:00
|
|
|
echo "This test requires the relay module. Skipping." >&2
|
|
|
|
exit 77
|
|
|
|
fi
|
|
|
|
|
2018-11-22 00:53:57 +00:00
|
|
|
tmpdir=
|
2019-01-22 15:14:16 +02:00
|
|
|
clean () {
|
|
|
|
if [ -n "$tmpdir" ] && [ -d "$tmpdir" ]; then
|
|
|
|
rm -rf "$tmpdir"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2018-11-22 00:53:57 +00:00
|
|
|
trap clean EXIT HUP INT TERM
|
|
|
|
|
2019-01-22 15:14:16 +02:00
|
|
|
tmpdir="$(mktemp -d -t tor_rebind_test.XXXXXX)"
|
2018-11-22 00:53:57 +00:00
|
|
|
if [ -z "$tmpdir" ]; then
|
|
|
|
echo >&2 mktemp failed
|
|
|
|
exit 2
|
|
|
|
elif [ ! -d "$tmpdir" ]; then
|
|
|
|
echo >&2 mktemp failed to make a directory
|
|
|
|
exit 3
|
|
|
|
fi
|
|
|
|
|
2019-10-31 00:58:09 +10:00
|
|
|
"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TOR_BINARY}" "$tmpdir"
|
2018-05-17 16:01:52 +02:00
|
|
|
|
2019-06-10 18:59:02 +10:00
|
|
|
exit $?
|