Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#52 ZODB3/ZEO test failures on MacOSX

open
nobody
None
5
2003-01-09
2003-01-09
Just van Rossum
No

Running python2.3 test.py -vv from a fresh CVS checkout of ZODB3 results in lots of failures, leaving *lots* of idle processes after the test has run.

Failures start like this:

checkBadMessage1 (ZEO.tests.testConnection.FileStorageConnectionTests) ...

Error in test checkBadMessage1 (ZEO.tests.testConnection.FileStorageConnectionTests)
Traceback (most recent call last):
File "lib.darwin-6.3-Power Macintosh-2.3/ZEO/tests/ConnectionTests.py", line 79, in setUp
self.startServer()
File "lib.darwin-6.3-Power Macintosh-2.3/ZEO/tests/ConnectionTests.py", line 134, in startServer
zeoport, adminaddr, pid = forker.start_zeo_server(
File "lib.darwin-6.3-Power Macintosh-2.3/ZEO/tests/forker.py", line 95, in start_zeo_server
s.connect(adminaddr)
error: (22, 'Invalid argument')

(Many more follow.)

This is one of the many processes left after the test:
5202 std- S 0:00.90 /usr/local/bin/python2.3 lib.darwin-6.3-Power Macintosh-2.3/ZEO/tests/zeoserver.py -C /tmp/tmpkgugkW 27580

I would think the space in "Power Macintosh" is causing the problems. This could be seens as a bug in (the MacOSX support of) distutils, but still it would be better to quote the command line args. I've tried to locate where quoting is omitted but I can't find it.

Discussion

  • Logged In: YES
    user_id=6380

    Andrew Kuchling just checked in changes to distutils to turn
    spaces into underscores. Maybe you can try again?

    (I think there have also receently been changes to the ZODB
    test cleanup to kill processes better, but I don't know if
    that code is truly cross-platform.)

     
  • Logged In: YES
    user_id=92689

    Hm, this doesn't help: both the errors and leftover processes remain. (I verified that there's indeed no space in the build/lib* path anymore.)

    That said, if I patch ZEO/tests/forker.py like this:

    Index: ZEO/tests/forker.py

    RCS file: /cvs-repository/ZODB3/ZEO/tests/forker.py,v
    retrieving revision 1.31
    diff -c -r1.31 forker.py
    *** ZEO/tests/forker.py 7 Jan 2003 22:12:58 -0000 1.31
    --- ZEO/tests/forker.py 9 Jan 2003 15:58:38 -0000
    ***************
    *** 110,116 ****
    return '"%s"' % s
    else:
    def _quote_arg(s):
    ! return s

    def shutdown_zeo_server(adminaddr):
    --- 110,116 ----
    return '"%s"' % s
    else:
    def _quote_arg(s):
    ! return '"%s"' % s

    ...there are _no_ leftover processes after the tests have run (but they still fail in the same way).