Commit acb378db authored by Fred Drake's avatar Fred Drake

be more careful about not running tests for components that aren't

available
parent 81291b55
...@@ -21,7 +21,7 @@ import unittest ...@@ -21,7 +21,7 @@ import unittest
import ZODB.config import ZODB.config
import ZODB.tests import ZODB.tests
from ZODB.POSException import ReadOnlyError from ZODB.POSException import ReadOnlyError
from ZEO.ClientStorage import ClientDisconnected
class ConfigTestBase(unittest.TestCase): class ConfigTestBase(unittest.TestCase):
def _opendb(self, s): def _opendb(self, s):
...@@ -84,12 +84,27 @@ class ZODBConfigTest(ConfigTestBase): ...@@ -84,12 +84,27 @@ class ZODBConfigTest(ConfigTestBase):
""" % path """ % path
self.assertRaises(ReadOnlyError, self._test, cfg) self.assertRaises(ReadOnlyError, self._test, cfg)
def test_demo_config(self):
cfg = """
<zodb unused-name>
<demostorage>
name foo
<mappingstorage/>
</demostorage>
</zodb>
"""
self._test(cfg)
class ZEOConfigTest(ConfigTestBase):
def test_zeo_config(self): def test_zeo_config(self):
# We're looking for a port that doesn't exist so a connection attempt # We're looking for a port that doesn't exist so a
# will fail. Instead of elaborate logic to loop over a port # connection attempt will fail. Instead of elaborate
# calculation, we'll just pick a simple "random", likely to not-exist # logic to loop over a port calculation, we'll just pick a
# port number and add an elaborate comment explaining this instead. # simple "random", likely to not-exist port number and add
# Go ahead, grep for 9. # an elaborate comment explaining this instead. Go ahead,
# grep for 9.
from ZEO.ClientStorage import ClientDisconnected
cfg = """ cfg = """
<zodb> <zodb>
<zeoclient> <zeoclient>
...@@ -100,16 +115,6 @@ class ZODBConfigTest(ConfigTestBase): ...@@ -100,16 +115,6 @@ class ZODBConfigTest(ConfigTestBase):
""" """
self.assertRaises(ClientDisconnected, self._test, cfg) self.assertRaises(ClientDisconnected, self._test, cfg)
def test_demo_config(self):
cfg = """
<zodb unused-name>
<demostorage>
name foo
<mappingstorage/>
</demostorage>
</zodb>
"""
self._test(cfg)
class BDBConfigTest(ConfigTestBase): class BDBConfigTest(ConfigTestBase):
def setUp(self): def setUp(self):
...@@ -144,8 +149,19 @@ class BDBConfigTest(ConfigTestBase): ...@@ -144,8 +149,19 @@ class BDBConfigTest(ConfigTestBase):
def test_suite(): def test_suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(ZODBConfigTest)) suite.addTest(unittest.makeSuite(ZODBConfigTest))
# Only run the Berkeley tests if they are available # Only run the ZEO test if ZEO is available
try:
import ZEO
except ImportError:
pass
else:
suite.addTest(unittest.makeSuite(ZEOConfigTest))
# Only run the Berkeley tests if bsddb is available
try:
import BDBStorage import BDBStorage
except ImportError:
pass
else:
if BDBStorage.is_available: if BDBStorage.is_available:
suite.addTest(unittest.makeSuite(BDBConfigTest)) suite.addTest(unittest.makeSuite(BDBConfigTest))
return suite return suite
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment