[tor-commits] [stem/master] Skip tests for Slackware systems

atagar at torproject.org atagar at torproject.org
Fri Sep 8 17:08:24 UTC 2017


commit b7d101280b3e667c694a5d6753ac308aa66aa40f
Author: Edmund Wong <ewongbb at pw-wspx.org>
Date:   Fri Sep 8 19:47:27 2017 +0800

    Skip tests for Slackware systems
---
 stem/manual.py      |  2 +-
 stem/util/system.py | 11 +++++++++++
 test/unit/manual.py |  7 ++++---
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/stem/manual.py b/stem/manual.py
index 3440b36d..ede02faf 100644
--- a/stem/manual.py
+++ b/stem/manual.py
@@ -485,7 +485,7 @@ class Manual(object):
     :raises: **IOError** if unable to retrieve the manual
     """
 
-    man_cmd = 'man %s -P cat %s' % ('' if (stem.util.system.is_mac() or stem.util.system.is_bsd()) else '--encoding=ascii', man_path)
+    man_cmd = 'man %s -P cat %s' % ('' if (stem.util.system.is_mac() or stem.util.system.is_bsd() or stem.util.system.is_slackware()) else '--encoding=ascii', man_path)
 
     try:
       man_output = stem.util.system.call(man_cmd, env = {'MANWIDTH': '10000000'})
diff --git a/stem/util/system.py b/stem/util/system.py
index a563db45..47527795 100644
--- a/stem/util/system.py
+++ b/stem/util/system.py
@@ -22,6 +22,7 @@ best-effort, providing **None** if the lookup fails.
   is_mac - checks if we're running on a mac
   is_gentoo - checks if we're running on gentoo
   is_bsd - checks if we're running on the bsd family of operating systems
+  is_slackware - checks if we're running on slackware
 
   is_available - determines if a command is available on this system
   is_running - determines if a given process is running
@@ -351,6 +352,16 @@ def is_bsd():
   return platform.system() in ('Darwin', 'FreeBSD', 'OpenBSD')
 
 
+def is_slackware():
+  """
+  Checks if we are running on a Slackware system.
+
+  :returns: **bool** to indicate if we're on a Slackware system
+  """
+
+  return os.path.exists('/etc/slackware-version')
+
+
 def is_available(command, cached=True):
   """
   Checks the current PATH to see if a command is available or not. If more
diff --git a/test/unit/manual.py b/test/unit/manual.py
index aa8cede1..cd850af9 100644
--- a/test/unit/manual.py
+++ b/test/unit/manual.py
@@ -153,7 +153,7 @@ class TestManual(unittest.TestCase):
     expand our example (or add another).
     """
 
-    if stem.util.system.is_mac() or stem.util.system.is_bsd():
+    if stem.util.system.is_mac() or stem.util.system.is_bsd() or stem.util.system.is_slackware():
       self.skipTest('(man lacks --encoding arg on OSX and BSD, #18660)')
       return
 
@@ -174,8 +174,8 @@ class TestManual(unittest.TestCase):
     options. Unlike most other tests this doesn't require network access.
     """
 
-    if stem.util.system.is_mac() or stem.util.system.is_bsd():
-      self.skipTest('(man lacks --encoding arg on OSX and BSD, #18660)')
+    if stem.util.system.is_mac() or stem.util.system.is_bsd() or stem.util.system.is_slackware():
+      self.skipTest('(man lacks --encoding arg on OSX and BSD and Slackware, #18660)')
       return
 
     manual = stem.manual.Manual.from_man(UNKNOWN_OPTIONS_MAN_PATH)
@@ -299,6 +299,7 @@ class TestManual(unittest.TestCase):
 
   @patch('stem.util.system.is_mac', Mock(return_value = False))
   @patch('stem.util.system.is_bsd', Mock(return_value = False))
+  @patch('stem.util.system.is_slackware', Mock(return_value = False))
   @patch('stem.util.system.call', Mock(side_effect = OSError('man --encoding=ascii -P cat tor returned exit status 16')))
   def test_from_man_when_manual_is_unavailable(self):
     exc_msg = "Unable to run 'man --encoding=ascii -P cat tor': man --encoding=ascii -P cat tor returned exit status 16"





More information about the tor-commits mailing list