[ZODB-Dev] tcp_begin in tests [SOLVED]

Antonio Beamud Montero antonio.beamud at linkend.net
Thu Jul 7 07:29:04 EDT 2005


Solved... well, as you can see in the traceback, the zope-ZODB library
was in the path, and I want using the ZODB alone installed in the python
lib path... I've removed the /opt/zope/lib/python from my app
pythonpath, and now all works fine...

Greetings.

El jue, 07-07-2005 a las 09:41 +0200, Antonio Beamud Montero escribió:
> 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.
> 
> 
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
> 
> ZODB-Dev mailing list  -  ZODB-Dev at zope.org
> http://mail.zope.org/mailman/listinfo/zodb-dev



More information about the ZODB-Dev mailing list