[Python-Dev] Python 2.0 beta 2 pre-release

Tim Peters tim_one@email.msn.com
Tue, 26 Sep 2000 20:34:51 -0400


[Victor the Cleaner]
> Jeremy asked me to send this report (which I originally sent just to
> him) along to the rest of python-dev, so here ya go:

Bugs reports should go to SourceForge, else as often as not they'll got
lost.

> ------------%< snip %<----------------------%< snip %<------------
>
> Hey Jeremy,
>
> Configured (--without-gcc), made and ran just fine on my IRIX6.5 O2.
> The "make test" output indicated a lot of skipped modules since I
> didn't do any Setup.in modifications before making everything, and the
> only error came from test_unicodedata:
>
> test test_unicodedata failed -- Writing:
> 'e052289ecef97fc89c794cf663cb74a64631d34e', expected:
> 'b88684df19fca8c3d0ab31f040dd8de89f7836fe'

The problem appears to be that the test uses the secret "unicode-internal"
encoding, which is dependent upon the big/little-endianess of your platform.
I can reproduce your flawed hash exactly on my platform by replacing this
line:

        h.update(u''.join(data).encode('unicode-internal'))

in test_unicodedata.py's test_methods() with this block:

        import array
        xxx = array.array("H", map(ord, u''.join(data)))
        xxx.byteswap()
        h.update(xxx)

When you do this from a shell:

>>> u"A".encode("unicode-internal")
'A\000'
>>>

I bet you get

'\000A'

Right?