diff options
| author | Damian Johnson <atagar@torproject.org> | 2014-12-07 12:48:49 -0800 |
|---|---|---|
| committer | Damian Johnson <atagar@torproject.org> | 2014-12-07 12:48:49 -0800 |
| commit | ea83fb6bbd2c9849d9c6981c697965043b525aaf (patch) | |
| tree | 1c0dd77c671025aba90cf6e3cc0df54e03b86ac7 | |
| parent | f3406f8058e6183e5029e309d4b6ecba23e32b2a (diff) | |
Skip tests that rely on netstat and lsof on Gentoo
Some netstat and lsof commands are broken on Gentoo, probably due to restricted
proc permissions. Skipping the tests on that platform...
======================================================================
ERROR: test_pid_by_port_lsof
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/test/integ/util/system.py", line 332, in test_pid_by_port_lsof
self.assertEquals(tor_pid, stem.util.system.pid_by_port(test.runner.CONTROL_PORT))
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/stem/util/system.py", line 536, in pid_by_port
results = call(GET_PID_BY_PORT_LSOF, None)
File "/usr/lib64/python2.7/site-packages/mock.py", line 964, in __call__
return _mock_self._mock_call(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/mock.py", line 1027, in _mock_call
ret_val = effect(*args, **kwargs)
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/test/integ/util/system.py", line 37, in _filter_system_call
return real_call_function(command)
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/stem/util/system.py", line 924, in call
raise exc
OSError: lsof -wnP -iTCP -sTCP:LISTEN returned exit status 1
======================================================================
ERROR: test_pid_by_port_netstat
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/test/integ/util/system.py", line 274, in test_pid_by_port_netstat
self.assertEquals(tor_pid, stem.util.system.pid_by_port(test.runner.CONTROL_PORT))
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/stem/util/system.py", line 471, in pid_by_port
results = call(GET_PID_BY_PORT_NETSTAT, None)
File "/usr/lib64/python2.7/site-packages/mock.py", line 964, in __call__
return _mock_self._mock_call(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/mock.py", line 1027, in _mock_call
ret_val = effect(*args, **kwargs)
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/test/integ/util/system.py", line 37, in _filter_system_call
return real_call_function(command)
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/stem/util/system.py", line 924, in call
raise exc
OSError: netstat -npltu returned exit status 255
======================================================================
FAIL: test_pid_by_port
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/tmp/portage/net-libs/stem-1.2.2_p20141208/work/stem-1.2.2_p20141208/test/integ/util/system.py", line 244, in test_pid_by_port
self.assertEquals(tor_pid, stem.util.system.pid_by_port(tor_port))
AssertionError: 25297 != None
----------------------------------------------------------------------
| -rw-r--r-- | stem/util/system.py | 11 | ||||
| -rw-r--r-- | test/integ/util/system.py | 7 |
2 files changed, 16 insertions, 2 deletions
diff --git a/stem/util/system.py b/stem/util/system.py index da02843d..5eedfdad 100644 --- a/stem/util/system.py +++ b/stem/util/system.py @@ -16,6 +16,7 @@ best-effort, providing **None** if the lookup fails. is_windows - checks if we're running on windows 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_available - determines if a command is available on this system @@ -141,6 +142,16 @@ def is_mac(): return platform.system() == 'Darwin' +def is_gentoo(): + """ + Checks if we're running on Gentoo. + + :returns: **bool** to indicate if we're on Gentoo + """ + + return os.path.exists('/etc/gentoo-release') + + def is_bsd(): """ Checks if we are within the BSD family of operating systems. This presently diff --git a/test/integ/util/system.py b/test/integ/util/system.py index c075a27e..e5cb199e 100644 --- a/test/integ/util/system.py +++ b/test/integ/util/system.py @@ -228,7 +228,7 @@ class TestSystem(unittest.TestCase): elif not _has_port(): test.runner.skip(self, '(test instance has no port)') return - elif stem.util.system.is_mac(): + elif stem.util.system.is_mac() or stem.util.system.is_gentoo(): test.runner.skip(self, '(resolvers unavailable)') return elif not runner.is_ptraceable(): @@ -259,6 +259,9 @@ class TestSystem(unittest.TestCase): elif stem.util.system.is_bsd() or stem.util.system.is_windows(): test.runner.skip(self, '(linux only)') return + elif stem.util.system.is_gentoo(): + test.runner.skip(self, '(unavailable on gentoo)') + return elif not runner.is_ptraceable(): test.runner.skip(self, '(DisableDebuggerAttachment is set)') return @@ -314,7 +317,7 @@ class TestSystem(unittest.TestCase): elif not stem.util.system.is_available('lsof'): test.runner.skip(self, '(lsof unavailable)') return - elif stem.util.system.is_mac(): + elif stem.util.system.is_mac() or stem.util.system.is_gentoo(): test.runner.skip(self, '(resolvers unavailable)') return elif not runner.is_ptraceable(): |
