Builder defining tests relating to twisted.internet.tcp.Connection.

Method test_stopStartReading This test verifies transport socket read state after multiple pause/resumeProducing calls.
Method test_resumeProducing When a Server is connected, its resumeProducing method adds it as a reader to the reactor.
Method test_resumeProducingWhileDisconnecting When a Server has already started disconnecting via loseConnection, its resumeProducing method does not add it as a reader to its reactor.
Method test_resumeProducingWhileDisconnected When a Server has already lost its connection, its resumeProducing method does not add it as a reader to its reactor.
Method test_connectionLostAfterPausedTransport No summary
Method test_doubleHalfClose If one side half-closes its connection, and then the other side of the connection calls loseWriteConnection, and then loseConnection in {writeConnectionLost}, the connection is closed correctly.

Inherited from ReactorBuilder:

Class Variable skippedReactors A dict mapping FQPN strings of reactors for which the tests defined by this class will be skipped to strings giving the skip message.
Class Variable requiredInterfaces A list of interfaces which the reactor must provide or these tests will be skipped. The default, None, means that no interfaces are required.
Instance Variable reactorFactory A no-argument callable which returns the reactor to use for testing.
Instance Variable originalHandler The SIGCHLD handler which was installed when setUp ran and which will be re-installed when tearDown runs.
Method setUp Clear the SIGCHLD handler, if there is one, to ensure an environment like the one which exists prior to a call to reactor.run.
Method tearDown Restore the original SIGCHLD handler and reap processes as long as there seem to be any remaining.
Method unbuildReactor Clean up any resources which may have been allocated for the given reactor by its creation or by a test which used it.
Method buildReactor Create and return a reactor using self.reactorFactory.
Method getTimeout Determine how long to run the test before considering it failed.
Method runReactor Run the reactor for at most the given amount of time.
Class Method makeTestCaseClasses Create a SynchronousTestCase subclass which mixes in cls for each known reactor and return a dict mapping their names to them.
Instance Variable _reactors A list of FQPN strings giving the reactors for which SynchronousTestCases will be created.
def test_stopStartReading(self):

This test verifies transport socket read state after multiple pause/resumeProducing calls.

@oneTransportTest
def test_resumeProducing(self, reactor, server):

When a Server is connected, its resumeProducing method adds it as a reader to the reactor.

@oneTransportTest
def test_resumeProducingWhileDisconnecting(self, reactor, server):

When a Server has already started disconnecting via loseConnection, its resumeProducing method does not add it as a reader to its reactor.

@oneTransportTest
def test_resumeProducingWhileDisconnected(self, reactor, server):

When a Server has already lost its connection, its resumeProducing method does not add it as a reader to its reactor.

def test_connectionLostAfterPausedTransport(self):

Alice connects to Bob. Alice writes some bytes and then shuts down the connection. Bob receives the bytes from the connection and then pauses the transport object. Shortly afterwards Bob resumes the transport object. At that point, Bob is notified that the connection has been closed.

This is no problem for most reactors. The underlying event notification API will probably just remind them that the connection has been closed. It is a little tricky for win32eventreactor (MsgWaitForMultipleObjects). MsgWaitForMultipleObjects will only deliver the close notification once. The reactor needs to remember that notification until Bob resumes the transport.

def test_doubleHalfClose(self):

If one side half-closes its connection, and then the other side of the connection calls loseWriteConnection, and then loseConnection in {writeConnectionLost}, the connection is closed correctly.

This rather obscure case used to fail (see ticket #3037).

API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.