[Checkins] SVN: zc.zodbdgc/trunk/s Fixed some stupid typos, one of which was harmless, but the other
jim
cvs-admin at zope.org
Mon Oct 8 17:29:42 UTC 2012
Log message for revision 127940:
Fixed some stupid typos, one of which was harmless, but the other
caused GC to fail on a database.
Changed:
U zc.zodbdgc/trunk/setup.py
U zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py
U zc.zodbdgc/trunk/src/zc/zodbdgc/tests.py
-=-
Modified: zc.zodbdgc/trunk/setup.py
===================================================================
--- zc.zodbdgc/trunk/setup.py 2012-10-08 12:57:17 UTC (rev 127939)
+++ zc.zodbdgc/trunk/setup.py 2012-10-08 17:29:38 UTC (rev 127940)
@@ -34,7 +34,7 @@
'--------\n'
)
-tests_require = ['zope.testing']
+tests_require = ['zope.testing', 'mock']
setup(
name = name,
Modified: zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py
===================================================================
--- zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py 2012-10-08 12:57:17 UTC (rev 127939)
+++ zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py 2012-10-08 17:29:38 UTC (rev 127940)
@@ -128,7 +128,7 @@
else:
logger.info("Using secondary configuration, %s, for analysis", conf2)
db2 = ZODB.config.databaseFromFile(open(conf2))
- close.append(db1)
+ close.append(db2)
if set(db1.databases) != set(db2.databases):
raise ValueError("primary and secondary databases don't match.")
@@ -218,6 +218,7 @@
else:
bad.insert(name, oid, record.tid,
getrefs(data, name, ignore))
+
else:
# deleted record
if good.has(name, oid):
@@ -392,7 +393,7 @@
pos = db.get(oid)
if pos is not None:
f.seek(pos)
- tid = f.read(8)
+ oldtid = f.read(8)
oldrefs = set(marshal.load(f))
refs = oldrefs.union(refs)
tid = max(tid, oldtid)
Modified: zc.zodbdgc/trunk/src/zc/zodbdgc/tests.py
===================================================================
--- zc.zodbdgc/trunk/src/zc/zodbdgc/tests.py 2012-10-08 12:57:17 UTC (rev 127939)
+++ zc.zodbdgc/trunk/src/zc/zodbdgc/tests.py 2012-10-08 17:29:38 UTC (rev 127940)
@@ -18,6 +18,7 @@
from zope.testing import setupstack, renormalizing
import binascii
import doctest
+import mock
import re
import time
import unittest
@@ -113,6 +114,51 @@
>>> db.close()
"""
+def stupid_typo_nameerror_not():
+ """
+
+ >>> open('config', 'w').write('''
+ ... <zodb db>
+ ... <filestorage>
+ ... pack-gc false
+ ... pack-keep-old false
+ ... path 1.fs
+ ... </filestorage>
+ ... </zodb>
+ ... ''')
+ >>> import ZODB.config, persistent.mapping, time
+ >>> with mock.patch("time.time", return_value=1241458549.614022):
+ ... db = ZODB.config.databaseFromFile(open('config'))
+ ... conn = db.open()
+ ... junk = persistent.mapping.PersistentMapping()
+ ... conn.add(junk)
+ ... conn.transaction_manager.commit()
+ ... junk['a'] = 1
+ ... conn.transaction_manager.commit()
+ ... junk['a'] = 2
+ ... conn.transaction_manager.commit()
+ ... junk['a'] = 3
+ ... conn.transaction_manager.commit()
+ ... time.time.return_value += 86400*1.5
+ ... conn.root.x = 1
+ ... conn.transaction_manager.commit()
+ ... db.close()
+ ... import zc.zodbdgc, time
+ ... from ZODB.utils import u64
+ ... bad = zc.zodbdgc.gc('config', days=1)
+ ... for name, oid in sorted(bad.iterator()):
+ ... print name, u64(oid)
+ ... time.time.return_value += 86400*1.5
+ ... db = ZODB.config.databaseFromFile(open('config'))
+ ... len(db.storage)
+ ... db.pack()
+ ... len(db.storage)
+ db 1
+ 2
+ 1
+ >>> db.close()
+ """
+
def test_suite():
suite = unittest.TestSuite((
doctest.DocFileSuite(
More information about the checkins
mailing list