[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