Assorted functionality which is commonly useful when writing unit tests.
Class | AccumulatingProtocol | AccumulatingProtocol is an IProtocol implementation which collects the data delivered to it and can fire a Deferred when it is connected or disconnected. |
Class | LineSendingProtocol | Undocumented |
Class | FakeDatagramTransport | Undocumented |
Class | StringTransport | A transport implementation which buffers data in memory and keeps track of its other state without providing any behavior. |
Class | StringTransportWithDisconnection | A StringTransport which on disconnection will trigger the connection lost on the attached protocol. |
Class | StringIOWithoutClosing | A BytesIO that can't be closed. |
Class | MemoryReactor | A fake reactor to be used in tests. This reactor doesn't actually do much that's useful yet. It accepts TCP connection setup attempts, but they will never succeed. |
Class | MemoryReactorClock | Undocumented |
Class | RaisingMemoryReactor | A fake reactor to be used in tests. It accepts TCP connection setup attempts, but they will fail. |
Class | NonStreamingProducer | A pull producer which writes 10 times only. |
Function | waitUntilAllDisconnected | Take a list of disconnecting protocols, callback a Deferred when they're all done. |
Class | EventLoggingObserver | No summary |
Class | _FakePort | A fake IListeningPort to be used in tests. |
Class | _FakeConnector | A fake IConnector that allows us to inspect if it has been told to stop connecting. |
Take a list of disconnecting protocols, callback a Deferred
when they're all done.
This is a hack to make some older tests less flaky, as ITransport.loseConnection
is not atomic on all reactors (for example, the CoreFoundation, which sometimes takes a reactor turn for CFSocket to realise). New tests should either not use real sockets in testing, or take the advice in https://jml.io/pages/how-to-disconnect-in-twisted-really.html to heart.
Parameters | reactor | The reactor to schedule the checks on. (type: IReactorTime ) |
protocols | The protocols to wait for disconnecting. (type: A list of IProtocol s.) |