summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-12-17 10:57:51 -0500
committerNick Mathewson <nickm@torproject.org>2018-12-17 10:57:51 -0500
commit7f98df0731314f4a3d5dd82fc3f1db3f13dacf9c (patch)
tree06977f154cadfdad3a6906783c44af42a11ed944
parent78a7479445509df3c3330af2171f4ca3cf3f7c35 (diff)
parent1a9a9fc0ffc536d177c8b1798f19f5a30603af2a (diff)
downloadtor-7f98df0731314f4a3d5dd82fc3f1db3f13dacf9c.tar.gz
tor-7f98df0731314f4a3d5dd82fc3f1db3f13dacf9c.zip
Merge branch 'maint-0.3.5' into release-0.3.5
-rw-r--r--changes/bug285625
-rw-r--r--src/test/test_rebind.py10
-rwxr-xr-xsrc/test/test_rebind.sh15
3 files changed, 26 insertions, 4 deletions
diff --git a/changes/bug28562 b/changes/bug28562
new file mode 100644
index 0000000000..e14362164d
--- /dev/null
+++ b/changes/bug28562
@@ -0,0 +1,5 @@
+ o Minor bugfixes (testing):
+ - Use a separate DataDirectory for the test_rebind script.
+ Previously, this script would run using the default DataDirectory,
+ and sometimes fail. Fixes bug 28562; bugfix on 0.3.5.1-alpha.
+ Patch from Taylor R Campbell.
diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
index 2215b42253..6f759b717e 100644
--- a/src/test/test_rebind.py
+++ b/src/test/test_rebind.py
@@ -73,12 +73,19 @@ socks_port = pick_random_port()
assert control_port != 0
assert socks_port != 0
+if len(sys.argv) < 3:
+ fail('Usage: %s <path-to-tor> <data-dir>' % sys.argv[0])
+
if not os.path.exists(sys.argv[1]):
fail('ERROR: cannot find tor at %s' % sys.argv[1])
+if not os.path.exists(sys.argv[2]):
+ fail('ERROR: cannot find datadir at %s' % sys.argv[2])
tor_path = sys.argv[1]
+data_dir = sys.argv[2]
tor_process = subprocess.Popen([tor_path,
+ '-DataDirectory', data_dir,
'-ControlPort', '127.0.0.1:{}'.format(control_port),
'-SOCKSPort', '127.0.0.1:{}'.format(socks_port),
'-Log', 'debug stdout',
@@ -90,9 +97,6 @@ tor_process = subprocess.Popen([tor_path,
if tor_process == None:
fail('ERROR: running tor failed')
-if len(sys.argv) < 2:
- fail('Usage: %s <path-to-tor>' % sys.argv[0])
-
wait_for_log('Opened Control listener on')
try_connecting_to_socksport()
diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
index 76eb9f2e4d..498072de35 100755
--- a/src/test/test_rebind.sh
+++ b/src/test/test_rebind.sh
@@ -14,6 +14,19 @@ fi
exitcode=0
-"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" || exitcode=1
+tmpdir=
+clean () { test -n "$tmpdir" && test -d "$tmpdir" && rm -rf "$tmpdir" || :; }
+trap clean EXIT HUP INT TERM
+
+tmpdir="`mktemp -d -t tor_rebind_test.XXXXXX`"
+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
+
+"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" "$tmpdir" || exitcode=1
exit ${exitcode}