diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-12-17 10:57:51 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-12-17 10:57:51 -0500 |
commit | 7f98df0731314f4a3d5dd82fc3f1db3f13dacf9c (patch) | |
tree | 06977f154cadfdad3a6906783c44af42a11ed944 | |
parent | 78a7479445509df3c3330af2171f4ca3cf3f7c35 (diff) | |
parent | 1a9a9fc0ffc536d177c8b1798f19f5a30603af2a (diff) | |
download | tor-7f98df0731314f4a3d5dd82fc3f1db3f13dacf9c.tar.gz tor-7f98df0731314f4a3d5dd82fc3f1db3f13dacf9c.zip |
Merge branch 'maint-0.3.5' into release-0.3.5
-rw-r--r-- | changes/bug28562 | 5 | ||||
-rw-r--r-- | src/test/test_rebind.py | 10 | ||||
-rwxr-xr-x | src/test/test_rebind.sh | 15 |
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} |