[CalendarServer-changes] [6541] CalendarServer/branches/users/glyph/sharedpool/txdav/common/ datastore/test/util.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Nov 1 14:29:00 PDT 2010


Revision: 6541
          http://trac.macosforge.org/projects/calendarserver/changeset/6541
Author:   glyph at apple.com
Date:     2010-11-01 14:28:57 -0700 (Mon, 01 Nov 2010)
Log Message:
-----------
Set up auto-commit on demand so that it happens before service stop (since I guess cleanups are in reverse order?)

Modified Paths:
--------------
    CalendarServer/branches/users/glyph/sharedpool/txdav/common/datastore/test/util.py

Modified: CalendarServer/branches/users/glyph/sharedpool/txdav/common/datastore/test/util.py
===================================================================
--- CalendarServer/branches/users/glyph/sharedpool/txdav/common/datastore/test/util.py	2010-11-01 21:28:36 UTC (rev 6540)
+++ CalendarServer/branches/users/glyph/sharedpool/txdav/common/datastore/test/util.py	2010-11-01 21:28:57 UTC (rev 6541)
@@ -128,7 +128,9 @@
         currentTestID = testCase.id()
         store.label = currentTestID
         cp.startService()
-        testCase.addCleanup(cp.stopService)
+        def stopIt():
+            return cp.stopService()
+        testCase.addCleanup(stopIt)
         yield self.cleanStore(testCase, store)
         returnValue(store)
 
@@ -230,6 +232,7 @@
     lastTransaction = None
     savedStore = None
     assertProvides = assertProvides
+    lastCommitSetUp = False
 
     def transactionUnderTest(self):
         """
@@ -237,6 +240,9 @@
         C[lastTransaction}.  Also makes sure to use the same store, saving the
         value from C{storeUnderTest}.
         """
+        if not self.lastCommitSetUp:
+            self.lastCommitSetUp = True
+            self.addCleanup(self.commitLast)
         if self.lastTransaction is not None:
             return self.lastTransaction
         if self.savedStore is None:
@@ -271,9 +277,7 @@
     def setUp(self):
         self.counter = 0
         self.notifierFactory = StubNotifierFactory()
-        self.addCleanup(self.commitLast)
 
-
     def commitLast(self):
         if self.lastTransaction is not None:
             return self.commit()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20101101/f88ae703/attachment.html>


More information about the calendarserver-changes mailing list