[Zodb-checkins] SVN: ZODB/trunk/src/ZODB/tests/util.py Added common setUp and tearDown for both doctests and unittest tests
Jim Fulton
jim at zope.com
Tue Oct 28 17:33:19 EDT 2008
Log message for revision 92660:
Added common setUp and tearDown for both doctests and unittest tests
to abort the current global transaction before and after each test and
to create a temporary test directory to run each test.
Changed:
U ZODB/trunk/src/ZODB/tests/util.py
-=-
Modified: ZODB/trunk/src/ZODB/tests/util.py
===================================================================
--- ZODB/trunk/src/ZODB/tests/util.py 2008-10-28 19:08:43 UTC (rev 92659)
+++ ZODB/trunk/src/ZODB/tests/util.py 2008-10-28 21:33:18 UTC (rev 92660)
@@ -16,10 +16,41 @@
$Id$
"""
+from ZODB.MappingStorage import DB
+
+import os
+import tempfile
import time
+import unittest
import persistent
-from ZODB.MappingStorage import DB
+import transaction
+import zope.testing.setupstack
+def setUp(test, name='test'):
+ transaction.abort()
+ d = tempfile.mkdtemp(prefix=name)
+ zope.testing.setupstack.register(test, zope.testing.setupstack.rmtree, d)
+ zope.testing.setupstack.register(
+ test, setattr, tempfile, 'tempdir', tempfile.tempdir)
+ tempfile.tempdir = d
+ zope.testing.setupstack.register(test, os.chdir, os.getcwd())
+ os.chdir(d)
+ zope.testing.setupstack.register(test, transaction.abort)
+
+tearDown = zope.testing.setupstack.tearDown
+
+class TestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.globs = {}
+ name = self.__class__.__name__
+ mname = getattr(self, '_TestCase__testMethodName', '')
+ if mname:
+ name += '-' + mname
+ setUp(self, name)
+
+ tearDown = tearDown
+
def pack(db):
db.pack(time.time()+1)
More information about the Zodb-checkins
mailing list