[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [stem/master] Context manager for making a torrc
commit 65226e53a66156c16c87e4e4ec19a265bda74755
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date: Wed Jun 7 10:01:02 2017 -0700
Context manager for making a torrc
Few spots would benefit with a context manager that makes a torrc too.
---
test/integ/process.py | 35 ++++++++++++++++++++++-------------
1 file changed, 22 insertions(+), 13 deletions(-)
diff --git a/test/integ/process.py b/test/integ/process.py
index a047540..9c23077 100644
--- a/test/integ/process.py
+++ b/test/integ/process.py
@@ -58,6 +58,17 @@ def tmp_directory():
shutil.rmtree(tmp_dir)
+@contextmanager
+def torrc():
+ with tmp_directory() as data_directory:
+ torrc_path = os.path.join(data_directory, 'torrc')
+
+ with open(torrc_path, 'w') as torrc_file:
+ torrc_file.write(BASIC_RELAY_TORRC % data_directory)
+
+ yield torrc_path
+
+
def run_tor(tor_cmd, *args, **kwargs):
# python doesn't allow us to have individual keyword arguments when there's
# an arbitrary number of positional arguments, so explicitly checking
@@ -69,13 +80,8 @@ def run_tor(tor_cmd, *args, **kwargs):
if kwargs:
raise ValueError('Got unexpected keyword arguments: %s' % kwargs)
- with tmp_directory() as data_directory:
+ with torrc() as torrc_path:
if with_torrc:
- torrc_path = os.path.join(data_directory, 'torrc')
-
- with open(torrc_path, 'w') as torrc_file:
- torrc_file.write(BASIC_RELAY_TORRC % data_directory)
-
args = ['-f', torrc_path] + list(args)
args = [tor_cmd] + list(args)
@@ -307,12 +313,7 @@ class TestProcess(unittest.TestCase):
Pass configuration options on the commandline.
"""
- with tmp_directory() as data_directory:
- torrc_path = os.path.join(data_directory, 'torrc')
-
- with open(torrc_path, 'w') as torrc_file:
- torrc_file.write(BASIC_RELAY_TORRC % data_directory)
-
+ with torrc() as torrc_path:
config_args = [
'+SocksPort', '9090', # append an extra SocksPort
'/ExtORPort', # drops our ExtORPort
@@ -388,7 +389,15 @@ class TestProcess(unittest.TestCase):
def short_launch():
try:
- stem.process.launch_tor_with_config({'SocksPort': 'invalid', 'DataDirectory': data_directory}, tor_cmd, 100, None, timeout_arg)
+ stem.process.launch_tor_with_config(
+ tor_cmd = tor_cmd,
+ config = {
+ 'SocksPort': 'invalid',
+ 'DataDirectory': data_directory,
+ },
+ completion_percent = 100,
+ timeout = timeout_arg,
+ )
except Exception as exc:
raised_exc[0] = exc
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits