[ZODB-Dev] [Test failures] ZODB 3.2 beta

Dieter Maurer dieter at handshake.de
Tue Dec 30 13:23:47 EST 2003


Hi Tim,

Tim Peters wrote at 2003-12-29 14:19 -0500:
>[Dieter Maurer]
>> The ZODB 3.2 version in the Zope 2.7 CVS branch (as of 2003-12-20)
>
>Did you mean to write 2003-12-29 there, or is this really from 1-2 weeks
>ago?

No, I meant 2003-12-20...

The Zope sources go through our CVS.
It is quite some work to get the sources reconciled (usually, because
ZC likes to change stylistic elements such as moving CVS keywords
in or out of module doc strings or transform an "from ... import ..."
with several names into a sequence of "from ... import" each with
a single name).
This means, I do not do it daily.

>> causes the following test failures:
>
>That's odd -- I don't see any failures, and the overnight test runner
>reports aren't showing these either.  If you're running on a "very fast"
>machine, maybe that's relevant.

The machine is an 1.4 GHz Athlon with about 26.000 pystones. This
means, it is not that fast.

>Also, are you using Python 2.3.3, or some other Python?

I am using Python 2.3.2.

> ...
>>  *  all "testFileStorageUndoPack" tests fail
>
>Sorry, I don't know what this means

"testFileStorageUndoPack" is a test module in "ZODB/tests"
defining the tests "up_checkUndo", "up_checkPack", "up_checkPacktoAfterCreate"
and "up_checkPackToAfterDelete".
All these tests fail in the same way: they raise a
"ReadConflictError" when the root is accessed in "self._check()".

> ...
>>     reason: the "undo" directly operates on the storage (and not on
>>     the connection). The check checks the connection root.
>>     As the connection is not reopened (or otherwise synchronized)
>>     between the undo and the check, accessing the root causes
>>     a "ReadConflictError".
>>
>>  *  the "testCache.LRUCacheTests.checkSize" test fails in
>>     "self.assertEquals(d['size'], CACHE_SIZE)":
>>      "AssertionError: 11 != 10"
>>
>>     reason: the root became deactivated (but was still referenced).
>>     This resulted in 10 non-ghost objects but 11 objects (as the root
>>     is a ghost).
>>     This indicates a bug in the LRU implementation. Apparently,
>>     writing an object does not update the LRU information.
>
>That test I recognize, but it will apparently run for hours on my box
>without failing:
>
>C:\Code\ZODB3-3_2-branch>type cvs\tag
>TZope-2_7-branch
>
>C:\Code\ZODB3-3_2-branch>\python23\python test.py -vv -L . checkSize
>Running unit tests at level 1
>Running unit tests from C:\Code\ZODB3-3_2-branch\build
>checkSize (ZODB.tests.testCache.LRUCacheTests) ... ok

Strange...


As the Zope sources go through our CVS (and I like to change Zope sources),
the failures might have been introduced by some modifications of me.
I do not think so -- but we already have had this case (and
I had been wrong, then).

I will check within a week with unmodified Zope/ZODB sources.

-- 
Dieter



More information about the ZODB-Dev mailing list