[Checkins] SVN: gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_recovery.py compare single storage records in recovery tests

Thomas Lotze tl at gocept.com
Tue Feb 19 09:39:04 EST 2008


Log message for revision 84060:
  compare single storage records in recovery tests

Changed:
  U   gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_recovery.py

-=-
Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_recovery.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_recovery.py	2008-02-19 14:28:25 UTC (rev 84059)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_recovery.py	2008-02-19 14:39:04 UTC (rev 84060)
@@ -104,6 +104,18 @@
             source, target, lambda target: None)
         protocol = list(recovery())
         self.assertEquals([('verified',), ('recovered',)], protocol[-2:])
+        for source_txn, target_txn in zip(source.iterator(),
+                                          target.iterator()):
+            # We need not compare the transaction metadata because that has
+            # already been done by the recovery's verification run.
+            source_records = list(source_txn)
+            target_records = list(target_txn)
+            self.assertEquals(len(source_records), len(target_records))
+            for source_record, target_record in zip(source_records,
+                                                    target_records):
+                for name in 'oid', 'tid', 'data', 'version', 'data_txn':
+                    self.assertEquals(getattr(source_record, name),
+                                      getattr(target_record, name))
 
     def setUp(self):
         self.source = ZODB.FileStorage.FileStorage(tempfile.mktemp())
@@ -250,6 +262,7 @@
         self.assertEquals('recovered', recovery.next()[0])
         self.thread.join()
         self.assertEquals(True, self.got_commit_lock)
+        self.compare(self.source, self.target)
 
 
 def test_suite():



More information about the Checkins mailing list