[Zope-Checkins] CVS: Packages/ZODB/tests -
PackableStorage.py:1.20.6.3.26.1 StorageTestBase.py:1.27.6.1.36.1
testPersistentMapping.py:1.5.34.1.36.1
Tres Seaver
tseaver at palladion.com
Sat May 28 20:42:18 EDT 2005
Update of /cvs-repository/Packages/ZODB/tests
In directory cvs.zope.org:/tmp/cvs-serv32028/lib/python/ZODB/tests
Modified Files:
Tag: tseaver-hasattr_geddon-branch
PackableStorage.py StorageTestBase.py testPersistentMapping.py
Log Message:
- Removed all uses of the 'hasattr' builtin from the core, where
the object being tested derives (or might) from Persistent.
XXX: currently, this branch imports a 'safe_hasattr' from ZODB.utils,
which adds a dependency on ZODB for some packages; we probably
need a better location, and perhas a C implementation?
=== Packages/ZODB/tests/PackableStorage.py 1.20.6.3 => 1.20.6.3.26.1 ===
--- Packages/ZODB/tests/PackableStorage.py:1.20.6.3 Fri Jan 16 14:17:51 2004
+++ Packages/ZODB/tests/PackableStorage.py Sat May 28 20:41:37 2005
@@ -35,6 +35,7 @@
from ZODB.tests.StorageTestBase import snooze
from ZODB.POSException import ConflictError, StorageError
from ZODB.PersistentMapping import PersistentMapping
+from ZODB.utils import safe_hasattr
ZERO = '\0'*8
@@ -77,7 +78,7 @@
# Fun, huh?
def dumps(obj):
def getpersid(obj):
- if hasattr(obj, 'getoid'):
+ if safe_hasattr(obj, 'getoid'):
return obj.getoid()
return None
s = StringIO()
=== Packages/ZODB/tests/StorageTestBase.py 1.27.6.1 => 1.27.6.1.36.1 ===
--- Packages/ZODB/tests/StorageTestBase.py:1.27.6.1 Mon Sep 15 17:26:57 2003
+++ Packages/ZODB/tests/StorageTestBase.py Sat May 28 20:41:37 2005
@@ -32,6 +32,7 @@
from ZODB.Transaction import Transaction
from ZODB.utils import u64
+from ZODB.utils import safe_hasattr
from ZODB.tests.MinPO import MinPO
@@ -52,7 +53,8 @@
p = Pickler(f, 1)
p.persistent_id = lambda obj: getattr(obj, '_p_oid', None)
klass = obj.__class__
- assert not hasattr(obj, '__getinitargs__'), "not ready for constructors"
+ assert not safe_hasattr(obj,
+ '__getinitargs__'), "not ready for constructors"
args = None
mod = getattr(klass, '__module__', None)
=== Packages/ZODB/tests/testPersistentMapping.py 1.5.34.1 => 1.5.34.1.36.1 ===
--- Packages/ZODB/tests/testPersistentMapping.py:1.5.34.1 Mon Sep 15 17:26:57 2003
+++ Packages/ZODB/tests/testPersistentMapping.py Sat May 28 20:41:37 2005
@@ -25,6 +25,7 @@
import ZODB
from ZODB.MappingStorage import MappingStorage
from ZODB.Transaction import Transaction
+from ZODB.utils import safe_hasattr
import cPickle
import cStringIO
import sys
@@ -49,8 +50,8 @@
# If the root can be loaded successfully, we should be okay.
r = db.open().root()
# But make sure it looks like a new mapping
- self.assert_(hasattr(r, 'data'))
- self.assert_(not hasattr(r, '_container'))
+ self.assert_(safe_hasattr(r, 'data'))
+ self.assert_(not safe_hasattr(r, '_container'))
def checkNewPicklesAreSafe(self):
s = MappingStorage()
@@ -71,8 +72,8 @@
state = u.load()
inst.__setstate__(state)
- self.assert_(hasattr(inst, '_container'))
- self.assert_(not hasattr(inst, 'data'))
+ self.assert_(safe_hasattr(inst, '_container'))
+ self.assert_(not safe_hasattr(inst, 'data'))
def find_global(modulename, classname):
"""Helper for this test suite to get special PersistentMapping"""
More information about the Zope-Checkins
mailing list