[Python-3000] current status

Guido van Rossum guido at python.org
Thu Aug 30 15:43:21 CEST 2007


On 8/30/07, Neal Norwitz <nnorwitz at gmail.com> wrote:
> There are 6 tests that fail on all platforms AFAIK:
>
> 3 tests failed:
>     test_mailbox test_old_mailbox test_unicode_file
> 3 skips unexpected on linux2:
>     test_smtplib test_sundry test_ssl

Martin fixed test_unicode_file (I think he may be the only one who
understood that test).

test_ssl is not working because the ssl support in socket.py has been
disabled -- with the latest merge from the trunk, Bill Janssen's
server-side code came in, but it doesn't work yet with 3.0, which has
a completely different set of classes in socket.py. I hope it's OK to
release 3.0a1 without SSL support.

> I believe test_smtplib, test_sundry fail for the same reason at least
> partially.  They can't import email.base64mime.encode.  There are
> decode functions, but encode is gone from base64mime.  I don't know if
> that's the way it's supposed to be or not.  But smtplib can't be
> imported because encode is missing.

Barry said he'd fix this.

> Some of the failures in test_mailbox and test_old_mailbox are the
> same, but I think test_mailbox might have more problems.
>
> I hopefully fixed some platform specific problems, but others remain:
>
> * test_normalization fails on several boxes (where locale is not C maybe?)

Oh, good suggestion. I was wondering about this myself. Alas, I have
no idea what that test does.

> * On ia64, test_tarfile.PAXUnicodeTest.test_utf7_filename generates
> this exception:
> Objects/exceptions.c:1392: PyUnicodeDecodeError_Create: Assertion
> `start < 2147483647' failed.

That's probably an uninitialized variable 'startinpos' in one of the
functions that calls unicode_decode_call_errorhandler(). It's the 7th
parameter. The header of that function is 150 characters wide. Yuck!
Someone will need to reproduce the bug and then point gdb at it and it
should be obvious. :-)

> * On ia64 and Win64 (IIRC), this fails:  self.assertEqual(round(1e20), 1e20)
> AssertionError: 0 != 1e+20
>
> * On PPC64, all the dbm code seems to be crashing
>
> * File "Lib/test/test_nis.py", line 27, in test_maps
>     if nis.match(k, nismap) != v:
> SystemError: can't use str as char buffer

Someone fixed this by changing t# into s#. Do we still need t#? Can
someone who understands it explain what it does?

> * On Solaris, hashlib can't import _md5 which creates a bunch of problems.

I've seen this on other platforms that have an old openssl version. I
think we don't have _md5 any more, so the code that looks for it is
broken -- but this means we're more dependent on openssl than I'm
comfortable with, even though the old _md5 modulehad an RSA copyright.
:-(

> * On Win64, there's this assert:
>    SystemError: Objects\longobject.c:412: bad argument to internal function
> I don't see how it's getting triggered based on the traceback though
>
> Win64 has a bunch of weird issues:
>
> http://python.org/dev/buildbot/3.0/amd64%20XP%203.0/builds/40/step-test/0

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-3000 mailing list