summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTres Seaver <tseaver@palladion.com>2015-02-25 10:20:23 -0500
committerTres Seaver <tseaver@palladion.com>2015-02-25 10:20:23 -0500
commit79b02a1cf780bef92392916084b6bd92bfa48bd6 (patch)
tree37e44fcfc047c9fe166334636e5fd44e7865203d /src
parent6c45e244f06805427955b07ac02dfe6a10c656ce (diff)
downloadzope-component-79b02a1cf780bef92392916084b6bd92bfa48bd6.tar.gz
Disable 'standalone' test when zope.security is missing.
Diffstat (limited to 'src')
-rw-r--r--src/zope/component/tests/test_standalone.py77
1 files changed, 42 insertions, 35 deletions
diff --git a/src/zope/component/tests/test_standalone.py b/src/zope/component/tests/test_standalone.py
index f4ac087..efd0d87 100644
--- a/src/zope/component/tests/test_standalone.py
+++ b/src/zope/component/tests/test_standalone.py
@@ -15,43 +15,50 @@
"""
import unittest
+try:
+ import zope.security
+except ImportError:
+ _HAS_ZOPE_SECURITY = False
+else:
+ _HAS_ZOPE_SECURITY = True
-class StandaloneTests(unittest.TestCase):
- def testStandalone(self):
- # See: https://bugs.launchpad.net/zope3/+bug/98401
- import subprocess
- import sys
- import os
- import pickle
-
- executable = os.path.abspath(sys.executable)
- where = os.path.dirname(os.path.dirname(__file__))
- program = os.path.join(where, 'standalonetests.py')
- process = subprocess.Popen([executable, program],
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT,
- stdin=subprocess.PIPE)
- try:
- pickle.dump(sys.path, process.stdin)
- process.stdin.close()
+ class StandaloneTests(unittest.TestCase):
+ def testStandalone(self):
+ # See: https://bugs.launchpad.net/zope3/+bug/98401
+ import subprocess
+ import sys
+ import os
+ import pickle
+ executable = os.path.abspath(sys.executable)
+ where = os.path.dirname(os.path.dirname(__file__))
+ program = os.path.join(where, 'standalonetests.py')
+ process = subprocess.Popen([executable, program],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ stdin=subprocess.PIPE)
try:
- rc = process.wait()
- except OSError as e:
- if e.errno != 4: # MacIntel raises apparently unimportant EINTR?
- raise # TODO verify sanity of a pass on EINTR :-/
- if rc != 0:
- output = process.stdout.read()
- if isinstance(output, bytes):
- output = output.decode()
- sys.stderr.write('#' * 80 + '\n')
- sys.stdout.write(output)
- sys.stderr.write('#' * 80 + '\n')
- self.fail('Output code: %d' % rc)
- finally:
- process.stdout.close()
+ pickle.dump(sys.path, process.stdin)
+ process.stdin.close()
+
+ try:
+ rc = process.wait()
+ except OSError as e:
+ # MacIntel raises apparently unimportant EINTR?
+ if e.errno != 4:
+ raise # TODO verify sanity of a pass on EINTR :-/
+ if rc != 0:
+ output = process.stdout.read()
+ if isinstance(output, bytes):
+ output = output.decode()
+ sys.stderr.write('#' * 80 + '\n')
+ sys.stdout.write(output)
+ sys.stderr.write('#' * 80 + '\n')
+ self.fail('Output code: %d' % rc)
+ finally:
+ process.stdout.close()
def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(StandaloneTests),
- ))
+ if _HAS_ZOPE_SECURITY:
+ return unittest.makeSuite(StandaloneTests)
+ return unittest.TestSuite()