[Zope-dev] RE: [ZODB-Dev] Test Failures

Tim Peters tim at zope.com
Fri Dec 16 11:43:52 EST 2005


[Sidnei da Silva]
> I've seen the following tests fail today, after updating Zope 2.8 branch
> for all variants of BTrees:
>
> ======================================================================
> ERROR: testUpdateFromPersistentMapping
> (BTrees.tests.testBTrees.IIBucketTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python2.4/unittest.py", line 260, in run
>     testMethod()
>   File
>   "/home/sidnei/src/zope/2.8/lib/python/BTrees/tests/testBTrees.py",
>   line 353, in testUpdateFromPersistentMapping
>     self.t.update(pm)
> TypeError: Sequence must contain 2-item tuples
>
> This is on a Powerbook running Ubuntu Breezy PPC.
>
> Python 2.4.2 (#2, Nov 20 2005, 17:20:59)
> [GCC 4.0.3 20051023 (prerelease)
> (Ubuntu 4.0.2-3ubuntu1)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.

Works for me:

tim at ds9:~/Zope2.8$ svn info
Path: .
URL: svn://svn.zope.org/repos/main/Zope/branches/Zope-2_8-branch
Repository UUID: 62d5b8a3-27da-0310-9561-8e5933582275
Revision: 40815
Node Kind: directory
Schedule: normal
Last Changed Author: sidnei
Last Changed Rev: 40805
Last Changed Date: 2005-12-16 07:28:10 -0500 (Fri, 16 Dec 2005)
Properties Last Updated: 2005-10-04 14:30:34 -0400 (Tue, 04 Oct 2005)

tim at ds9:~/Zope2.8$ svn up
Fetching external item into 'doc/ZEO'
External at revision 40815.
Fetching external item into 'lib/python/zope'
External at revision 40815.
Fetching external item into 'lib/python/ZConfig'
External at revision 40815.
Fetching external item into 'lib/python/BTrees'
External at revision 40815.
Fetching external item into 'lib/python/Persistence'
External at revision 40815.
Fetching external item into 'lib/python/persistent'
External at revision 40815.
Fetching external item into 'lib/python/ThreadedAsync'
External at revision 40815.
Fetching external item into 'lib/python/transaction'
External at revision 40815.
Fetching external item into 'lib/python/ZEO'
External at revision 40815.
Fetching external item into 'lib/python/ZODB'
External at revision 40815.
Fetching external item into 'lib/python/ZopeUndo'
External at revision 40815.
Fetching external item into 'lib/python/zdaemon'
External at revision 40815.
Fetching external item into 'utilities/ZODBTools'
External at revision 40815.
At revision 40815.

tim at ds9:~/Zope2.8$ python2.4
Python 2.4.2 (#1, Dec  2 2005, 10:17:25)
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)] on linux2
...

tim at ds9:~/Zope2.8$ python2.4 setup.py build_ext -i
running build_ext
running build_ext

tim at ds9:~/Zope2.8$ python2.4 test.py -vv . testUpdateFromPersistentMapping
Running unit tests at level 1
Running unit tests from /home/tim/Zope2.8/lib/python
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.IIBucketTest) ...
ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.IIBTreeTest) ... ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.IFBucketTest) ...
ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.IFBTreeTest) ... ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.IOBucketTest) ...
ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.IOBTreeTest) ... ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.OOBucketTest) ...
ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.OOBTreeTest) ... ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.OIBucketTest) ...
ok
testUpdateFromPersistentMapping (BTrees.tests.testBTrees.OIBTreeTest) ... ok

----------------------------------------------------------------------
Ran 10 tests in 0.007s

OK

No idea why it failed for you.  The only thing that rings a bell here is
that this test was added in ZODB 3.4.2b1, corresponding to this ZODB news
entry:

"""
BTrees
------

- (3.4.2b1) Collector 1873.  It wasn't possible to construct a BTree
  or Bucket from, or apply their update() methods to, a PersistentMapping
  or PersistentDict.  This works now.
"""

So my only guesses are that you have some older (than 3.4.2) version of ZODB
on your PYTHONPATH, or that your checkout is screwed up.  Here are the
externals you _should_ have:

tim at ds9:~/Zope2.8$ svn propget svn:externals lib/python
zope
svn://svn.zope.org/repos/main/Zope3/tags/ZopeX3-3.0.1-Zope-2.8/src/zope
ZConfig        svn://svn.zope.org/repos/main/ZConfig/tags/ZConfig-2.3
BTrees         svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/BTrees
Persistence    svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/Persistence
persistent     svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/persistent
ThreadedAsync
svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/ThreadedAsync
transaction    svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/transaction
ZEO            svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/ZEO
ZODB           svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/ZODB
ZopeUndo       svn://svn.zope.org/repos/main/ZODB/tags/3.4.2/src/ZopeUndo
zdaemon        svn://svn.zope.org/repos/main/zdaemon/tags/zdaemon-1.1

> Additionally, while running the tests for Zope 2.8, 2.9 and trunk (all
> at the same time *wink*), the following tests failed. I suspect the
> failures have to do with heavy load on the box while running the tests?

Almost certainly, yes.  The Transience tests are part of Zope (not part of
ZODB), and it's in the nature of transient objects that they "go away by
magic" as time passes.  If "too much" wall-clock time elapses while a
Transience test is running, failure is expected.



More information about the Zope-Dev mailing list