[Checkins] SVN: persistent/trunk/ Refactor legacy tests to cover both C and Python implementations.
Tres Seaver
cvs-admin at zope.org
Fri Jun 29 05:20:02 UTC 2012
Log message for revision 127185:
Refactor legacy tests to cover both C and Python implementations.
Changed:
_U persistent/trunk/
U persistent/trunk/persistent/tests/testPersistent.py
-=-
Modified: persistent/trunk/persistent/tests/testPersistent.py
===================================================================
--- persistent/trunk/persistent/tests/testPersistent.py 2012-06-29 05:19:55 UTC (rev 127184)
+++ persistent/trunk/persistent/tests/testPersistent.py 2012-06-29 05:19:59 UTC (rev 127185)
@@ -15,19 +15,19 @@
Picklable = None # avoid global import of Persistent; updated later
-class PersistenceTest(unittest.TestCase):
+class _Base(object):
def _makeOne(self):
- from persistent import Persistent
-
- class P(Persistent):
+ class P(self._getTargetClass()):
pass
return P()
def _makeJar(self):
from persistent.tests.utils import ResettingJar
- return ResettingJar()
+ jar = ResettingJar()
+ jar.cache = jar._cache = self._makeCache(jar)
+ return jar
def test_oid_initial_value(self):
obj = self._makeOne()
@@ -316,6 +316,36 @@
# TODO: Need to decide how __setattr__ and __delattr__ should work,
# then write tests.
+class PythonPersistentTests(unittest.TestCase, _Base):
+ def _getTargetClass(self):
+ from persistent.persistence import Persistent
+ return Persistent
+
+ def _makeCache(self, jar):
+ from persistent.picklecache import PickleCache
+ return PickleCache(jar)
+
+_add_to_suite = [PythonPersistentTests]
+
+try:
+ import persistent.cPersistence
+except ImportError:
+ pass
+else:
+ class CPersistentTests(unittest.TestCase, _Base):
+
+ def _getTargetClass(self):
+ from persistent.cPersistence import Persistent
+ return Persistent
+
+ def _makeCache(self, jar):
+ from persistent.cPickleCache import PickleCache
+ return PickleCache(jar)
+
+ _add_to_suite.append(CPersistentTests)
+
def test_suite():
- return unittest.makeSuite(PersistenceTest)
+ return unittest.TestSuite((
+ [unittest.makeSuite(x) for x in _add_to_suite]
+ ))
More information about the checkins
mailing list