[Tim Peters, on the testRunIgnoresParentSignals failure]
> ...
> The sanest conclusion I can draw is that some other process (zdrun?)
> unlinked 'testsock' between the time os.rmtree() did its os.listdir() and the
> time os.rmtree()  tried to unlink 'testsock' itself.
> If so, that's a new race condition in the new version of the test (the
> old version of the test didn't try to unlink 'testsock' -- I guess it
> left that to zdrun), and can trigger even if the body of the test
> passes.

That's definitely the problem here, and is easy to reproduce by
inserting a short time.sleep() inside os.rmtree():  zdrun.py and the
test code are racing to delete 'testsock'.  If the test code wins the
race, no problem is visible, because zdrun suppresses the os.error it
gets when it tries to delete 'testsock' itself.  But if zdrun manages
to delete it "in the middle" of the test code's call to rmtree(), we
get the bogus test death the buildbot experienced.  That's unlikely,
but is bound to happen from time to time.

I'll try to fix it later today if I can make time, and nobody else
does first ...
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to