[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [stem/master] Run test_launch_tor_with_timeout in serial



commit 3cc85fc9dbb907965279cca4d844999d57010a2b
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date:   Fri Sep 8 10:08:14 2017 -0700

    Run test_launch_tor_with_timeout in serial
    
    Huh. Works on my laptop but on my desktop one of the tests are failing. I
    suspect the issue is that running it at the same time we're running others
    in parallel starves the test for resources, causing it to take too long.
    
    Test reliability is far more important than a tiny bit of runtime. On its
    own this test is pretty quick anyway. :)
    
      ======================================================================
      FAIL: test_launch_tor_with_timeout
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/home/atagar/Desktop/stem/stem/util/test_tools.py", line 150, in <lambda>
          self.method = lambda test: self.result(test)  # method that can be mixed into TestCases
        File "/home/atagar/Desktop/stem/stem/util/test_tools.py", line 212, in result
          test.fail(self._result.msg)
      AssertionError: Test should have taken 0.05-3 seconds, took 3.4 instead
    
      ----------------------------------------------------------------------
---
 test/integ/process.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/test/integ/process.py b/test/integ/process.py
index dea0b4c3..00929ce1 100644
--- a/test/integ/process.py
+++ b/test/integ/process.py
@@ -45,6 +45,8 @@ PublishServerDescriptor 0
 DataDirectory %s
 """
 
+TOR_CMD = None
+
 
 def random_port():
   while True:
@@ -110,9 +112,12 @@ def run_tor(tor_cmd, *args, **kwargs):
 class TestProcess(unittest.TestCase):
   @staticmethod
   def run_tests(args):
+    global TOR_CMD
+    TOR_CMD = args.tor_cmd
+
     for func, async_test in stem.util.test_tools.ASYNC_TESTS.items():
       if func.startswith('test.integ.process.'):
-        async_test.run(args.tor_cmd)
+        async_test.run(TOR_CMD)
 
   @asynchronous
   def test_version_argument(tor_cmd):
@@ -535,8 +540,7 @@ class TestProcess(unittest.TestCase):
       except OSError as exc:
         assert_equal('Process terminated: Failed to bind one of the listener ports.', str(exc))
 
-  @asynchronous
-  def test_launch_tor_with_timeout(tor_cmd):
+  def test_launch_tor_with_timeout(self):
     """
     Runs launch_tor where it times out before completing.
     """
@@ -546,7 +550,7 @@ class TestProcess(unittest.TestCase):
 
       try:
         stem.process.launch_tor_with_config(
-          tor_cmd = tor_cmd,
+          tor_cmd = TOR_CMD,
           timeout = 0.05,
           config = {
             'SocksPort': random_port(),

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits