[ZODB-Dev] transaction egg refactoring breaks zodb trunk
Chris McDonough
chrism at plope.com
Sun Nov 11 22:14:35 EST 2007
Christian fixed these failures, after I hosed things.
These were second-level failures. The first level failure was that
the tests couldn't be run at all. The way Christian found the failure
was that he had a buildbot which couldn't successfully run the tests
because the buildbot didn't know enough to attempt to download and put
the transaction module in the path during the tests.
Phillipp fixed this by adding an SVN external that points to the
'transaction' top-level module within the ZODB SVN module and he
changed the buildout.cfg to use this as a 'develop' directory. This
works but it's suboptimal for release, because we need to keep track
of the fact that this directory shouldn't be shipped in an sdist (and
thus add it as an exclude in setup.py). It's currently not excluded,
so if we were to make a release today, the release would include the
'transaction' directory.
I've made it possible to run the tests now via "setup.py test" (I just
wrap the testrunner) in a clean checkout by adding the appropriate
"tests_require" declarations. I'm not sure how to be able to remove
the 'transaction' SVN external while still allowing the tests to pass
via buildout's "bin/test" regime, however.
On Nov 10, 2007, at 6:11 AM, Christian Theune wrote:
> The ZODB trunk is broken after the transaction package was moved:
>
> Error in test checkFailingSavepointSticks
> (ZODB.tests.testZODB.ZODBTests)
> Traceback (most recent call last):
> File "/home/ctheune/local/python2.4/lib/python2.4/unittest.py", line
> 260, in run
> testMethod()
> File "/home/ctheune/tmp/ZODB.trunk/src/ZODB/tests/testZODB.py", line
> 363, in checkFailingSavepointSticks
> rt['a'] = 1
> File "/home/ctheune/tmp/ZODB.trunk/src/persistent/mapping.py", line
> 53, in __setitem__
> self._p_changed = 1
> File "/home/ctheune/tmp/ZODB.trunk/src/ZODB/Connection.py", line 936,
> in register
> self._register(obj)
> File "/home/ctheune/tmp/ZODB.trunk/src/ZODB/Connection.py", line 946,
> in _register
> self.transaction_manager.get().join(self)
> File
> "/home/ctheune/tmp/ZODB.trunk/transaction/transaction/
> _transaction.py",
> line 213, in join
> self._prior_operation_failed() # doesn't return
> File
> "/home/ctheune/tmp/ZODB.trunk/transaction/transaction/
> _transaction.py",
> line 207, in _prior_operation_failed
> raise TransactionFailedError("An operation previously failed, "
> TransactionFailedError: An operation previously failed, with
> traceback:
>
> File "bin/test", line 23, in ?
> zope.testing.testrunner.run([
> File
> "/home/ctheune/.eggs/tmprcnM-Q/zope.testing-3.5.1-py2.4.egg/zope/
> testing/testrunner.py", line 932, in run
> File
> "/home/ctheune/.eggs/tmprcnM-Q/zope.testing-3.5.1-py2.4.egg/zope/
> testing/testrunner.py", line 1068, in run_with_options
> File
> "/home/ctheune/.eggs/tmprcnM-Q/zope.testing-3.5.1-py2.4.egg/zope/
> testing/testrunner.py", line 1199, in run_tests
> File "/home/ctheune/local/python2.4/lib/python2.4/unittest.py", line
> 281, in __call__
> return self.run(*args, **kwds)
> File "/home/ctheune/local/python2.4/lib/python2.4/unittest.py", line
> 260, in run
> testMethod()
> File "/home/ctheune/tmp/ZODB.trunk/src/ZODB/tests/testZODB.py", line
> 324, in checkFailingCommitSticks
> self.assertRaises(PoisonedError, transaction.get().commit)
> File "/home/ctheune/local/python2.4/lib/python2.4/unittest.py", line
> 320, in failUnlessRaises
> callableObj(*args, **kwargs)
> File
> "/home/ctheune/tmp/ZODB.trunk/transaction/transaction/
> _transaction.py",
> line 325, in commit
> t, v, tb = self._saveAndGetCommitishError()
> File
> "/home/ctheune/tmp/ZODB.trunk/transaction/transaction/
> _transaction.py",
> line 322, in commit
> self._commitResources()
> File
> "/home/ctheune/tmp/ZODB.trunk/transaction/transaction/
> _transaction.py",
> line 419, in _commitResources
> rm.tpc_vote(self)
> File
> "/home/ctheune/tmp/ZODB.trunk/transaction/transaction/
> _transaction.py",
> line 535, in tpc_vote
> self.manager.tpc_vote(txn)
> File "/home/ctheune/tmp/ZODB.trunk/src/ZODB/tests/testZODB.py", line
> 631, in tpc_vote
> raise PoisonedError("tpc_vote fails")
> PoisonedError: tpc_vote fails
>
> --
> gocept gmbh & co. kg - forsterstrasse 29 - 06112 halle (saale) -
> germany
> www.gocept.com - ct at gocept.com - phone +49 345 122 9889 7 -
> fax +49 345 122 9889 1 - zope and plone consulting and development
> _______________________________________________
> 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