twisted.internet.test.test_tcp.TCPClientTestsBase(ReactorBuilder, ConnectionTestsMixin, StreamClientTestsMixin)
class documentationtwisted.internet.test.test_tcp
(View In Hierarchy)
Known subclasses: twisted.internet.test.test_tcp.TCP4ClientTestsBuilder, twisted.internet.test.test_tcp.TCP6ClientTestsBuilder
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.
Instance Variable | endpoints | A client/server endpoint creator appropriate to the address family being
tested. (type: twisted.internet.test.connectionmixins.EndpointCreator ) |
Instance Variable | interface 0 | An IP address literal to locally bind a socket to as well as to connect to.
This can be any valid interface for the local host. (type: str ) |
Instance Variable | port 0 | An unused local listening port to listen on and connect to. This will be
used in conjunction with the interface . (Depending on what
they're testing, some tests will locate their own port with findFreePort
instead.) (type: int ) |
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. (type: int ) |
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. (type: type ) |
Instance Variable | fakeDomainName | A fake domain name to use, to simulate hostname resolution and to
distinguish between hostnames and IP addresses where necessary. (type: str ) |
Method | port | Return the port number to connect to, using self._port set
up by listen if available. |
Method | interface | Return the interface attribute from the endpoints object. |
Method | listen | Start a TCP server with the given factory . |
Method | connect | Start a TCP client with the given factory . |
Method | test_buildProtocolReturnsNone | When the factory's buildProtocol returns None
the connection is gracefully closed. |
Method | test_addresses | No summary |
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 . |
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 SynchronousTestCase s
will be created. |
Inherited from ConnectionTestsMixin:
Method | test_logPrefix | Client and server transports implement ILoggingContext.logPrefix
to return a message reflecting the protocol they are running. |
Method | test_writeAfterDisconnect | After a connection is disconnected, ITransport.write
and ITransport.writeSequence
are no-ops. |
Method | test_protocolGarbageAfterLostConnection | After the connection a protocol is being used for is closed, the reactor discards all of its references to the protocol. |
Inherited from StreamClientTestsMixin:
Method | test_interface | The connect method returns an object providing IConnector . |
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_unregisterProducerAfterDisconnect | No summary |
Method | test_disconnectWhileProducing | If loseConnection is called while a producer is registered
with the transport, the connection is closed after the producer is
unregistered. |
twisted.internet.test.connectionmixins.EndpointCreator
)
str
)
interface
. (Depending on what
they're testing, some tests will locate their own port with findFreePort
instead.) (type: int
)
socket.AF_INET
,
socket.AF_INET6
,
or socket.AF_UNIX
,
which indicates the address family of the transport type under test. (type: int
)
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. (type: type
)
str
)
Return the port number to connect to, using self._port
set
up by listen
if available.
Returns | The port number to connect to. (type: int ) |
Start a TCP server with the given factory
.
Parameters | reactor | The reactor to create the TCP port in. |
factory | The server factory. | |
Returns | A TCP port instance. |
Start a TCP client with the given factory
.
Parameters | reactor | The reactor to create the connection in. |
factory | The client factory. | |
Returns | A TCP connector instance. |
When the factory's buildProtocol
returns None
the connection is gracefully closed.
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.