[Twisted-Python] Status of Twisted Tests
James Y Knight
foom at fuhm.net
Thu Sep 23 17:37:40 EDT 2004
On Sep 23, 2004, at 3:00 PM, Jp Calderone wrote:
> =======================================================================
> ========
> ERROR: testOurServerCmdLineClient
> (twisted.conch.test.test_conch.SSHTransportTestCase)
> -----------------------------------------------------------------------
> --------
> Traceback: twisted.trial.unittest.FailTest, unexpectedly lost
> connection <twisted.conch.test.test_conch.SSHTestServer instance at
> 0x8dc2a5c>
> [Failure instance: Traceback: twisted.internet.error.ConnectionDone,
> Connection was closed cleanly.
> ]
> /home/buildbot/run/full2.2/Twisted/twisted/python/log.py:53:
> callWithLogger
> /home/buildbot/run/full2.2/Twisted/twisted/python/log.py:40:
> callWithContext
> /home/buildbot/run/full2.2/Twisted/twisted/python/context.py:52:
> callWithContext
> /home/buildbot/run/full2.2/Twisted/twisted/python/context.py:31:
> callWithContext
> /home/buildbot/run/full2.2/Twisted/twisted/internet/default.py:521:
> _doReadOrWrite
> /home/buildbot/run/full2.2/Twisted/twisted/internet/tcp.py:296:
> connectionLost
> /home/buildbot/run/full2.2/Twisted/twisted/conch/test/test_conch.py:
> 334:connectionLost
> /home/buildbot/run/full2.2/Twisted/twisted/trial/unittest.py:86:fail
> -----------------------------------------------------------------------
> --------
Since this one appeared to be my fault I investigated it, and found the
following:
The test is highly sensitive to what order events come back. It wants
them in the following order:
1) The pipe from the SSH client subprocess has the data "goodbye"
appear on it.
2) The ssh server's connection to the client gets closed.
3) The ssh client process dies
However, with my buffering change, *sometimes* (not always) the
following happens instead:
1) The ssh server's connection to the client gets closed.
2) The pipe from the SSH client subprocess has the data "goodbye"
appear on it.
3) The ssh client process dies
It seems to me that this ordering change could have happened before, as
there is nothing that guarantees the ordering of data sent over
different sockets. So, I think this is a bug in the test.
> Python 2.4:
> testAPileOfThings (twisted.mail.test.test_imap.TLSTestCase) ...
> /home/buildbot/run/full2.4/Twisted/twisted/internet/tcp.py:531:
> exceptions.RuntimeWarning: startTLS with unwritten buffered data
> currently doesn't work right. See issue #686. Closing connection.
*No* idea why this would show up only in Py 2.4...if anyone could help
out here..
James
More information about the Twisted-Python
mailing list