[tor-commits] [stem/master] Integ tests failed when the tor binary was named something else

atagar at torproject.org atagar at torproject.org
Thu Jan 8 17:49:04 UTC 2015


commit ee538767ffcc352e75cece3a9b380c8b04ecb2d0
Author: Damian Johnson <atagar at torproject.org>
Date:   Tue Jan 6 09:31:23 2015 -0800

    Integ tests failed when the tor binary was named something else
    
    Some of our tests respected non-standardly named tor binaries but not all.
    Fixing the system tests...
    
      https://trac.torproject.org/projects/tor/ticket/14111
---
 test/integ/util/proc.py   |    3 ++-
 test/integ/util/system.py |   23 +++++++++++++++--------
 test/runner.py            |    7 +++++--
 3 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/test/integ/util/proc.py b/test/integ/util/proc.py
index 66203dd..79da938 100644
--- a/test/integ/util/proc.py
+++ b/test/integ/util/proc.py
@@ -65,10 +65,11 @@ class TestProc(unittest.TestCase):
       test.runner.skip(self, '(proc unavailable)')
       return
 
+    tor_cmd = test.runner.get_runner().get_tor_command(True)
     tor_pid = test.runner.get_runner().get_pid()
     command, utime, stime, start_time = proc.stats(tor_pid, 'command', 'utime', 'stime', 'start time')
 
-    self.assertEqual('tor', command)
+    self.assertEqual(tor_cmd, command)
     self.assertTrue(float(utime) > 0)
     self.assertTrue(float(stime) >= 0)
     self.assertTrue(float(start_time) > proc.system_start_time())
diff --git a/test/integ/util/system.py b/test/integ/util/system.py
index d754ddb..beea501 100644
--- a/test/integ/util/system.py
+++ b/test/integ/util/system.py
@@ -73,7 +73,7 @@ class TestSystem(unittest.TestCase):
       test.runner.skip(self, '(ps unavailable)')
       return
 
-    self.assertTrue(stem.util.system.is_running('tor'))
+    self.assertTrue(stem.util.system.is_running(test.runner.get_runner().get_tor_command(True)))
     self.assertFalse(stem.util.system.is_running('blarg_and_stuff'))
 
   def test_pid_by_name(self):
@@ -90,7 +90,8 @@ class TestSystem(unittest.TestCase):
       return
 
     tor_pid = test.runner.get_runner().get_pid()
-    self.assertEqual(tor_pid, stem.util.system.pid_by_name('tor'))
+    tor_cmd = test.runner.get_runner().get_tor_command(True)
+    self.assertEqual(tor_pid, stem.util.system.pid_by_name(tor_cmd))
     self.assertEqual(None, stem.util.system.pid_by_name('blarg_and_stuff'))
 
   def test_pid_by_name_pgrep(self):
@@ -113,7 +114,8 @@ class TestSystem(unittest.TestCase):
       call_mock.side_effect = call_replacement
 
       tor_pid = test.runner.get_runner().get_pid()
-      self.assertEqual(tor_pid, stem.util.system.pid_by_name('tor'))
+      tor_cmd = test.runner.get_runner().get_tor_command(True)
+      self.assertEqual(tor_pid, stem.util.system.pid_by_name(tor_cmd))
 
   def test_pid_by_name_pidof(self):
     """
@@ -135,7 +137,8 @@ class TestSystem(unittest.TestCase):
       call_mock.side_effect = call_replacement
 
       tor_pid = test.runner.get_runner().get_pid()
-      self.assertEqual(tor_pid, stem.util.system.pid_by_name('tor'))
+      tor_cmd = test.runner.get_runner().get_tor_command(True)
+      self.assertEqual(tor_pid, stem.util.system.pid_by_name(tor_cmd))
 
   def test_pid_by_name_ps_linux(self):
     """
@@ -160,7 +163,8 @@ class TestSystem(unittest.TestCase):
       call_mock.side_effect = call_replacement
 
       tor_pid = test.runner.get_runner().get_pid()
-      self.assertEqual(tor_pid, stem.util.system.pid_by_name('tor'))
+      tor_cmd = test.runner.get_runner().get_tor_command(True)
+      self.assertEqual(tor_pid, stem.util.system.pid_by_name(tor_cmd))
 
   def test_pid_by_name_ps_bsd(self):
     """
@@ -185,7 +189,8 @@ class TestSystem(unittest.TestCase):
       call_mock.side_effect = call_replacement
 
       tor_pid = test.runner.get_runner().get_pid()
-      self.assertEqual(tor_pid, stem.util.system.pid_by_name('tor'))
+      tor_cmd = test.runner.get_runner().get_tor_command(True)
+      self.assertEqual(tor_pid, stem.util.system.pid_by_name(tor_cmd))
 
   def test_pid_by_name_lsof(self):
     """
@@ -210,8 +215,9 @@ class TestSystem(unittest.TestCase):
     with patch('stem.util.system.call') as call_mock:
       call_mock.side_effect = call_replacement
 
+      tor_cmd = test.runner.get_runner().get_tor_command(True)
       our_tor_pid = test.runner.get_runner().get_pid()
-      all_tor_pids = stem.util.system.pid_by_name('tor', multiple = True)
+      all_tor_pids = stem.util.system.pid_by_name(tor_cmd, multiple = True)
 
       if len(all_tor_pids) == 1:
         self.assertEqual(our_tor_pid, all_tor_pids[0])
@@ -561,7 +567,8 @@ class TestSystem(unittest.TestCase):
         # TODO: not sure how to check for this on windows
         IS_EXTRA_TOR_RUNNING = False
       elif not stem.util.system.is_bsd():
-        pgrep_results = stem.util.system.call(stem.util.system.GET_PID_BY_NAME_PGREP % 'tor')
+        tor_cmd = test.runner.get_runner().get_tor_command(True)
+        pgrep_results = stem.util.system.call(stem.util.system.GET_PID_BY_NAME_PGREP % tor_cmd)
         IS_EXTRA_TOR_RUNNING = len(pgrep_results) > 1
       else:
         ps_results = stem.util.system.call(stem.util.system.GET_PID_BY_NAME_PS_BSD)
diff --git a/test/runner.py b/test/runner.py
index ee261b7..9019eae 100644
--- a/test/runner.py
+++ b/test/runner.py
@@ -584,12 +584,15 @@ class Runner(object):
     except TorInaccessable:
       return stem.version.get_system_tor_version(self.get_tor_command())
 
-  def get_tor_command(self):
+  def get_tor_command(self, base_cmd = False):
     """
     Provides the command used to run our tor instance.
+
+    :param bool base_cmd: provides just the command name if true rather than
+      the full '--tor path' argument
     """
 
-    return self._get('_tor_cmd')
+    return os.path.basename(self._get('_tor_cmd')) if base_cmd else self._get('_tor_cmd')
 
   def _get(self, attr):
     """





More information about the tor-commits mailing list