[tor-commits] [stem/master] Integ tests resulted in temporary directories
atagar at torproject.org
atagar at torproject.org
Thu May 16 16:27:39 UTC 2013
commit 13dc7861ae7bfa280fda8536ca39fcf6135d7b56
Author: Damian Johnson <atagar at torproject.org>
Date: Thu May 16 09:20:11 2013 -0700
Integ tests resulted in temporary directories
Our integ test runner created temporary directories for our control socket but
failed to clean them up. On reflection it's simpler for us to use a UUID rather
than tempfile.mkdtemp() here so our start() and stop() methods can perform the
creation/cleanup.
Tested by running our integ tests with a control socket...
./run_tests.py --integ --target RUN_SOCKET
... and confirming both that a temporary resource is made with our control
socket and that it's cleaned up afterward.
Issue caught thanks to help from Ashish on...
https://trac.torproject.org/8622
---
test/runner.py | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/test/runner.py b/test/runner.py
index 0ea840a..3614816 100644
--- a/test/runner.py
+++ b/test/runner.py
@@ -46,6 +46,7 @@ import stat
import tempfile
import threading
import time
+import uuid
import stem.connection
import stem.prereq
@@ -79,7 +80,7 @@ INTEG_RUNNER = None
# control authentication options and attributes
CONTROL_PASSWORD = "pw"
CONTROL_PORT = 1111
-CONTROL_SOCKET_PATH = os.path.join(tempfile.mkdtemp(), 'socket')
+CONTROL_SOCKET_PATH = os.path.join(tempfile.gettempdir(), str(uuid.uuid4()), 'socket')
Torrc = stem.util.enum.Enum(
("PORT", "ControlPort %i" % CONTROL_PORT),
@@ -357,6 +358,12 @@ class Runner(object):
stem.socket.recv_message = self._original_recv_message
self._original_recv_message = None
+ # clean up our socket directory if we made one
+ socket_dir = os.path.dirname(CONTROL_SOCKET_PATH)
+
+ if os.path.exists(socket_dir):
+ shutil.rmtree(socket_dir, ignore_errors = True)
+
self._test_dir = ""
self._tor_cmd = None
self._tor_cwd = ""
More information about the tor-commits
mailing list