[ZODB-Dev] tcp_begin in tests
Antonio Beamud Montero
antonio.beamud at linkend.net
Thu Jul 7 03:41:51 EDT 2005
El mié, 06-07-2005 a las 19:57 +0200, Antonio Beamud Montero escribió:
> Hi all:
> In my app, I'm using ZODB to store data, the problem is that I have
> implemented several unittest, for every unit test I create the ZODB
> database and when the test finished I destroy the database (including
> files). When I run 2 test, the first is executed ok, but the second
test
> give me the next Exception:
>
> Traceback (most recent call last):
> File "./test_collector.py", line 240, in runTest
> self.collect = Collector(conf)
> File "/usr/lib/python2.3/site-packages/mylib/collector.py", line 78,
> in __init__
> get_transaction().commit()
> File "/opt/zope/lib/python/ZODB/Transaction.py", line 232, in commit
> self._commit_begin(jars, subjars, subtransaction)
> File "/opt/zope/lib/python/ZODB/Transaction.py", line 340, in
> _commit_begin
> jar.tpc_begin(self)
> File "/opt/zope/lib/python/ZODB/Connection.py", line 692, in
tpc_begin
> self._storage.tpc_begin(transaction)
> AttributeError: 'NoneType' object has no attribute 'tpc_begin'
>
> To shutdown the class containing the ZODB connection:
>
> def shutdown(self):
> self.db.close()
> self.storage.close()
> return
>
> But, if I execute only the second test, all works ok...
> I've try to debug the problem, but the ZODB code is very deep and
> complex...
>
Sorry, I not give you all the info:
To open the database:
testdata = '/tmp/zodb.fs'
class Collector:
def __init__(self, config=None):
try:
self.storage = FileStorage.FileStorage(testdata, create=1)
self.db = DB(self.storage)
self.db.setPoolSize(20)
zodbcon = self.db.open()
root = zodbcon.root()
except Exception,e:
sys.exit(0)
if not root.has_key('pendings'):
root['pendings'] = Status('pendings')
get_transaction().commit()
def shutdown(self):
self.db.close()
self.storage.close()
return
The problem arises when the commit() is executed...
I have tested ZODB but the problem doesn't raises...
Greetings.
More information about the ZODB-Dev
mailing list