class documentation

Base class for builders defining tests related to IReactorTCP.connectTCP. Classes which uses this in must provide all of the documented instance variables in order to specify how the test works. These are documented as instance variables rather than declared as methods due to some peculiar inheritance ordering concerns, but they are effectively abstract methods.

Method connect Start a TCP client with the given factory.
Method listen Start a TCP server with the given factory.
Method test_addresses A client's transport's getHost and getPeer return IPv4Address instances which have the dotted-quad string form of the resolved address of the local and remote endpoints of the connection respectively as their ...
Method test_badContext If the context factory passed to ITCPTransport.startTLS raises an exception from its getContext method, that exception is raised by ITCPTransport.startTLS.
Method test_buildProtocolReturnsNone When the factory's buildProtocol returns None the connection is gracefully closed.
Class Variable requiredInterfaces Undocumented
Instance Variable addressClass the twisted.internet.interfaces.IAddress implementor associated with the transport type under test. Must also be a 3-argument callable which produces an instance of same.
Instance Variable endpoints A client/server endpoint creator appropriate to the address family being tested.
Instance Variable fakeDomainName A fake domain name to use, to simulate hostname resolution and to distinguish between hostnames and IP addresses where necessary.
Instance Variable family an address family constant, such as socket.AF_INET, socket.AF_INET6, or socket.AF_UNIX, which indicates the address family of the transport type under test.
Property interface Return the interface attribute from the endpoints object.
Property port Return the port number to connect to, using self._port set up by listen if available.
Instance Variable _port Undocumented

Inherited from ReactorBuilder:

Class Method makeTestCaseClasses Create a SynchronousTestCase subclass which mixes in cls for each known reactor and return a dict mapping their names to them.
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.
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.
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.
Instance Variable originalHandler The SIGCHLD handler which was installed when setUp ran and which will be re-installed when tearDown runs.
Instance Variable reactorFactory A no-argument callable which returns the reactor to use for testing.
Instance Variable _reactors A list of FQPN strings giving the reactors for which SynchronousTestCases will be created.

Inherited from ConnectionTestsMixin (via ReactorBuilder):

Method test_logPrefix Client and server transports implement ILoggingContext.logPrefix to return a message reflecting the protocol they are running.
Method test_protocolGarbageAfterLostConnection After the connection a protocol is being used for is closed, the reactor discards all of its references to the protocol.
Method test_writeAfterDisconnect After a connection is disconnected, ITransport.write and ITransport.writeSequence are no-ops.

Inherited from StreamClientTestsMixin (via ReactorBuilder, ConnectionTestsMixin):

Method test_clientConnectionFailedStopsReactor The reactor can be stopped by a client factory's clientConnectionFailed method.
Method test_connectEvent This test checks that we correctly get notifications event for a client. This ought to prevent a regression under Windows using the GTK2 reactor. See #3925.
Method test_disconnectWhileProducing If loseConnection is called while a producer is registered with the transport, the connection is closed after the producer is unregistered.
Method test_interface The connect method returns an object providing IConnector.
Method test_unregisterProducerAfterDisconnect If a producer is unregistered from a transport after the transport has been disconnected (by the peer) and after loseConnection has been called, the transport is not re-added to the reactor as a writer as would be necessary if the transport were still connected.
def connect(self, reactor, factory): (source)

Start a TCP client with the given factory.

Parameters
reactorThe reactor to create the connection in.
factoryThe client factory.
Returns
A TCP connector instance.
def listen(self, reactor, factory): (source)

Start a TCP server with the given factory.

Parameters
reactorThe reactor to create the TCP port in.
factoryThe server factory.
Returns
A TCP port instance.
def test_addresses(self): (source)

A client's transport's getHost and getPeer return IPv4Address instances which have the dotted-quad string form of the resolved address of the local and remote endpoints of the connection respectively as their host attribute, not the hostname originally passed in to connectTCP, if a hostname was used.

def test_badContext(self): (source)

If the context factory passed to ITCPTransport.startTLS raises an exception from its getContext method, that exception is raised by ITCPTransport.startTLS.

def test_buildProtocolReturnsNone(self): (source)

When the factory's buildProtocol returns None the connection is gracefully closed.

addressClass: type = (source)

the twisted.internet.interfaces.IAddress implementor associated with the transport type under test. Must also be a 3-argument callable which produces an instance of same.

fakeDomainName: str = (source)

A fake domain name to use, to simulate hostname resolution and to distinguish between hostnames and IP addresses where necessary.

family: int = (source)

an address family constant, such as socket.AF_INET, socket.AF_INET6, or socket.AF_UNIX, which indicates the address family of the transport type under test.

Return the interface attribute from the endpoints object.

Return the port number to connect to, using self._port set up by listen if available.

Undocumented