[Zope-dev] zope.index 3.5.2 broken

Chris McDonough chrism at plope.com
Mon Aug 3 14:15:15 EDT 2009


On 8/3/09 1:07 PM, Shane Hathaway wrote:
> Marius Gedminas wrote:
>> On Sun, Aug 02, 2009 at 08:48:24PM +0200, Andreas Jung wrote:
>>> Hi,
>>>
>>> the doctests for zope.index 3.5.2 - as used in Zope 2.12  - fail badly:
>>>
>>> File
>>> "/home/ajung/.buildout/eggs/zope.index-3.5.2-py2.6-linux-x86_64.egg/zope/index/text/tests/../textindex.txt",
>>> line 143, in textindex.txt
>>> Failed example:
>>>      [(k, "%.4f" % v) for (k, v) in index2.apply("Zorro").items()] == result
>>
>> I'm assuming items() returns a plain Python dictionary with string keys.
>>
>> Python's string hashes return different valuesfor half of all the strings
>> on 64-bit machines.  This influences the ordering of dictionary keys and
>> some other things too (such as the sequence of random numbers you get if
>> you use a string as the seed).
>>
>> Add a sorted() on both sides and the test should pass.
>
> Actually, those tests were plain insane and I've fixed them on the
> trunk.  I intend to make a new zope.index release today.
>
> How insane were these tests?  Well, the author of the tests noticed that
> the C optimization produces different scores than the Python version,
> and compensated for that in a way that dramatically reduced readability.

/me hangs head in shame.

- C


More information about the Zope-Dev mailing list