--- Begin Message ---
Source: python-tubes
Version: 0.2.1-3
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20231212 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules binary
> dh binary --buildsystem pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:310: python3.12 setup.py config
> running config
> I: pybuild base:310: python3.11 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:310: /usr/bin/python3.12 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/framing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/fan.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/tube.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/undefer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/_siphon.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/memory.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/itube.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/listening.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/routing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/kit.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> copying tubes/_components.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_tube.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_routing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_undefer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_memory.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_kit.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/util.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_framing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_fan.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_listening.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> copying tubes/test/test_chatter.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test
> I: pybuild base:310: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/framing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/fan.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/tube.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/undefer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/_siphon.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/memory.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/itube.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/listening.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/routing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/kit.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> copying tubes/_components.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_tube.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_routing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_undefer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_memory.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_kit.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/util.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_framing.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_fan.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_listening.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> copying tubes/test/test_chatter.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build;
> python3.12 -m unittest discover -v
> test_joining (test.test_chatter.ChatTests.test_joining)
> Test that we receive a response from joining. ... ok
> test_dontUnpauseWhenNoDrain
> (test.test_fan.FanInTests.test_dontUnpauseWhenNoDrain)
> L{In.fount}C{.flowTo(None)} won't unpause L{In}'s upstream founts. ... ok
> test_flowStopped (test.test_fan.FanInTests.test_flowStopped)
> When the flow stops to one of the drains returned by L{In.newDrain}, it ... ok
> test_oneDrainReceives (test.test_fan.FanInTests.test_oneDrainReceives)
> When one drain created by L{In.newDrain} recives a value, the drain ... ok
> test_pauseNewFountWhenPaused
> (test.test_fan.FanInTests.test_pauseNewFountWhenPaused)
> When a drain created by L{In.newDrain} receives a new fount, if ... ok
> test_pauseWhenNoDrain (test.test_fan.FanInTests.test_pauseWhenNoDrain)
> When a drain created by L{In.newDrain} is hooked up to a new fount, but ... ok
> test_pauseWhenSwitchedToNoDrain
> (test.test_fan.FanInTests.test_pauseWhenSwitchedToNoDrain)
> L{In.fount}C{.flowTo(None)} after L{In.fount} already has a drain will ... ok
> test_stopFlow (test.test_fan.FanInTests.test_stopFlow)
> When the drain of L{In.fount} stops its upstream flow, that stops the ... ok
> test_fanOut (test.test_fan.FanOutTests.test_fanOut)
> When an L{Out} is constructed and flowed to two drains, both drains ... ok
> test_fanReceivesBeforeFountsHaveDrains
> (test.test_fan.FanOutTests.test_fanReceivesBeforeFountsHaveDrains)
> L{Out.drain}'s C{receive} method only relays outputs to founts which ... ok
> test_flowStopped (test.test_fan.FanOutTests.test_flowStopped)
> When the flow stops to L{out.drain}, it stops to all downstream drains ... ok
> test_oneFountPausesInReceive
> (test.test_fan.FanOutTests.test_oneFountPausesInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountPausesOthersInReceive
> (test.test_fan.FanOutTests.test_oneFountPausesOthersInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountStops (test.test_fan.FanOutTests.test_oneFountStops)
> When one fount created by L{Out.newFount} is stopped, only the drain ... ok
> test_oneFountStopsInReceive
> (test.test_fan.FanOutTests.test_oneFountStopsInReceive)
> When one fount created by L{Out.newFount} is stopped in its drain's ... ok
> test_outFountFlowTo (test.test_fan.FanOutTests.test_outFountFlowTo)
> L{Out.newFount}'s C{flowTo} calls C{flowingFrom} on its drain and ... ok
> test_pausingOneOutFountPausesUpstreamFount
> (test.test_fan.FanOutTests.test_pausingOneOutFountPausesUpstreamFount)
> When one fount created by L{Out.newFount} is paused, the fount flowing ... ok
> test_switchFlowToNone (test.test_fan.FanOutTests.test_switchFlowToNone)
> When L{out.drain} removes its upstream fount, it unpauses it. ... ok
> test_verifyCompliance (test.test_fan.FanOutTests.test_verifyCompliance)
> L{Out.newFount} and L{Out.drain} adhere to their respected declared ... ok
> test_thru (test.test_fan.FanThruTests.test_thru)
> Each input provided to L{Thru} will be sent to each of its drains, and ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_linesToBytes (test.test_framing.LineTests.test_linesToBytes)
> Writing out lines delimits them, with the delimiter. ... ERROR
> test_rawMode (test.test_framing.LineTests.test_rawMode)
> You should be able to have some lines, and then some bytes, and then ... ERROR
> test_stringToLines (test.test_framing.LineTests.test_stringToLines)
> A line is something delimited by a LF or CRLF. ... ERROR
> test_switchingWithMoreDataToDeliver
> (test.test_framing.LineTests.test_switchingWithMoreDataToDeliver)
> Switching drains should immediately stop delivering data. ... ERROR
> test_bytesToNetstrings
> (test.test_framing.NetstringTests.test_bytesToNetstrings)
> L{bytesToNetstrings} works on subsequent inputs as well. ... ERROR
> test_netstringToString
> (test.test_framing.NetstringTests.test_netstringToString)
> Length prefix is stripped off. ... ERROR
> test_stringToNetstring
> (test.test_framing.NetstringTests.test_stringToNetstring)
> A byte-string is given a length prefix. ... ERROR
> test_prefixIn (test.test_framing.PackedPrefixTests.test_prefixIn)
> Parse some prefixed data. ... ERROR
> test_prefixOut (test.test_framing.PackedPrefixTests.test_prefixOut)
> Emit some prefixes. ... ERROR
> test_pauseOnce (test.test_kit.PauserTests.test_pauseOnce)
> One call to L{_Pauser.pause} will call the actuallyPause callable. ... ok
> test_pauseThenUnpause (test.test_kit.PauserTests.test_pauseThenUnpause)
> A call to L{_Pauser.pause} followed by a call to the result's ... ok
> test_reentrantPause (test.test_kit.PauserTests.test_reentrantPause)
> A L{Pauser} that pauses re-entrantly will only result in one call to ... ok
> test_reentrantResume (test.test_kit.PauserTests.test_reentrantResume)
> A L{Pauser} that resumes re-entrantly will raise L{AlreadyUnpaused}. ... ok
> test_repeatedlyPause (test.test_kit.PauserTests.test_repeatedlyPause)
> Multiple calls to L{_Pauser.pause} where not all of the pausers are ... ok
> test_secondUnpauseFails (test.test_kit.PauserTests.test_secondUnpauseFails)
> The second of two consectuive calls to L{IPause.unpause} results in an ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_listenerCallsFlowConnector
> (test.test_listening.ListeningTests.test_listenerCallsFlowConnector)
> A L{Listener} is a drain which calls the function given to it to ... ok
> test_listenerLimitsConcurrentConnections
> (test.test_listening.ListeningTests.test_listenerLimitsConcurrentConnections)
> L{Listener} will pause its fount when too many connections are ... ok
> test_flowTo (test.test_memory.IteratorFountTests.test_flowTo)
> L{iteratorFount.flowTo} sets its drain and calls C{flowingFrom} on its ... ok
> test_flowToDeliversValues
> (test.test_memory.IteratorFountTests.test_flowToDeliversValues)
> L{iteratorFount.flowTo} will deliver all of its values to the given ... ok
> test_flowUnpausedAfterPausedFlowIsStopped
> (test.test_memory.IteratorFountTests.test_flowUnpausedAfterPausedFlowIsStopped)
> When L{iteratorFount} is stopped after being paused, and subsequently ... ok
> test_pauseFlow (test.test_memory.IteratorFountTests.test_pauseFlow)
> L{iteratorFount.pauseFlow} will pause the delivery of items. ... ok
> test_provides (test.test_memory.IteratorFountTests.test_provides)
> An L{iteratorFount} provides L{IFount}. ... ok
> test_stopFlow (test.test_memory.IteratorFountTests.test_stopFlow)
> L{iteratorFount.stopFlow} stops the flow, propagating a C{flowStopped} ... ok
> test_stopFlowCalledAfterFlowStopped
> (test.test_memory.IteratorFountTests.test_stopFlowCalledAfterFlowStopped)
> L{iteratorFount} will only call its C{drain}'s L{flowStopped} once when ... ok
> test_stopIterationStopsIteration
> (test.test_memory.IteratorFountTests.test_stopIterationStopsIteration)
> When the iterator passed to L{iteratorFount} is exhausted ... ok
> test_stopPausedFlow (test.test_memory.IteratorFountTests.test_stopPausedFlow)
> When L{iteratorFount} is stopped after being paused, the drain will ... ok
> test_unpauseFlow (test.test_memory.IteratorFountTests.test_unpauseFlow)
> When all pauses returned by L{iteratorFount.pauseFlow} have been ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_connectionLostSendsFlowStopped
> (test.test_protocol.FlowConnectorTests.test_connectionLostSendsFlowStopped)
> When C{connectionLost} is called on a L{_ProtocolPlumbing} and it has ... ok
> test_connectionLostSendsStopFlow
> (test.test_protocol.FlowConnectorTests.test_connectionLostSendsStopFlow)
> L{_ProtocolPlumbing.connectionLost} will notify its C{_drain}'s ... ok
> test_dataReceivedBeforeFlowing
> (test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowing)
> If L{_ProtocolPlumbing.dataReceived} is called before its ... ok
> test_dataReceivedBeforeFlowingThenFlowTo
> (test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowingThenFlowTo)
> Repeated calls to L{flowTo} don't replay the buffer from ... ok
> test_dataReceivedWhenFlowingToNone
> (test.test_protocol.FlowConnectorTests.test_dataReceivedWhenFlowingToNone)
> Initially flowing to L{None} is the same as flowTo never having been ... ok
> test_drainReceivingWritesToTransport
> (test.test_protocol.FlowConnectorTests.test_drainReceivingWritesToTransport)
> Calling L{receive} on a L{_TransportDrain} will send the data to the ... ok
> test_flowStoppedStopsConnection
> (test.test_protocol.FlowConnectorTests.test_flowStoppedStopsConnection)
> L{_TransportDrain.flowStopped} will close the underlying connection by ... ok
> test_flowToDeliversData
> (test.test_protocol.FlowConnectorTests.test_flowToDeliversData)
> L{_TransportFount.flowTo} will cause subsequent calls to ... ok
> test_flowToSetsDrain
> (test.test_protocol.FlowConnectorTests.test_flowToSetsDrain)
> L{_TransportFount.flowTo} will set the C{drain} attribute of the ... ok
> test_flowingFrom (test.test_protocol.FlowConnectorTests.test_flowingFrom)
> L{_TransportFount.flowTo} returns the result of its argument's ... ok
> test_flowingFromAttribute
> (test.test_protocol.FlowConnectorTests.test_flowingFromAttribute)
> L{_TransportDrain.flowingFrom} will establish the appropriate L{IFount} ... ok
> test_flowingFromTwice
> (test.test_protocol.FlowConnectorTests.test_flowingFromTwice)
> L{_TransportDrain.flowingFrom} switches the producer registered with ... ok
> test_flowingToNoneAfterFlowingToSomething
> (test.test_protocol.FlowConnectorTests.test_flowingToNoneAfterFlowingToSomething)
> Flowing to L{None} should disconnect from any drain, no longer ... ok
> test_pauseUnpauseFromOtherDrain
> (test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromOtherDrain)
> When a L{_TransportFount} produces too much data for a L{drain ... ok
> test_pauseUnpauseFromTransport
> (test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromTransport)
> When an L{IFount} produces too much data for a L{_TransportDrain} to ... ok
> test_stopFlowStopsConnection
> (test.test_protocol.FlowConnectorTests.test_stopFlowStopsConnection)
> L{_TransportFount.stopFlow} will close the underlying connection by ... ok
> test_stopProducing (test.test_protocol.FlowConnectorTests.test_stopProducing)
> When C{stopProducing} is called on the L{push producer ... ok
> test_acceptAfterDeferredButBeforeFlowTo
> (test.test_protocol.FlowListenerTests.test_acceptAfterDeferredButBeforeFlowTo)
> If the L{Deferred} returned by L{flowFountFromEndpoint} fires, but the ... ok
> test_acceptBeforeActuallyListening
> (test.test_protocol.FlowListenerTests.test_acceptBeforeActuallyListening)
> Sometimes a connection is established reentrantly by C{listen}, without ... ok
> test_backpressure (test.test_protocol.FlowListenerTests.test_backpressure)
> When the L{IFount} returned by L{flowFountFromEndpoint} is paused, it ... ok
> test_fromEndpoint (test.test_protocol.FlowListenerTests.test_fromEndpoint)
> L{flowFountFromEndpoint} returns a L{Deferred} that fires when the ... ok
> test_oneConnectionAccepted
> (test.test_protocol.FlowListenerTests.test_oneConnectionAccepted)
> When a connection comes in to a listening L{flowFountFromEndpoint}, the ... ok
> test_readConnectionLost
> (test.test_protocol.FlowListenerTests.test_readConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> test_stopping (test.test_protocol.FlowListenerTests.test_stopping)
> The L{IFount} returned by L{flowFountFromEndpoint} will stop listening ... ok
> test_writeConnectionLost
> (test.test_protocol.FlowListenerTests.test_writeConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_eq (test.test_routing.RoutedTests.test_eq)
> C{==} on L{Routed} is L{True} for equivalent ones, L{False} otherwise. ... ok
> test_ne (test.test_routing.RoutedTests.test_ne)
> C{==} on L{Routed} is L{False} for equivalent ones, L{True} otherwise. ... ok
> test_providedBy (test.test_routing.RoutedTests.test_providedBy)
> L{Routed.providedBy} ensures that the given object is a L{to} and that ... ok
> test_providedByNone (test.test_routing.RoutedTests.test_providedByNone)
> L{Routed.providedBy} ensures that the given object is L{to} but makes ... ok
> test_defaultTypeChecking
> (test.test_routing.RouterTests.test_defaultTypeChecking)
> L{Router}'s drain accepts only L{Routed} objects; if no other type is ... ok
> test_routeRepr (test.test_routing.RouterTests.test_routeRepr)
> It's useful to C{repr} a route for debugging purposes; if we give it a ... ok
> test_specifiedTypeChecking
> (test.test_routing.RouterTests.test_specifiedTypeChecking)
> The C{outputType} argument to L{Router}'s constructor specifies the ... ERROR
> test_twoRoutes (test.test_routing.RouterTests.test_twoRoutes)
> The L{IFount} feeding into a L{Router} may yield L{to} each route ... ok
> test_startedRaises (test.test_tube.ErrorBehaviorTests.test_startedRaises)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube.started of
> <test.test_tube.ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube
> object at 0x7f67e4189e80>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_tube.py", line
> 898, in test_startedRaises
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_tube.py", line
> 893, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_startedRaisesNoDrain
> (test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube.started
> of
> <test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube
> object at 0x7f67e4183b00>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_tube.py", line
> 918, in test_startedRaisesNoDrain
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_tube.py", line
> 914, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_divertWhilePaused (test.test_tube.SeriesTests.test_divertWhilePaused)
> If an L{IDivertable} L{tube} is diverted while it is paused, ... ok
> test_diverterInYourDiverterSoYouCanDivertWhileYouDivert
> (test.test_tube.SeriesTests.test_diverterInYourDiverterSoYouCanDivertWhileYouDivert)
> When L{IDivertable.reassemble} returns multiple values, the argument to ... ok
> test_diverterRepr (test.test_tube.SeriesTests.test_diverterRepr)
> repr for L{Diverter} includes a reference to its tube. ... ok
> test_drainFlowingFromNoneAlsoUnpauses
> (test.test_tube.SeriesTests.test_drainFlowingFromNoneAlsoUnpauses)
> L{_SiphonDrain.flowingFrom} will resume its old fount when flowed to ... ok
> test_drainPausesFlowWhenPreviouslyPaused
> (test.test_tube.SeriesTests.test_drainPausesFlowWhenPreviouslyPaused)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_drainRemainsPausedAcrossDetachedState
> (test.test_tube.SeriesTests.test_drainRemainsPausedAcrossDetachedState)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_flowFromTypeCheckFails
> (test.test_tube.SeriesTests.test_flowFromTypeCheckFails)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowFromTypeCheckSucceeds
> (test.test_tube.SeriesTests.test_flowFromTypeCheckSucceeds)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowToNoneInitialNoOp
> (test.test_tube.SeriesTests.test_flowToNoneInitialNoOp)
> L{_SiphonFount.flowTo}C{(None)} is a no-op when called before ... ok
> test_flowToWillNotResumeFlowPausedInFlowingFrom
> (test.test_tube.SeriesTests.test_flowToWillNotResumeFlowPausedInFlowingFrom)
> L{_SiphonFount.flowTo} will not call L{_SiphonFount.resumeFlow} when ... ok
> test_flowingFromFirst (test.test_tube.SeriesTests.test_flowingFromFirst)
> If L{_Siphon.flowingFrom} is called before L{_Siphon.flowTo}, the ... ok
> test_initiallyEnthusiasticFountBecomesDisillusioned
> (test.test_tube.SeriesTests.test_initiallyEnthusiasticFountBecomesDisillusioned)
> If an L{IFount} provider synchronously calls C{receive} on a ... ok
> test_noDrainThenLoseFount
> (test.test_tube.SeriesTests.test_noDrainThenLoseFount)
> If a fount is flowed to a tube which does not yet have a drain, then ... ok
> test_receiveCallsTubeReceived
> (test.test_tube.SeriesTests.test_receiveCallsTubeReceived)
> L{_SiphonDrain.receive} will send its input to L{ITube.received} on its ... ok
> test_receiveIterableDeliversDownstream
> (test.test_tube.SeriesTests.test_receiveIterableDeliversDownstream)
> When L{Tube.received} yields a value, L{_Siphon} will call L{receive} ... ok
> test_reentrantFlowTo (test.test_tube.SeriesTests.test_reentrantFlowTo)
> An L{IDrain} may call its argument's L{_SiphonFount.flowTo} method in ... ok
> test_seriesEndsInTerminalDrain
> (test.test_tube.SeriesTests.test_seriesEndsInTerminalDrain)
> If L{series} is called with an L{IDrain} which returns L{None} from ... ok
> test_seriesStartsWithSeries
> (test.test_tube.SeriesTests.test_seriesStartsWithSeries)
> If L{series} is called with the result of L{series} as its first ... ok
> test_siphonDrainRepr (test.test_tube.SeriesTests.test_siphonDrainRepr)
> repr for L{_SiphonDrain} includes a reference to its tube. ... ok
> test_siphonFlowingFromNoneReturnsSelfFount
> (test.test_tube.SeriesTests.test_siphonFlowingFromNoneReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromReturnsNextFount
> (test.test_tube.SeriesTests.test_siphonFlowingFromReturnsNextFount)
> Once L{_SiphonFount.flowTo} has been called, ... ok
> test_siphonFlowingFromReturnsSelfFount
> (test.test_tube.SeriesTests.test_siphonFlowingFromReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromSomethingThenNothing
> (test.test_tube.SeriesTests.test_siphonFlowingFromSomethingThenNothing)
> L{_SiphonDrain.flowingFrom} sets L{_SiphonDrain.fount}, whether it is ... ok
> test_siphonFountRepr (test.test_tube.SeriesTests.test_siphonFountRepr)
> repr for L{_SiphonFount} includes a reference to its tube. ... ok
> test_siphonReceiveCallsTubeReceived
> (test.test_tube.SeriesTests.test_siphonReceiveCallsTubeReceived)
> L{_SiphonDrain.receive} will call C{tube.received} and synthesize a ... ok
> test_siphonRepr (test.test_tube.SeriesTests.test_siphonRepr)
> repr for L{_Siphon} includes a reference to its tube. ... ok
> test_startedFlowingToAnother
> (test.test_tube.SeriesTests.test_startedFlowingToAnother)
> The greeting is relayed to the ultimate drain when a tube in the middle ... ok
> test_stopFlow (test.test_tube.SeriesTests.test_stopFlow)
> L{_SiphonFount.stopFlow} stops the flow of its L{_Siphon}'s upstream ... ok
> test_stopFlowBeforeFlowBegins
> (test.test_tube.SeriesTests.test_stopFlowBeforeFlowBegins)
> L{_SiphonFount.stopFlow} will stop the flow of its L{_Siphon}'s ... ok
> test_stopFlowInterruptsStarted
> (test.test_tube.SeriesTests.test_stopFlowInterruptsStarted)
> As per L{IFount.stopFlow}, a compliant L{fount <IFount>} never calls ... ok
> test_stopFlowStopsFlowImmediately
> (test.test_tube.SeriesTests.test_stopFlowStopsFlowImmediately)
> Similar to L{test_stopFlowInterruptsStarted}, if the upstream fount ... ok
> test_stopFlowWhileStartingFlow
> (test.test_tube.SeriesTests.test_stopFlowWhileStartingFlow)
> If a fount flowing to a tube calls C{flowStopped} in C{flowTo}, the ... ok
> test_tubeDiverting (test.test_tube.SeriesTests.test_tubeDiverting)
> The L{_Siphon} of a L{Tube} sends on data to a newly specified ... ok
> test_tubeDivertingControlsWhereOutputGoes
> (test.test_tube.SeriesTests.test_tubeDivertingControlsWhereOutputGoes)
> If a siphon A with a tube Ap is flowing to a siphon B with a divertable ... ok
> test_tubeDivertingReassembly
> (test.test_tube.SeriesTests.test_tubeDivertingReassembly)
> The L{_Siphon} of a L{Tube} sends on reassembled data - the return ... ok
> test_tubeDiverting_LotsOfStuffAtOnce
> (test.test_tube.SeriesTests.test_tubeDiverting_LotsOfStuffAtOnce)
> If a tube returns a sequence of multiple things, great. ... ok
> test_tubeDiverting_ReEntrantResumeReceive
> (test.test_tube.SeriesTests.test_tubeDiverting_ReEntrantResumeReceive)
> Diverting a tube that is receiving data from a fount which ... ok
> test_tubePausesItself (test.test_tube.SeriesTests.test_tubePausesItself)
> When one of the methods on L{Tube} pauses its own C{fount} or C{drain}, ... ok
> test_tubeReStarted (test.test_tube.SeriesTests.test_tubeReStarted)
> It's perfectly valid to take a L{_Siphon} and call C{flowingFrom} with ... ok
> test_tubeStarted (test.test_tube.SeriesTests.test_tubeStarted)
> The L{_Siphon} starts its L{Tube} upon C{flowingFrom}. ... ok
> test_tubeStopped (test.test_tube.SeriesTests.test_tubeStopped)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_noOps (test.test_tube.TubeTests.test_noOps)
> All of L{Tube}'s implementations of L{ITube} are no-ops. ... ok
> test_provider (test.test_tube.TubeTests.test_provider)
> L{Tube} provides L{ITube}. ... ok
> test_fountToDeferred
> (test.test_undefer.DeferredIntegrationTests.test_fountToDeferred)
> L{fountToDeferred} returns a L{Deferred} that fires with an iterable of ... ok
> test_tubeStoppedDeferredly
> (test.test_undefer.DeferredIntegrationTests.test_tubeStoppedDeferredly)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> test_tubeYieldedDeferredFiresWhileFlowIsPaused
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldedDeferredFiresWhileFlowIsPaused)
> When a L{Tube} yields an L{Deferred} and that L{Deferred} fires when ... ok
> test_tubeYieldsFiredDeferred
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldsFiredDeferred)
> When a tube yields a fired L{Deferred} its result is synchronously ... ok
> test_tubeYieldsMultipleDeferreds
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldsMultipleDeferreds)
> When a tube yields multiple deferreds their results should be delivered ... ok
> test_tubeYieldsUnfiredDeferred
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldsUnfiredDeferred)
> When a tube yields an unfired L{Deferred} its result is asynchronously ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_joining (tubes.test.test_chatter.ChatTests.test_joining)
> Test that we receive a response from joining. ... ok
> test_dontUnpauseWhenNoDrain
> (tubes.test.test_fan.FanInTests.test_dontUnpauseWhenNoDrain)
> L{In.fount}C{.flowTo(None)} won't unpause L{In}'s upstream founts. ... ok
> test_flowStopped (tubes.test.test_fan.FanInTests.test_flowStopped)
> When the flow stops to one of the drains returned by L{In.newDrain}, it ... ok
> test_oneDrainReceives (tubes.test.test_fan.FanInTests.test_oneDrainReceives)
> When one drain created by L{In.newDrain} recives a value, the drain ... ok
> test_pauseNewFountWhenPaused
> (tubes.test.test_fan.FanInTests.test_pauseNewFountWhenPaused)
> When a drain created by L{In.newDrain} receives a new fount, if ... ok
> test_pauseWhenNoDrain (tubes.test.test_fan.FanInTests.test_pauseWhenNoDrain)
> When a drain created by L{In.newDrain} is hooked up to a new fount, but ... ok
> test_pauseWhenSwitchedToNoDrain
> (tubes.test.test_fan.FanInTests.test_pauseWhenSwitchedToNoDrain)
> L{In.fount}C{.flowTo(None)} after L{In.fount} already has a drain will ... ok
> test_stopFlow (tubes.test.test_fan.FanInTests.test_stopFlow)
> When the drain of L{In.fount} stops its upstream flow, that stops the ... ok
> test_fanOut (tubes.test.test_fan.FanOutTests.test_fanOut)
> When an L{Out} is constructed and flowed to two drains, both drains ... ok
> test_fanReceivesBeforeFountsHaveDrains
> (tubes.test.test_fan.FanOutTests.test_fanReceivesBeforeFountsHaveDrains)
> L{Out.drain}'s C{receive} method only relays outputs to founts which ... ok
> test_flowStopped (tubes.test.test_fan.FanOutTests.test_flowStopped)
> When the flow stops to L{out.drain}, it stops to all downstream drains ... ok
> test_oneFountPausesInReceive
> (tubes.test.test_fan.FanOutTests.test_oneFountPausesInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountPausesOthersInReceive
> (tubes.test.test_fan.FanOutTests.test_oneFountPausesOthersInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountStops (tubes.test.test_fan.FanOutTests.test_oneFountStops)
> When one fount created by L{Out.newFount} is stopped, only the drain ... ok
> test_oneFountStopsInReceive
> (tubes.test.test_fan.FanOutTests.test_oneFountStopsInReceive)
> When one fount created by L{Out.newFount} is stopped in its drain's ... ok
> test_outFountFlowTo (tubes.test.test_fan.FanOutTests.test_outFountFlowTo)
> L{Out.newFount}'s C{flowTo} calls C{flowingFrom} on its drain and ... ok
> test_pausingOneOutFountPausesUpstreamFount
> (tubes.test.test_fan.FanOutTests.test_pausingOneOutFountPausesUpstreamFount)
> When one fount created by L{Out.newFount} is paused, the fount flowing ... ok
> test_switchFlowToNone (tubes.test.test_fan.FanOutTests.test_switchFlowToNone)
> When L{out.drain} removes its upstream fount, it unpauses it. ... ok
> test_verifyCompliance (tubes.test.test_fan.FanOutTests.test_verifyCompliance)
> L{Out.newFount} and L{Out.drain} adhere to their respected declared ... ok
> test_thru (tubes.test.test_fan.FanThruTests.test_thru)
> Each input provided to L{Thru} will be sent to each of its drains, and ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_linesToBytes (tubes.test.test_framing.LineTests.test_linesToBytes)
> Writing out lines delimits them, with the delimiter. ... ERROR
> test_rawMode (tubes.test.test_framing.LineTests.test_rawMode)
> You should be able to have some lines, and then some bytes, and then ... ERROR
> test_stringToLines (tubes.test.test_framing.LineTests.test_stringToLines)
> A line is something delimited by a LF or CRLF. ... ERROR
> test_switchingWithMoreDataToDeliver
> (tubes.test.test_framing.LineTests.test_switchingWithMoreDataToDeliver)
> Switching drains should immediately stop delivering data. ... ERROR
> test_bytesToNetstrings
> (tubes.test.test_framing.NetstringTests.test_bytesToNetstrings)
> L{bytesToNetstrings} works on subsequent inputs as well. ... ERROR
> test_netstringToString
> (tubes.test.test_framing.NetstringTests.test_netstringToString)
> Length prefix is stripped off. ... ERROR
> test_stringToNetstring
> (tubes.test.test_framing.NetstringTests.test_stringToNetstring)
> A byte-string is given a length prefix. ... ERROR
> test_prefixIn (tubes.test.test_framing.PackedPrefixTests.test_prefixIn)
> Parse some prefixed data. ... ERROR
> test_prefixOut (tubes.test.test_framing.PackedPrefixTests.test_prefixOut)
> Emit some prefixes. ... ERROR
> test_pauseOnce (tubes.test.test_kit.PauserTests.test_pauseOnce)
> One call to L{_Pauser.pause} will call the actuallyPause callable. ... ok
> test_pauseThenUnpause (tubes.test.test_kit.PauserTests.test_pauseThenUnpause)
> A call to L{_Pauser.pause} followed by a call to the result's ... ok
> test_reentrantPause (tubes.test.test_kit.PauserTests.test_reentrantPause)
> A L{Pauser} that pauses re-entrantly will only result in one call to ... ok
> test_reentrantResume (tubes.test.test_kit.PauserTests.test_reentrantResume)
> A L{Pauser} that resumes re-entrantly will raise L{AlreadyUnpaused}. ... ok
> test_repeatedlyPause (tubes.test.test_kit.PauserTests.test_repeatedlyPause)
> Multiple calls to L{_Pauser.pause} where not all of the pausers are ... ok
> test_secondUnpauseFails
> (tubes.test.test_kit.PauserTests.test_secondUnpauseFails)
> The second of two consectuive calls to L{IPause.unpause} results in an ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_listenerCallsFlowConnector
> (tubes.test.test_listening.ListeningTests.test_listenerCallsFlowConnector)
> A L{Listener} is a drain which calls the function given to it to ... ok
> test_listenerLimitsConcurrentConnections
> (tubes.test.test_listening.ListeningTests.test_listenerLimitsConcurrentConnections)
> L{Listener} will pause its fount when too many connections are ... ok
> test_flowTo (tubes.test.test_memory.IteratorFountTests.test_flowTo)
> L{iteratorFount.flowTo} sets its drain and calls C{flowingFrom} on its ... ok
> test_flowToDeliversValues
> (tubes.test.test_memory.IteratorFountTests.test_flowToDeliversValues)
> L{iteratorFount.flowTo} will deliver all of its values to the given ... ok
> test_flowUnpausedAfterPausedFlowIsStopped
> (tubes.test.test_memory.IteratorFountTests.test_flowUnpausedAfterPausedFlowIsStopped)
> When L{iteratorFount} is stopped after being paused, and subsequently ... ok
> test_pauseFlow (tubes.test.test_memory.IteratorFountTests.test_pauseFlow)
> L{iteratorFount.pauseFlow} will pause the delivery of items. ... ok
> test_provides (tubes.test.test_memory.IteratorFountTests.test_provides)
> An L{iteratorFount} provides L{IFount}. ... ok
> test_stopFlow (tubes.test.test_memory.IteratorFountTests.test_stopFlow)
> L{iteratorFount.stopFlow} stops the flow, propagating a C{flowStopped} ... ok
> test_stopFlowCalledAfterFlowStopped
> (tubes.test.test_memory.IteratorFountTests.test_stopFlowCalledAfterFlowStopped)
> L{iteratorFount} will only call its C{drain}'s L{flowStopped} once when ... ok
> test_stopIterationStopsIteration
> (tubes.test.test_memory.IteratorFountTests.test_stopIterationStopsIteration)
> When the iterator passed to L{iteratorFount} is exhausted ... ok
> test_stopPausedFlow
> (tubes.test.test_memory.IteratorFountTests.test_stopPausedFlow)
> When L{iteratorFount} is stopped after being paused, the drain will ... ok
> test_unpauseFlow (tubes.test.test_memory.IteratorFountTests.test_unpauseFlow)
> When all pauses returned by L{iteratorFount.pauseFlow} have been ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_connectionLostSendsFlowStopped
> (tubes.test.test_protocol.FlowConnectorTests.test_connectionLostSendsFlowStopped)
> When C{connectionLost} is called on a L{_ProtocolPlumbing} and it has ... ok
> test_connectionLostSendsStopFlow
> (tubes.test.test_protocol.FlowConnectorTests.test_connectionLostSendsStopFlow)
> L{_ProtocolPlumbing.connectionLost} will notify its C{_drain}'s ... ok
> test_dataReceivedBeforeFlowing
> (tubes.test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowing)
> If L{_ProtocolPlumbing.dataReceived} is called before its ... ok
> test_dataReceivedBeforeFlowingThenFlowTo
> (tubes.test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowingThenFlowTo)
> Repeated calls to L{flowTo} don't replay the buffer from ... ok
> test_dataReceivedWhenFlowingToNone
> (tubes.test.test_protocol.FlowConnectorTests.test_dataReceivedWhenFlowingToNone)
> Initially flowing to L{None} is the same as flowTo never having been ... ok
> test_drainReceivingWritesToTransport
> (tubes.test.test_protocol.FlowConnectorTests.test_drainReceivingWritesToTransport)
> Calling L{receive} on a L{_TransportDrain} will send the data to the ... ok
> test_flowStoppedStopsConnection
> (tubes.test.test_protocol.FlowConnectorTests.test_flowStoppedStopsConnection)
> L{_TransportDrain.flowStopped} will close the underlying connection by ... ok
> test_flowToDeliversData
> (tubes.test.test_protocol.FlowConnectorTests.test_flowToDeliversData)
> L{_TransportFount.flowTo} will cause subsequent calls to ... ok
> test_flowToSetsDrain
> (tubes.test.test_protocol.FlowConnectorTests.test_flowToSetsDrain)
> L{_TransportFount.flowTo} will set the C{drain} attribute of the ... ok
> test_flowingFrom
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingFrom)
> L{_TransportFount.flowTo} returns the result of its argument's ... ok
> test_flowingFromAttribute
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingFromAttribute)
> L{_TransportDrain.flowingFrom} will establish the appropriate L{IFount} ... ok
> test_flowingFromTwice
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingFromTwice)
> L{_TransportDrain.flowingFrom} switches the producer registered with ... ok
> test_flowingToNoneAfterFlowingToSomething
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingToNoneAfterFlowingToSomething)
> Flowing to L{None} should disconnect from any drain, no longer ... ok
> test_pauseUnpauseFromOtherDrain
> (tubes.test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromOtherDrain)
> When a L{_TransportFount} produces too much data for a L{drain ... ok
> test_pauseUnpauseFromTransport
> (tubes.test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromTransport)
> When an L{IFount} produces too much data for a L{_TransportDrain} to ... ok
> test_stopFlowStopsConnection
> (tubes.test.test_protocol.FlowConnectorTests.test_stopFlowStopsConnection)
> L{_TransportFount.stopFlow} will close the underlying connection by ... ok
> test_stopProducing
> (tubes.test.test_protocol.FlowConnectorTests.test_stopProducing)
> When C{stopProducing} is called on the L{push producer ... ok
> test_acceptAfterDeferredButBeforeFlowTo
> (tubes.test.test_protocol.FlowListenerTests.test_acceptAfterDeferredButBeforeFlowTo)
> If the L{Deferred} returned by L{flowFountFromEndpoint} fires, but the ... ok
> test_acceptBeforeActuallyListening
> (tubes.test.test_protocol.FlowListenerTests.test_acceptBeforeActuallyListening)
> Sometimes a connection is established reentrantly by C{listen}, without ... ok
> test_backpressure
> (tubes.test.test_protocol.FlowListenerTests.test_backpressure)
> When the L{IFount} returned by L{flowFountFromEndpoint} is paused, it ... ok
> test_fromEndpoint
> (tubes.test.test_protocol.FlowListenerTests.test_fromEndpoint)
> L{flowFountFromEndpoint} returns a L{Deferred} that fires when the ... ok
> test_oneConnectionAccepted
> (tubes.test.test_protocol.FlowListenerTests.test_oneConnectionAccepted)
> When a connection comes in to a listening L{flowFountFromEndpoint}, the ... ok
> test_readConnectionLost
> (tubes.test.test_protocol.FlowListenerTests.test_readConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> test_stopping (tubes.test.test_protocol.FlowListenerTests.test_stopping)
> The L{IFount} returned by L{flowFountFromEndpoint} will stop listening ... ok
> test_writeConnectionLost
> (tubes.test.test_protocol.FlowListenerTests.test_writeConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_eq (tubes.test.test_routing.RoutedTests.test_eq)
> C{==} on L{Routed} is L{True} for equivalent ones, L{False} otherwise. ... ok
> test_ne (tubes.test.test_routing.RoutedTests.test_ne)
> C{==} on L{Routed} is L{False} for equivalent ones, L{True} otherwise. ... ok
> test_providedBy (tubes.test.test_routing.RoutedTests.test_providedBy)
> L{Routed.providedBy} ensures that the given object is a L{to} and that ... ok
> test_providedByNone (tubes.test.test_routing.RoutedTests.test_providedByNone)
> L{Routed.providedBy} ensures that the given object is L{to} but makes ... ok
> test_defaultTypeChecking
> (tubes.test.test_routing.RouterTests.test_defaultTypeChecking)
> L{Router}'s drain accepts only L{Routed} objects; if no other type is ... ok
> test_routeRepr (tubes.test.test_routing.RouterTests.test_routeRepr)
> It's useful to C{repr} a route for debugging purposes; if we give it a ... ok
> test_specifiedTypeChecking
> (tubes.test.test_routing.RouterTests.test_specifiedTypeChecking)
> The C{outputType} argument to L{Router}'s constructor specifies the ... ERROR
> test_twoRoutes (tubes.test.test_routing.RouterTests.test_twoRoutes)
> The L{IFount} feeding into a L{Router} may yield L{to} each route ... ok
> test_startedRaises
> (tubes.test.test_tube.ErrorBehaviorTests.test_startedRaises)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube.started of
> <tubes.test.test_tube.ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube
> object at 0x7f67e40b73b0>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_tube.py",
> line 898, in test_startedRaises
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_tube.py",
> line 893, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_startedRaisesNoDrain
> (tubes.test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube.started
> of
> <tubes.test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube
> object at 0x7f67e40b6390>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_tube.py",
> line 918, in test_startedRaisesNoDrain
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_tube.py",
> line 914, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_divertWhilePaused
> (tubes.test.test_tube.SeriesTests.test_divertWhilePaused)
> If an L{IDivertable} L{tube} is diverted while it is paused, ... ok
> test_diverterInYourDiverterSoYouCanDivertWhileYouDivert
> (tubes.test.test_tube.SeriesTests.test_diverterInYourDiverterSoYouCanDivertWhileYouDivert)
> When L{IDivertable.reassemble} returns multiple values, the argument to ... ok
> test_diverterRepr (tubes.test.test_tube.SeriesTests.test_diverterRepr)
> repr for L{Diverter} includes a reference to its tube. ... ok
> test_drainFlowingFromNoneAlsoUnpauses
> (tubes.test.test_tube.SeriesTests.test_drainFlowingFromNoneAlsoUnpauses)
> L{_SiphonDrain.flowingFrom} will resume its old fount when flowed to ... ok
> test_drainPausesFlowWhenPreviouslyPaused
> (tubes.test.test_tube.SeriesTests.test_drainPausesFlowWhenPreviouslyPaused)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_drainRemainsPausedAcrossDetachedState
> (tubes.test.test_tube.SeriesTests.test_drainRemainsPausedAcrossDetachedState)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_flowFromTypeCheckFails
> (tubes.test.test_tube.SeriesTests.test_flowFromTypeCheckFails)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowFromTypeCheckSucceeds
> (tubes.test.test_tube.SeriesTests.test_flowFromTypeCheckSucceeds)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowToNoneInitialNoOp
> (tubes.test.test_tube.SeriesTests.test_flowToNoneInitialNoOp)
> L{_SiphonFount.flowTo}C{(None)} is a no-op when called before ... ok
> test_flowToWillNotResumeFlowPausedInFlowingFrom
> (tubes.test.test_tube.SeriesTests.test_flowToWillNotResumeFlowPausedInFlowingFrom)
> L{_SiphonFount.flowTo} will not call L{_SiphonFount.resumeFlow} when ... ok
> test_flowingFromFirst (tubes.test.test_tube.SeriesTests.test_flowingFromFirst)
> If L{_Siphon.flowingFrom} is called before L{_Siphon.flowTo}, the ... ok
> test_initiallyEnthusiasticFountBecomesDisillusioned
> (tubes.test.test_tube.SeriesTests.test_initiallyEnthusiasticFountBecomesDisillusioned)
> If an L{IFount} provider synchronously calls C{receive} on a ... ok
> test_noDrainThenLoseFount
> (tubes.test.test_tube.SeriesTests.test_noDrainThenLoseFount)
> If a fount is flowed to a tube which does not yet have a drain, then ... ok
> test_receiveCallsTubeReceived
> (tubes.test.test_tube.SeriesTests.test_receiveCallsTubeReceived)
> L{_SiphonDrain.receive} will send its input to L{ITube.received} on its ... ok
> test_receiveIterableDeliversDownstream
> (tubes.test.test_tube.SeriesTests.test_receiveIterableDeliversDownstream)
> When L{Tube.received} yields a value, L{_Siphon} will call L{receive} ... ok
> test_reentrantFlowTo (tubes.test.test_tube.SeriesTests.test_reentrantFlowTo)
> An L{IDrain} may call its argument's L{_SiphonFount.flowTo} method in ... ok
> test_seriesEndsInTerminalDrain
> (tubes.test.test_tube.SeriesTests.test_seriesEndsInTerminalDrain)
> If L{series} is called with an L{IDrain} which returns L{None} from ... ok
> test_seriesStartsWithSeries
> (tubes.test.test_tube.SeriesTests.test_seriesStartsWithSeries)
> If L{series} is called with the result of L{series} as its first ... ok
> test_siphonDrainRepr (tubes.test.test_tube.SeriesTests.test_siphonDrainRepr)
> repr for L{_SiphonDrain} includes a reference to its tube. ... ok
> test_siphonFlowingFromNoneReturnsSelfFount
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromNoneReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromReturnsNextFount
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromReturnsNextFount)
> Once L{_SiphonFount.flowTo} has been called, ... ok
> test_siphonFlowingFromReturnsSelfFount
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromSomethingThenNothing
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromSomethingThenNothing)
> L{_SiphonDrain.flowingFrom} sets L{_SiphonDrain.fount}, whether it is ... ok
> test_siphonFountRepr (tubes.test.test_tube.SeriesTests.test_siphonFountRepr)
> repr for L{_SiphonFount} includes a reference to its tube. ... ok
> test_siphonReceiveCallsTubeReceived
> (tubes.test.test_tube.SeriesTests.test_siphonReceiveCallsTubeReceived)
> L{_SiphonDrain.receive} will call C{tube.received} and synthesize a ... ok
> test_siphonRepr (tubes.test.test_tube.SeriesTests.test_siphonRepr)
> repr for L{_Siphon} includes a reference to its tube. ... ok
> test_startedFlowingToAnother
> (tubes.test.test_tube.SeriesTests.test_startedFlowingToAnother)
> The greeting is relayed to the ultimate drain when a tube in the middle ... ok
> test_stopFlow (tubes.test.test_tube.SeriesTests.test_stopFlow)
> L{_SiphonFount.stopFlow} stops the flow of its L{_Siphon}'s upstream ... ok
> test_stopFlowBeforeFlowBegins
> (tubes.test.test_tube.SeriesTests.test_stopFlowBeforeFlowBegins)
> L{_SiphonFount.stopFlow} will stop the flow of its L{_Siphon}'s ... ok
> test_stopFlowInterruptsStarted
> (tubes.test.test_tube.SeriesTests.test_stopFlowInterruptsStarted)
> As per L{IFount.stopFlow}, a compliant L{fount <IFount>} never calls ... ok
> test_stopFlowStopsFlowImmediately
> (tubes.test.test_tube.SeriesTests.test_stopFlowStopsFlowImmediately)
> Similar to L{test_stopFlowInterruptsStarted}, if the upstream fount ... ok
> test_stopFlowWhileStartingFlow
> (tubes.test.test_tube.SeriesTests.test_stopFlowWhileStartingFlow)
> If a fount flowing to a tube calls C{flowStopped} in C{flowTo}, the ... ok
> test_tubeDiverting (tubes.test.test_tube.SeriesTests.test_tubeDiverting)
> The L{_Siphon} of a L{Tube} sends on data to a newly specified ... ok
> test_tubeDivertingControlsWhereOutputGoes
> (tubes.test.test_tube.SeriesTests.test_tubeDivertingControlsWhereOutputGoes)
> If a siphon A with a tube Ap is flowing to a siphon B with a divertable ... ok
> test_tubeDivertingReassembly
> (tubes.test.test_tube.SeriesTests.test_tubeDivertingReassembly)
> The L{_Siphon} of a L{Tube} sends on reassembled data - the return ... ok
> test_tubeDiverting_LotsOfStuffAtOnce
> (tubes.test.test_tube.SeriesTests.test_tubeDiverting_LotsOfStuffAtOnce)
> If a tube returns a sequence of multiple things, great. ... ok
> test_tubeDiverting_ReEntrantResumeReceive
> (tubes.test.test_tube.SeriesTests.test_tubeDiverting_ReEntrantResumeReceive)
> Diverting a tube that is receiving data from a fount which ... ok
> test_tubePausesItself (tubes.test.test_tube.SeriesTests.test_tubePausesItself)
> When one of the methods on L{Tube} pauses its own C{fount} or C{drain}, ... ok
> test_tubeReStarted (tubes.test.test_tube.SeriesTests.test_tubeReStarted)
> It's perfectly valid to take a L{_Siphon} and call C{flowingFrom} with ... ok
> test_tubeStarted (tubes.test.test_tube.SeriesTests.test_tubeStarted)
> The L{_Siphon} starts its L{Tube} upon C{flowingFrom}. ... ok
> test_tubeStopped (tubes.test.test_tube.SeriesTests.test_tubeStopped)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_noOps (tubes.test.test_tube.TubeTests.test_noOps)
> All of L{Tube}'s implementations of L{ITube} are no-ops. ... ok
> test_provider (tubes.test.test_tube.TubeTests.test_provider)
> L{Tube} provides L{ITube}. ... ok
> test_fountToDeferred
> (tubes.test.test_undefer.DeferredIntegrationTests.test_fountToDeferred)
> L{fountToDeferred} returns a L{Deferred} that fires with an iterable of ... ok
> test_tubeStoppedDeferredly
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeStoppedDeferredly)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> test_tubeYieldedDeferredFiresWhileFlowIsPaused
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldedDeferredFiresWhileFlowIsPaused)
> When a L{Tube} yields an L{Deferred} and that L{Deferred} fires when ... ok
> test_tubeYieldsFiredDeferred
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldsFiredDeferred)
> When a tube yields a fired L{Deferred} its result is synchronously ... ok
> test_tubeYieldsMultipleDeferreds
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldsMultipleDeferreds)
> When a tube yields multiple deferreds their results should be delivered ... ok
> test_tubeYieldsUnfiredDeferred
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldsUnfiredDeferred)
> When a tube yields an unfired L{Deferred} its result is asynchronously ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
>
> ======================================================================
> ERROR: test_linesToBytes (test.test_framing.LineTests.test_linesToBytes)
> Writing out lines delimits them, with the delimiter.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 94, in test_linesToBytes
> self.assertEquals(b"".join(fd.received), b"hello\r\nworld\r\n")
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_rawMode (test.test_framing.LineTests.test_rawMode)
> You should be able to have some lines, and then some bytes, and then
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 128, in test_rawMode
> self.assertEquals(b"".join(Switchee.datums), b"abcde\r\nfgh")
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_stringToLines (test.test_framing.LineTests.test_stringToLines)
> A line is something delimited by a LF or CRLF.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 81, in test_stringToLines
> splitALine(b"\n")
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 80, in splitALine
> self.assertEquals(fd.received, [b"alpha", b"beta"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_switchingWithMoreDataToDeliver
> (test.test_framing.LineTests.test_switchingWithMoreDataToDeliver)
> Switching drains should immediately stop delivering data.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 151, in test_switchingWithMoreDataToDeliver
> self.assertEquals(fd1.received, [b"something"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_bytesToNetstrings
> (test.test_framing.NetstringTests.test_bytesToNetstrings)
> L{bytesToNetstrings} works on subsequent inputs as well.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 45, in test_bytesToNetstrings
> self.assertEquals(
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'NetstringTests' object has no attribute 'assertEquals'. Did
> you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_netstringToString
> (test.test_framing.NetstringTests.test_netstringToString)
> Length prefix is stripped off.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 62, in test_netstringToString
> self.assertEquals(fd.received, [b"x", b"yz"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'NetstringTests' object has no attribute 'assertEquals'. Did
> you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_stringToNetstring
> (test.test_framing.NetstringTests.test_stringToNetstring)
> A byte-string is given a length prefix.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 30, in test_stringToNetstring
> self.assertEquals(
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'NetstringTests' object has no attribute 'assertEquals'. Did
> you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_prefixIn (test.test_framing.PackedPrefixTests.test_prefixIn)
> Parse some prefixed data.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 170, in test_prefixIn
> self.assertEquals(fd.received, [b"12345678"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'PackedPrefixTests' object has no attribute 'assertEquals'.
> Did you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_prefixOut (test.test_framing.PackedPrefixTests.test_prefixOut)
> Emit some prefixes.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_framing.py",
> line 184, in test_prefixOut
> self.assertEquals(fd.received, [b'\x01a', b'\x02bc', b'\x03def'])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'PackedPrefixTests' object has no attribute 'assertEquals'.
> Did you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_specifiedTypeChecking
> (test.test_routing.RouterTests.test_specifiedTypeChecking)
> The C{outputType} argument to L{Router}'s constructor specifies the
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/test/test_routing.py",
> line 92, in test_specifiedTypeChecking
> self.assertEquals(None, correctFount.flowTo(router.drain))
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'RouterTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_linesToBytes (tubes.test.test_framing.LineTests.test_linesToBytes)
> Writing out lines delimits them, with the delimiter.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 94, in test_linesToBytes
> self.assertEquals(b"".join(fd.received), b"hello\r\nworld\r\n")
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_rawMode (tubes.test.test_framing.LineTests.test_rawMode)
> You should be able to have some lines, and then some bytes, and then
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 128, in test_rawMode
> self.assertEquals(b"".join(Switchee.datums), b"abcde\r\nfgh")
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_stringToLines
> (tubes.test.test_framing.LineTests.test_stringToLines)
> A line is something delimited by a LF or CRLF.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 81, in test_stringToLines
> splitALine(b"\n")
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 80, in splitALine
> self.assertEquals(fd.received, [b"alpha", b"beta"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_switchingWithMoreDataToDeliver
> (tubes.test.test_framing.LineTests.test_switchingWithMoreDataToDeliver)
> Switching drains should immediately stop delivering data.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 151, in test_switchingWithMoreDataToDeliver
> self.assertEquals(fd1.received, [b"something"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'LineTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_bytesToNetstrings
> (tubes.test.test_framing.NetstringTests.test_bytesToNetstrings)
> L{bytesToNetstrings} works on subsequent inputs as well.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 45, in test_bytesToNetstrings
> self.assertEquals(
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'NetstringTests' object has no attribute 'assertEquals'. Did
> you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_netstringToString
> (tubes.test.test_framing.NetstringTests.test_netstringToString)
> Length prefix is stripped off.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 62, in test_netstringToString
> self.assertEquals(fd.received, [b"x", b"yz"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'NetstringTests' object has no attribute 'assertEquals'. Did
> you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_stringToNetstring
> (tubes.test.test_framing.NetstringTests.test_stringToNetstring)
> A byte-string is given a length prefix.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 30, in test_stringToNetstring
> self.assertEquals(
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'NetstringTests' object has no attribute 'assertEquals'. Did
> you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_prefixIn (tubes.test.test_framing.PackedPrefixTests.test_prefixIn)
> Parse some prefixed data.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 170, in test_prefixIn
> self.assertEquals(fd.received, [b"12345678"])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'PackedPrefixTests' object has no attribute 'assertEquals'.
> Did you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_prefixOut
> (tubes.test.test_framing.PackedPrefixTests.test_prefixOut)
> Emit some prefixes.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_framing.py",
> line 184, in test_prefixOut
> self.assertEquals(fd.received, [b'\x01a', b'\x02bc', b'\x03def'])
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'PackedPrefixTests' object has no attribute 'assertEquals'.
> Did you mean: 'assertEqual'?
>
> ======================================================================
> ERROR: test_specifiedTypeChecking
> (tubes.test.test_routing.RouterTests.test_specifiedTypeChecking)
> The C{outputType} argument to L{Router}'s constructor specifies the
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build/tubes/test/test_routing.py",
> line 92, in test_specifiedTypeChecking
> self.assertEquals(None, correctFount.flowTo(router.drain))
> ^^^^^^^^^^^^^^^^^
> AttributeError: 'RouterTests' object has no attribute 'assertEquals'. Did you
> mean: 'assertEqual'?
>
> ----------------------------------------------------------------------
> Ran 274 tests in 0.192s
>
> FAILED (errors=20)
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_tubes/build; python3.12 -m unittest
> discover -v
> I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build;
> python3.11 -m unittest discover -v
> test_joining (test.test_chatter.ChatTests.test_joining)
> Test that we receive a response from joining. ... ok
> test_dontUnpauseWhenNoDrain
> (test.test_fan.FanInTests.test_dontUnpauseWhenNoDrain)
> L{In.fount}C{.flowTo(None)} won't unpause L{In}'s upstream founts. ... ok
> test_flowStopped (test.test_fan.FanInTests.test_flowStopped)
> When the flow stops to one of the drains returned by L{In.newDrain}, it ... ok
> test_oneDrainReceives (test.test_fan.FanInTests.test_oneDrainReceives)
> When one drain created by L{In.newDrain} recives a value, the drain ... ok
> test_pauseNewFountWhenPaused
> (test.test_fan.FanInTests.test_pauseNewFountWhenPaused)
> When a drain created by L{In.newDrain} receives a new fount, if ... ok
> test_pauseWhenNoDrain (test.test_fan.FanInTests.test_pauseWhenNoDrain)
> When a drain created by L{In.newDrain} is hooked up to a new fount, but ... ok
> test_pauseWhenSwitchedToNoDrain
> (test.test_fan.FanInTests.test_pauseWhenSwitchedToNoDrain)
> L{In.fount}C{.flowTo(None)} after L{In.fount} already has a drain will ... ok
> test_stopFlow (test.test_fan.FanInTests.test_stopFlow)
> When the drain of L{In.fount} stops its upstream flow, that stops the ... ok
> test_fanOut (test.test_fan.FanOutTests.test_fanOut)
> When an L{Out} is constructed and flowed to two drains, both drains ... ok
> test_fanReceivesBeforeFountsHaveDrains
> (test.test_fan.FanOutTests.test_fanReceivesBeforeFountsHaveDrains)
> L{Out.drain}'s C{receive} method only relays outputs to founts which ... ok
> test_flowStopped (test.test_fan.FanOutTests.test_flowStopped)
> When the flow stops to L{out.drain}, it stops to all downstream drains ... ok
> test_oneFountPausesInReceive
> (test.test_fan.FanOutTests.test_oneFountPausesInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountPausesOthersInReceive
> (test.test_fan.FanOutTests.test_oneFountPausesOthersInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountStops (test.test_fan.FanOutTests.test_oneFountStops)
> When one fount created by L{Out.newFount} is stopped, only the drain ... ok
> test_oneFountStopsInReceive
> (test.test_fan.FanOutTests.test_oneFountStopsInReceive)
> When one fount created by L{Out.newFount} is stopped in its drain's ... ok
> test_outFountFlowTo (test.test_fan.FanOutTests.test_outFountFlowTo)
> L{Out.newFount}'s C{flowTo} calls C{flowingFrom} on its drain and ... ok
> test_pausingOneOutFountPausesUpstreamFount
> (test.test_fan.FanOutTests.test_pausingOneOutFountPausesUpstreamFount)
> When one fount created by L{Out.newFount} is paused, the fount flowing ... ok
> test_switchFlowToNone (test.test_fan.FanOutTests.test_switchFlowToNone)
> When L{out.drain} removes its upstream fount, it unpauses it. ... ok
> test_verifyCompliance (test.test_fan.FanOutTests.test_verifyCompliance)
> L{Out.newFount} and L{Out.drain} adhere to their respected declared ... ok
> test_thru (test.test_fan.FanThruTests.test_thru)
> Each input provided to L{Thru} will be sent to each of its drains, and ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_linesToBytes (test.test_framing.LineTests.test_linesToBytes)
> Writing out lines delimits them, with the delimiter. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:94:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(b"".join(fd.received), b"hello\r\nworld\r\n")
> ok
> test_rawMode (test.test_framing.LineTests.test_rawMode)
> You should be able to have some lines, and then some bytes, and then ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:128:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(b"".join(Switchee.datums), b"abcde\r\nfgh")
> ok
> test_stringToLines (test.test_framing.LineTests.test_stringToLines)
> A line is something delimited by a LF or CRLF. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:80:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"alpha", b"beta"])
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:80:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"alpha", b"beta"])
> ok
> test_switchingWithMoreDataToDeliver
> (test.test_framing.LineTests.test_switchingWithMoreDataToDeliver)
> Switching drains should immediately stop delivering data. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:151:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd1.received, [b"something"])
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:152:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd2.received, [b'hello\r\n', b'world'])
> ok
> test_bytesToNetstrings
> (test.test_framing.NetstringTests.test_bytesToNetstrings)
> L{bytesToNetstrings} works on subsequent inputs as well. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:45:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(
> ok
> test_netstringToString
> (test.test_framing.NetstringTests.test_netstringToString)
> Length prefix is stripped off. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:62:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"x", b"yz"])
> ok
> test_stringToNetstring
> (test.test_framing.NetstringTests.test_stringToNetstring)
> A byte-string is given a length prefix. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:30:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(
> ok
> test_prefixIn (test.test_framing.PackedPrefixTests.test_prefixIn)
> Parse some prefixed data. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:170:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"12345678"])
> ok
> test_prefixOut (test.test_framing.PackedPrefixTests.test_prefixOut)
> Emit some prefixes. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_framing.py:184:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b'\x01a', b'\x02bc', b'\x03def'])
> ok
> test_pauseOnce (test.test_kit.PauserTests.test_pauseOnce)
> One call to L{_Pauser.pause} will call the actuallyPause callable. ... ok
> test_pauseThenUnpause (test.test_kit.PauserTests.test_pauseThenUnpause)
> A call to L{_Pauser.pause} followed by a call to the result's ... ok
> test_reentrantPause (test.test_kit.PauserTests.test_reentrantPause)
> A L{Pauser} that pauses re-entrantly will only result in one call to ... ok
> test_reentrantResume (test.test_kit.PauserTests.test_reentrantResume)
> A L{Pauser} that resumes re-entrantly will raise L{AlreadyUnpaused}. ... ok
> test_repeatedlyPause (test.test_kit.PauserTests.test_repeatedlyPause)
> Multiple calls to L{_Pauser.pause} where not all of the pausers are ... ok
> test_secondUnpauseFails (test.test_kit.PauserTests.test_secondUnpauseFails)
> The second of two consectuive calls to L{IPause.unpause} results in an ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_listenerCallsFlowConnector
> (test.test_listening.ListeningTests.test_listenerCallsFlowConnector)
> A L{Listener} is a drain which calls the function given to it to ... ok
> test_listenerLimitsConcurrentConnections
> (test.test_listening.ListeningTests.test_listenerLimitsConcurrentConnections)
> L{Listener} will pause its fount when too many connections are ... ok
> test_flowTo (test.test_memory.IteratorFountTests.test_flowTo)
> L{iteratorFount.flowTo} sets its drain and calls C{flowingFrom} on its ... ok
> test_flowToDeliversValues
> (test.test_memory.IteratorFountTests.test_flowToDeliversValues)
> L{iteratorFount.flowTo} will deliver all of its values to the given ... ok
> test_flowUnpausedAfterPausedFlowIsStopped
> (test.test_memory.IteratorFountTests.test_flowUnpausedAfterPausedFlowIsStopped)
> When L{iteratorFount} is stopped after being paused, and subsequently ... ok
> test_pauseFlow (test.test_memory.IteratorFountTests.test_pauseFlow)
> L{iteratorFount.pauseFlow} will pause the delivery of items. ... ok
> test_provides (test.test_memory.IteratorFountTests.test_provides)
> An L{iteratorFount} provides L{IFount}. ... ok
> test_stopFlow (test.test_memory.IteratorFountTests.test_stopFlow)
> L{iteratorFount.stopFlow} stops the flow, propagating a C{flowStopped} ... ok
> test_stopFlowCalledAfterFlowStopped
> (test.test_memory.IteratorFountTests.test_stopFlowCalledAfterFlowStopped)
> L{iteratorFount} will only call its C{drain}'s L{flowStopped} once when ... ok
> test_stopIterationStopsIteration
> (test.test_memory.IteratorFountTests.test_stopIterationStopsIteration)
> When the iterator passed to L{iteratorFount} is exhausted ... ok
> test_stopPausedFlow (test.test_memory.IteratorFountTests.test_stopPausedFlow)
> When L{iteratorFount} is stopped after being paused, the drain will ... ok
> test_unpauseFlow (test.test_memory.IteratorFountTests.test_unpauseFlow)
> When all pauses returned by L{iteratorFount.pauseFlow} have been ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_connectionLostSendsFlowStopped
> (test.test_protocol.FlowConnectorTests.test_connectionLostSendsFlowStopped)
> When C{connectionLost} is called on a L{_ProtocolPlumbing} and it has ... ok
> test_connectionLostSendsStopFlow
> (test.test_protocol.FlowConnectorTests.test_connectionLostSendsStopFlow)
> L{_ProtocolPlumbing.connectionLost} will notify its C{_drain}'s ... ok
> test_dataReceivedBeforeFlowing
> (test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowing)
> If L{_ProtocolPlumbing.dataReceived} is called before its ... ok
> test_dataReceivedBeforeFlowingThenFlowTo
> (test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowingThenFlowTo)
> Repeated calls to L{flowTo} don't replay the buffer from ... ok
> test_dataReceivedWhenFlowingToNone
> (test.test_protocol.FlowConnectorTests.test_dataReceivedWhenFlowingToNone)
> Initially flowing to L{None} is the same as flowTo never having been ... ok
> test_drainReceivingWritesToTransport
> (test.test_protocol.FlowConnectorTests.test_drainReceivingWritesToTransport)
> Calling L{receive} on a L{_TransportDrain} will send the data to the ... ok
> test_flowStoppedStopsConnection
> (test.test_protocol.FlowConnectorTests.test_flowStoppedStopsConnection)
> L{_TransportDrain.flowStopped} will close the underlying connection by ... ok
> test_flowToDeliversData
> (test.test_protocol.FlowConnectorTests.test_flowToDeliversData)
> L{_TransportFount.flowTo} will cause subsequent calls to ... ok
> test_flowToSetsDrain
> (test.test_protocol.FlowConnectorTests.test_flowToSetsDrain)
> L{_TransportFount.flowTo} will set the C{drain} attribute of the ... ok
> test_flowingFrom (test.test_protocol.FlowConnectorTests.test_flowingFrom)
> L{_TransportFount.flowTo} returns the result of its argument's ... ok
> test_flowingFromAttribute
> (test.test_protocol.FlowConnectorTests.test_flowingFromAttribute)
> L{_TransportDrain.flowingFrom} will establish the appropriate L{IFount} ... ok
> test_flowingFromTwice
> (test.test_protocol.FlowConnectorTests.test_flowingFromTwice)
> L{_TransportDrain.flowingFrom} switches the producer registered with ... ok
> test_flowingToNoneAfterFlowingToSomething
> (test.test_protocol.FlowConnectorTests.test_flowingToNoneAfterFlowingToSomething)
> Flowing to L{None} should disconnect from any drain, no longer ... ok
> test_pauseUnpauseFromOtherDrain
> (test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromOtherDrain)
> When a L{_TransportFount} produces too much data for a L{drain ... ok
> test_pauseUnpauseFromTransport
> (test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromTransport)
> When an L{IFount} produces too much data for a L{_TransportDrain} to ... ok
> test_stopFlowStopsConnection
> (test.test_protocol.FlowConnectorTests.test_stopFlowStopsConnection)
> L{_TransportFount.stopFlow} will close the underlying connection by ... ok
> test_stopProducing (test.test_protocol.FlowConnectorTests.test_stopProducing)
> When C{stopProducing} is called on the L{push producer ... ok
> test_acceptAfterDeferredButBeforeFlowTo
> (test.test_protocol.FlowListenerTests.test_acceptAfterDeferredButBeforeFlowTo)
> If the L{Deferred} returned by L{flowFountFromEndpoint} fires, but the ... ok
> test_acceptBeforeActuallyListening
> (test.test_protocol.FlowListenerTests.test_acceptBeforeActuallyListening)
> Sometimes a connection is established reentrantly by C{listen}, without ... ok
> test_backpressure (test.test_protocol.FlowListenerTests.test_backpressure)
> When the L{IFount} returned by L{flowFountFromEndpoint} is paused, it ... ok
> test_fromEndpoint (test.test_protocol.FlowListenerTests.test_fromEndpoint)
> L{flowFountFromEndpoint} returns a L{Deferred} that fires when the ... ok
> test_oneConnectionAccepted
> (test.test_protocol.FlowListenerTests.test_oneConnectionAccepted)
> When a connection comes in to a listening L{flowFountFromEndpoint}, the ... ok
> test_readConnectionLost
> (test.test_protocol.FlowListenerTests.test_readConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> test_stopping (test.test_protocol.FlowListenerTests.test_stopping)
> The L{IFount} returned by L{flowFountFromEndpoint} will stop listening ... ok
> test_writeConnectionLost
> (test.test_protocol.FlowListenerTests.test_writeConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_eq (test.test_routing.RoutedTests.test_eq)
> C{==} on L{Routed} is L{True} for equivalent ones, L{False} otherwise. ... ok
> test_ne (test.test_routing.RoutedTests.test_ne)
> C{==} on L{Routed} is L{False} for equivalent ones, L{True} otherwise. ... ok
> test_providedBy (test.test_routing.RoutedTests.test_providedBy)
> L{Routed.providedBy} ensures that the given object is a L{to} and that ... ok
> test_providedByNone (test.test_routing.RoutedTests.test_providedByNone)
> L{Routed.providedBy} ensures that the given object is L{to} but makes ... ok
> test_defaultTypeChecking
> (test.test_routing.RouterTests.test_defaultTypeChecking)
> L{Router}'s drain accepts only L{Routed} objects; if no other type is ... ok
> test_routeRepr (test.test_routing.RouterTests.test_routeRepr)
> It's useful to C{repr} a route for debugging purposes; if we give it a ... ok
> test_specifiedTypeChecking
> (test.test_routing.RouterTests.test_specifiedTypeChecking)
> The C{outputType} argument to L{Router}'s constructor specifies the ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_routing.py:92:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(None, correctFount.flowTo(router.drain))
> ok
> test_twoRoutes (test.test_routing.RouterTests.test_twoRoutes)
> The L{IFount} feeding into a L{Router} may yield L{to} each route ... ok
> test_startedRaises (test.test_tube.ErrorBehaviorTests.test_startedRaises)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube.started of
> <test.test_tube.ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube
> object at 0x7f7f8bd98f10>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_tube.py", line
> 898, in test_startedRaises
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_tube.py", line
> 893, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_startedRaisesNoDrain
> (test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube.started
> of
> <test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube
> object at 0x7f7f8bda4410>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_tube.py", line
> 918, in test_startedRaisesNoDrain
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/test/test_tube.py", line
> 914, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_divertWhilePaused (test.test_tube.SeriesTests.test_divertWhilePaused)
> If an L{IDivertable} L{tube} is diverted while it is paused, ... ok
> test_diverterInYourDiverterSoYouCanDivertWhileYouDivert
> (test.test_tube.SeriesTests.test_diverterInYourDiverterSoYouCanDivertWhileYouDivert)
> When L{IDivertable.reassemble} returns multiple values, the argument to ... ok
> test_diverterRepr (test.test_tube.SeriesTests.test_diverterRepr)
> repr for L{Diverter} includes a reference to its tube. ... ok
> test_drainFlowingFromNoneAlsoUnpauses
> (test.test_tube.SeriesTests.test_drainFlowingFromNoneAlsoUnpauses)
> L{_SiphonDrain.flowingFrom} will resume its old fount when flowed to ... ok
> test_drainPausesFlowWhenPreviouslyPaused
> (test.test_tube.SeriesTests.test_drainPausesFlowWhenPreviouslyPaused)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_drainRemainsPausedAcrossDetachedState
> (test.test_tube.SeriesTests.test_drainRemainsPausedAcrossDetachedState)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_flowFromTypeCheckFails
> (test.test_tube.SeriesTests.test_flowFromTypeCheckFails)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowFromTypeCheckSucceeds
> (test.test_tube.SeriesTests.test_flowFromTypeCheckSucceeds)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowToNoneInitialNoOp
> (test.test_tube.SeriesTests.test_flowToNoneInitialNoOp)
> L{_SiphonFount.flowTo}C{(None)} is a no-op when called before ... ok
> test_flowToWillNotResumeFlowPausedInFlowingFrom
> (test.test_tube.SeriesTests.test_flowToWillNotResumeFlowPausedInFlowingFrom)
> L{_SiphonFount.flowTo} will not call L{_SiphonFount.resumeFlow} when ... ok
> test_flowingFromFirst (test.test_tube.SeriesTests.test_flowingFromFirst)
> If L{_Siphon.flowingFrom} is called before L{_Siphon.flowTo}, the ... ok
> test_initiallyEnthusiasticFountBecomesDisillusioned
> (test.test_tube.SeriesTests.test_initiallyEnthusiasticFountBecomesDisillusioned)
> If an L{IFount} provider synchronously calls C{receive} on a ... ok
> test_noDrainThenLoseFount
> (test.test_tube.SeriesTests.test_noDrainThenLoseFount)
> If a fount is flowed to a tube which does not yet have a drain, then ... ok
> test_receiveCallsTubeReceived
> (test.test_tube.SeriesTests.test_receiveCallsTubeReceived)
> L{_SiphonDrain.receive} will send its input to L{ITube.received} on its ... ok
> test_receiveIterableDeliversDownstream
> (test.test_tube.SeriesTests.test_receiveIterableDeliversDownstream)
> When L{Tube.received} yields a value, L{_Siphon} will call L{receive} ... ok
> test_reentrantFlowTo (test.test_tube.SeriesTests.test_reentrantFlowTo)
> An L{IDrain} may call its argument's L{_SiphonFount.flowTo} method in ... ok
> test_seriesEndsInTerminalDrain
> (test.test_tube.SeriesTests.test_seriesEndsInTerminalDrain)
> If L{series} is called with an L{IDrain} which returns L{None} from ... ok
> test_seriesStartsWithSeries
> (test.test_tube.SeriesTests.test_seriesStartsWithSeries)
> If L{series} is called with the result of L{series} as its first ... ok
> test_siphonDrainRepr (test.test_tube.SeriesTests.test_siphonDrainRepr)
> repr for L{_SiphonDrain} includes a reference to its tube. ... ok
> test_siphonFlowingFromNoneReturnsSelfFount
> (test.test_tube.SeriesTests.test_siphonFlowingFromNoneReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromReturnsNextFount
> (test.test_tube.SeriesTests.test_siphonFlowingFromReturnsNextFount)
> Once L{_SiphonFount.flowTo} has been called, ... ok
> test_siphonFlowingFromReturnsSelfFount
> (test.test_tube.SeriesTests.test_siphonFlowingFromReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromSomethingThenNothing
> (test.test_tube.SeriesTests.test_siphonFlowingFromSomethingThenNothing)
> L{_SiphonDrain.flowingFrom} sets L{_SiphonDrain.fount}, whether it is ... ok
> test_siphonFountRepr (test.test_tube.SeriesTests.test_siphonFountRepr)
> repr for L{_SiphonFount} includes a reference to its tube. ... ok
> test_siphonReceiveCallsTubeReceived
> (test.test_tube.SeriesTests.test_siphonReceiveCallsTubeReceived)
> L{_SiphonDrain.receive} will call C{tube.received} and synthesize a ... ok
> test_siphonRepr (test.test_tube.SeriesTests.test_siphonRepr)
> repr for L{_Siphon} includes a reference to its tube. ... ok
> test_startedFlowingToAnother
> (test.test_tube.SeriesTests.test_startedFlowingToAnother)
> The greeting is relayed to the ultimate drain when a tube in the middle ... ok
> test_stopFlow (test.test_tube.SeriesTests.test_stopFlow)
> L{_SiphonFount.stopFlow} stops the flow of its L{_Siphon}'s upstream ... ok
> test_stopFlowBeforeFlowBegins
> (test.test_tube.SeriesTests.test_stopFlowBeforeFlowBegins)
> L{_SiphonFount.stopFlow} will stop the flow of its L{_Siphon}'s ... ok
> test_stopFlowInterruptsStarted
> (test.test_tube.SeriesTests.test_stopFlowInterruptsStarted)
> As per L{IFount.stopFlow}, a compliant L{fount <IFount>} never calls ... ok
> test_stopFlowStopsFlowImmediately
> (test.test_tube.SeriesTests.test_stopFlowStopsFlowImmediately)
> Similar to L{test_stopFlowInterruptsStarted}, if the upstream fount ... ok
> test_stopFlowWhileStartingFlow
> (test.test_tube.SeriesTests.test_stopFlowWhileStartingFlow)
> If a fount flowing to a tube calls C{flowStopped} in C{flowTo}, the ... ok
> test_tubeDiverting (test.test_tube.SeriesTests.test_tubeDiverting)
> The L{_Siphon} of a L{Tube} sends on data to a newly specified ... ok
> test_tubeDivertingControlsWhereOutputGoes
> (test.test_tube.SeriesTests.test_tubeDivertingControlsWhereOutputGoes)
> If a siphon A with a tube Ap is flowing to a siphon B with a divertable ... ok
> test_tubeDivertingReassembly
> (test.test_tube.SeriesTests.test_tubeDivertingReassembly)
> The L{_Siphon} of a L{Tube} sends on reassembled data - the return ... ok
> test_tubeDiverting_LotsOfStuffAtOnce
> (test.test_tube.SeriesTests.test_tubeDiverting_LotsOfStuffAtOnce)
> If a tube returns a sequence of multiple things, great. ... ok
> test_tubeDiverting_ReEntrantResumeReceive
> (test.test_tube.SeriesTests.test_tubeDiverting_ReEntrantResumeReceive)
> Diverting a tube that is receiving data from a fount which ... ok
> test_tubePausesItself (test.test_tube.SeriesTests.test_tubePausesItself)
> When one of the methods on L{Tube} pauses its own C{fount} or C{drain}, ... ok
> test_tubeReStarted (test.test_tube.SeriesTests.test_tubeReStarted)
> It's perfectly valid to take a L{_Siphon} and call C{flowingFrom} with ... ok
> test_tubeStarted (test.test_tube.SeriesTests.test_tubeStarted)
> The L{_Siphon} starts its L{Tube} upon C{flowingFrom}. ... ok
> test_tubeStopped (test.test_tube.SeriesTests.test_tubeStopped)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_noOps (test.test_tube.TubeTests.test_noOps)
> All of L{Tube}'s implementations of L{ITube} are no-ops. ... ok
> test_provider (test.test_tube.TubeTests.test_provider)
> L{Tube} provides L{ITube}. ... ok
> test_fountToDeferred
> (test.test_undefer.DeferredIntegrationTests.test_fountToDeferred)
> L{fountToDeferred} returns a L{Deferred} that fires with an iterable of ... ok
> test_tubeStoppedDeferredly
> (test.test_undefer.DeferredIntegrationTests.test_tubeStoppedDeferredly)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> test_tubeYieldedDeferredFiresWhileFlowIsPaused
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldedDeferredFiresWhileFlowIsPaused)
> When a L{Tube} yields an L{Deferred} and that L{Deferred} fires when ... ok
> test_tubeYieldsFiredDeferred
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldsFiredDeferred)
> When a tube yields a fired L{Deferred} its result is synchronously ... ok
> test_tubeYieldsMultipleDeferreds
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldsMultipleDeferreds)
> When a tube yields multiple deferreds their results should be delivered ... ok
> test_tubeYieldsUnfiredDeferred
> (test.test_undefer.DeferredIntegrationTests.test_tubeYieldsUnfiredDeferred)
> When a tube yields an unfired L{Deferred} its result is asynchronously ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_joining (tubes.test.test_chatter.ChatTests.test_joining)
> Test that we receive a response from joining. ... ok
> test_dontUnpauseWhenNoDrain
> (tubes.test.test_fan.FanInTests.test_dontUnpauseWhenNoDrain)
> L{In.fount}C{.flowTo(None)} won't unpause L{In}'s upstream founts. ... ok
> test_flowStopped (tubes.test.test_fan.FanInTests.test_flowStopped)
> When the flow stops to one of the drains returned by L{In.newDrain}, it ... ok
> test_oneDrainReceives (tubes.test.test_fan.FanInTests.test_oneDrainReceives)
> When one drain created by L{In.newDrain} recives a value, the drain ... ok
> test_pauseNewFountWhenPaused
> (tubes.test.test_fan.FanInTests.test_pauseNewFountWhenPaused)
> When a drain created by L{In.newDrain} receives a new fount, if ... ok
> test_pauseWhenNoDrain (tubes.test.test_fan.FanInTests.test_pauseWhenNoDrain)
> When a drain created by L{In.newDrain} is hooked up to a new fount, but ... ok
> test_pauseWhenSwitchedToNoDrain
> (tubes.test.test_fan.FanInTests.test_pauseWhenSwitchedToNoDrain)
> L{In.fount}C{.flowTo(None)} after L{In.fount} already has a drain will ... ok
> test_stopFlow (tubes.test.test_fan.FanInTests.test_stopFlow)
> When the drain of L{In.fount} stops its upstream flow, that stops the ... ok
> test_fanOut (tubes.test.test_fan.FanOutTests.test_fanOut)
> When an L{Out} is constructed and flowed to two drains, both drains ... ok
> test_fanReceivesBeforeFountsHaveDrains
> (tubes.test.test_fan.FanOutTests.test_fanReceivesBeforeFountsHaveDrains)
> L{Out.drain}'s C{receive} method only relays outputs to founts which ... ok
> test_flowStopped (tubes.test.test_fan.FanOutTests.test_flowStopped)
> When the flow stops to L{out.drain}, it stops to all downstream drains ... ok
> test_oneFountPausesInReceive
> (tubes.test.test_fan.FanOutTests.test_oneFountPausesInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountPausesOthersInReceive
> (tubes.test.test_fan.FanOutTests.test_oneFountPausesOthersInReceive)
> When an L{Out} has two founts created by C{newFount} fA and fB, and ... ok
> test_oneFountStops (tubes.test.test_fan.FanOutTests.test_oneFountStops)
> When one fount created by L{Out.newFount} is stopped, only the drain ... ok
> test_oneFountStopsInReceive
> (tubes.test.test_fan.FanOutTests.test_oneFountStopsInReceive)
> When one fount created by L{Out.newFount} is stopped in its drain's ... ok
> test_outFountFlowTo (tubes.test.test_fan.FanOutTests.test_outFountFlowTo)
> L{Out.newFount}'s C{flowTo} calls C{flowingFrom} on its drain and ... ok
> test_pausingOneOutFountPausesUpstreamFount
> (tubes.test.test_fan.FanOutTests.test_pausingOneOutFountPausesUpstreamFount)
> When one fount created by L{Out.newFount} is paused, the fount flowing ... ok
> test_switchFlowToNone (tubes.test.test_fan.FanOutTests.test_switchFlowToNone)
> When L{out.drain} removes its upstream fount, it unpauses it. ... ok
> test_verifyCompliance (tubes.test.test_fan.FanOutTests.test_verifyCompliance)
> L{Out.newFount} and L{Out.drain} adhere to their respected declared ... ok
> test_thru (tubes.test.test_fan.FanThruTests.test_thru)
> Each input provided to L{Thru} will be sent to each of its drains, and ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_linesToBytes (tubes.test.test_framing.LineTests.test_linesToBytes)
> Writing out lines delimits them, with the delimiter. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:94:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(b"".join(fd.received), b"hello\r\nworld\r\n")
> ok
> test_rawMode (tubes.test.test_framing.LineTests.test_rawMode)
> You should be able to have some lines, and then some bytes, and then ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:128:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(b"".join(Switchee.datums), b"abcde\r\nfgh")
> ok
> test_stringToLines (tubes.test.test_framing.LineTests.test_stringToLines)
> A line is something delimited by a LF or CRLF. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:80:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"alpha", b"beta"])
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:80:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"alpha", b"beta"])
> ok
> test_switchingWithMoreDataToDeliver
> (tubes.test.test_framing.LineTests.test_switchingWithMoreDataToDeliver)
> Switching drains should immediately stop delivering data. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:151:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd1.received, [b"something"])
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:152:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd2.received, [b'hello\r\n', b'world'])
> ok
> test_bytesToNetstrings
> (tubes.test.test_framing.NetstringTests.test_bytesToNetstrings)
> L{bytesToNetstrings} works on subsequent inputs as well. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:45:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(
> ok
> test_netstringToString
> (tubes.test.test_framing.NetstringTests.test_netstringToString)
> Length prefix is stripped off. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:62:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"x", b"yz"])
> ok
> test_stringToNetstring
> (tubes.test.test_framing.NetstringTests.test_stringToNetstring)
> A byte-string is given a length prefix. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:30:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(
> ok
> test_prefixIn (tubes.test.test_framing.PackedPrefixTests.test_prefixIn)
> Parse some prefixed data. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:170:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b"12345678"])
> ok
> test_prefixOut (tubes.test.test_framing.PackedPrefixTests.test_prefixOut)
> Emit some prefixes. ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_framing.py:184:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(fd.received, [b'\x01a', b'\x02bc', b'\x03def'])
> ok
> test_pauseOnce (tubes.test.test_kit.PauserTests.test_pauseOnce)
> One call to L{_Pauser.pause} will call the actuallyPause callable. ... ok
> test_pauseThenUnpause (tubes.test.test_kit.PauserTests.test_pauseThenUnpause)
> A call to L{_Pauser.pause} followed by a call to the result's ... ok
> test_reentrantPause (tubes.test.test_kit.PauserTests.test_reentrantPause)
> A L{Pauser} that pauses re-entrantly will only result in one call to ... ok
> test_reentrantResume (tubes.test.test_kit.PauserTests.test_reentrantResume)
> A L{Pauser} that resumes re-entrantly will raise L{AlreadyUnpaused}. ... ok
> test_repeatedlyPause (tubes.test.test_kit.PauserTests.test_repeatedlyPause)
> Multiple calls to L{_Pauser.pause} where not all of the pausers are ... ok
> test_secondUnpauseFails
> (tubes.test.test_kit.PauserTests.test_secondUnpauseFails)
> The second of two consectuive calls to L{IPause.unpause} results in an ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_listenerCallsFlowConnector
> (tubes.test.test_listening.ListeningTests.test_listenerCallsFlowConnector)
> A L{Listener} is a drain which calls the function given to it to ... ok
> test_listenerLimitsConcurrentConnections
> (tubes.test.test_listening.ListeningTests.test_listenerLimitsConcurrentConnections)
> L{Listener} will pause its fount when too many connections are ... ok
> test_flowTo (tubes.test.test_memory.IteratorFountTests.test_flowTo)
> L{iteratorFount.flowTo} sets its drain and calls C{flowingFrom} on its ... ok
> test_flowToDeliversValues
> (tubes.test.test_memory.IteratorFountTests.test_flowToDeliversValues)
> L{iteratorFount.flowTo} will deliver all of its values to the given ... ok
> test_flowUnpausedAfterPausedFlowIsStopped
> (tubes.test.test_memory.IteratorFountTests.test_flowUnpausedAfterPausedFlowIsStopped)
> When L{iteratorFount} is stopped after being paused, and subsequently ... ok
> test_pauseFlow (tubes.test.test_memory.IteratorFountTests.test_pauseFlow)
> L{iteratorFount.pauseFlow} will pause the delivery of items. ... ok
> test_provides (tubes.test.test_memory.IteratorFountTests.test_provides)
> An L{iteratorFount} provides L{IFount}. ... ok
> test_stopFlow (tubes.test.test_memory.IteratorFountTests.test_stopFlow)
> L{iteratorFount.stopFlow} stops the flow, propagating a C{flowStopped} ... ok
> test_stopFlowCalledAfterFlowStopped
> (tubes.test.test_memory.IteratorFountTests.test_stopFlowCalledAfterFlowStopped)
> L{iteratorFount} will only call its C{drain}'s L{flowStopped} once when ... ok
> test_stopIterationStopsIteration
> (tubes.test.test_memory.IteratorFountTests.test_stopIterationStopsIteration)
> When the iterator passed to L{iteratorFount} is exhausted ... ok
> test_stopPausedFlow
> (tubes.test.test_memory.IteratorFountTests.test_stopPausedFlow)
> When L{iteratorFount} is stopped after being paused, the drain will ... ok
> test_unpauseFlow (tubes.test.test_memory.IteratorFountTests.test_unpauseFlow)
> When all pauses returned by L{iteratorFount.pauseFlow} have been ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_connectionLostSendsFlowStopped
> (tubes.test.test_protocol.FlowConnectorTests.test_connectionLostSendsFlowStopped)
> When C{connectionLost} is called on a L{_ProtocolPlumbing} and it has ... ok
> test_connectionLostSendsStopFlow
> (tubes.test.test_protocol.FlowConnectorTests.test_connectionLostSendsStopFlow)
> L{_ProtocolPlumbing.connectionLost} will notify its C{_drain}'s ... ok
> test_dataReceivedBeforeFlowing
> (tubes.test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowing)
> If L{_ProtocolPlumbing.dataReceived} is called before its ... ok
> test_dataReceivedBeforeFlowingThenFlowTo
> (tubes.test.test_protocol.FlowConnectorTests.test_dataReceivedBeforeFlowingThenFlowTo)
> Repeated calls to L{flowTo} don't replay the buffer from ... ok
> test_dataReceivedWhenFlowingToNone
> (tubes.test.test_protocol.FlowConnectorTests.test_dataReceivedWhenFlowingToNone)
> Initially flowing to L{None} is the same as flowTo never having been ... ok
> test_drainReceivingWritesToTransport
> (tubes.test.test_protocol.FlowConnectorTests.test_drainReceivingWritesToTransport)
> Calling L{receive} on a L{_TransportDrain} will send the data to the ... ok
> test_flowStoppedStopsConnection
> (tubes.test.test_protocol.FlowConnectorTests.test_flowStoppedStopsConnection)
> L{_TransportDrain.flowStopped} will close the underlying connection by ... ok
> test_flowToDeliversData
> (tubes.test.test_protocol.FlowConnectorTests.test_flowToDeliversData)
> L{_TransportFount.flowTo} will cause subsequent calls to ... ok
> test_flowToSetsDrain
> (tubes.test.test_protocol.FlowConnectorTests.test_flowToSetsDrain)
> L{_TransportFount.flowTo} will set the C{drain} attribute of the ... ok
> test_flowingFrom
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingFrom)
> L{_TransportFount.flowTo} returns the result of its argument's ... ok
> test_flowingFromAttribute
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingFromAttribute)
> L{_TransportDrain.flowingFrom} will establish the appropriate L{IFount} ... ok
> test_flowingFromTwice
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingFromTwice)
> L{_TransportDrain.flowingFrom} switches the producer registered with ... ok
> test_flowingToNoneAfterFlowingToSomething
> (tubes.test.test_protocol.FlowConnectorTests.test_flowingToNoneAfterFlowingToSomething)
> Flowing to L{None} should disconnect from any drain, no longer ... ok
> test_pauseUnpauseFromOtherDrain
> (tubes.test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromOtherDrain)
> When a L{_TransportFount} produces too much data for a L{drain ... ok
> test_pauseUnpauseFromTransport
> (tubes.test.test_protocol.FlowConnectorTests.test_pauseUnpauseFromTransport)
> When an L{IFount} produces too much data for a L{_TransportDrain} to ... ok
> test_stopFlowStopsConnection
> (tubes.test.test_protocol.FlowConnectorTests.test_stopFlowStopsConnection)
> L{_TransportFount.stopFlow} will close the underlying connection by ... ok
> test_stopProducing
> (tubes.test.test_protocol.FlowConnectorTests.test_stopProducing)
> When C{stopProducing} is called on the L{push producer ... ok
> test_acceptAfterDeferredButBeforeFlowTo
> (tubes.test.test_protocol.FlowListenerTests.test_acceptAfterDeferredButBeforeFlowTo)
> If the L{Deferred} returned by L{flowFountFromEndpoint} fires, but the ... ok
> test_acceptBeforeActuallyListening
> (tubes.test.test_protocol.FlowListenerTests.test_acceptBeforeActuallyListening)
> Sometimes a connection is established reentrantly by C{listen}, without ... ok
> test_backpressure
> (tubes.test.test_protocol.FlowListenerTests.test_backpressure)
> When the L{IFount} returned by L{flowFountFromEndpoint} is paused, it ... ok
> test_fromEndpoint
> (tubes.test.test_protocol.FlowListenerTests.test_fromEndpoint)
> L{flowFountFromEndpoint} returns a L{Deferred} that fires when the ... ok
> test_oneConnectionAccepted
> (tubes.test.test_protocol.FlowListenerTests.test_oneConnectionAccepted)
> When a connection comes in to a listening L{flowFountFromEndpoint}, the ... ok
> test_readConnectionLost
> (tubes.test.test_protocol.FlowListenerTests.test_readConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> test_stopping (tubes.test.test_protocol.FlowListenerTests.test_stopping)
> The L{IFount} returned by L{flowFountFromEndpoint} will stop listening ... ok
> test_writeConnectionLost
> (tubes.test.test_protocol.FlowListenerTests.test_writeConnectionLost)
> The protocol created by L{flowFountFromEndpoint} provides half-close ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_eq (tubes.test.test_routing.RoutedTests.test_eq)
> C{==} on L{Routed} is L{True} for equivalent ones, L{False} otherwise. ... ok
> test_ne (tubes.test.test_routing.RoutedTests.test_ne)
> C{==} on L{Routed} is L{False} for equivalent ones, L{True} otherwise. ... ok
> test_providedBy (tubes.test.test_routing.RoutedTests.test_providedBy)
> L{Routed.providedBy} ensures that the given object is a L{to} and that ... ok
> test_providedByNone (tubes.test.test_routing.RoutedTests.test_providedByNone)
> L{Routed.providedBy} ensures that the given object is L{to} but makes ... ok
> test_defaultTypeChecking
> (tubes.test.test_routing.RouterTests.test_defaultTypeChecking)
> L{Router}'s drain accepts only L{Routed} objects; if no other type is ... ok
> test_routeRepr (tubes.test.test_routing.RouterTests.test_routeRepr)
> It's useful to C{repr} a route for debugging purposes; if we give it a ... ok
> test_specifiedTypeChecking
> (tubes.test.test_routing.RouterTests.test_specifiedTypeChecking)
> The C{outputType} argument to L{Router}'s constructor specifies the ...
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_routing.py:92:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals(None, correctFount.flowTo(router.drain))
> ok
> test_twoRoutes (tubes.test.test_routing.RouterTests.test_twoRoutes)
> The L{IFount} feeding into a L{Router} may yield L{to} each route ... ok
> test_startedRaises
> (tubes.test.test_tube.ErrorBehaviorTests.test_startedRaises)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube.started of
> <tubes.test.test_tube.ErrorBehaviorTests.test_startedRaises.<locals>.UnstartableTube
> object at 0x7f7f8bc30f50>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_tube.py",
> line 898, in test_startedRaises
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_tube.py",
> line 893, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_startedRaisesNoDrain
> (tubes.test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain)
> If L{ITube.started} raises an exception, the exception will be logged, ...
> Exception raised when delivering from <bound method
> ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube.started
> of
> <tubes.test.test_tube.ErrorBehaviorTests.test_startedRaisesNoDrain.<locals>.UnstartableTube
> object at 0x7f7f8bc3cf90>>
> Traceback (most recent call last):
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_tube.py",
> line 918, in test_startedRaisesNoDrain
> ff.flowTo(siphonDrain)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/util.py",
> line 158, in flowTo
> return beginFlowingTo(self, drain)
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/kit.py",
> line 113, in beginFlowingTo
> return drain.flowingFrom(fount)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 293, in flowingFrom
> self._siphon._deliverFrom(self._tube.started)
> --- <exception caught here> ---
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/_siphon.py", line
> 405, in _deliverFrom
> iterableOrNot = deliverySource()
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tubes/build/tubes/test/test_tube.py",
> line 914, in started
> raise ZeroDivisionError
> builtins.ZeroDivisionError:
>
> ok
> test_divertWhilePaused
> (tubes.test.test_tube.SeriesTests.test_divertWhilePaused)
> If an L{IDivertable} L{tube} is diverted while it is paused, ... ok
> test_diverterInYourDiverterSoYouCanDivertWhileYouDivert
> (tubes.test.test_tube.SeriesTests.test_diverterInYourDiverterSoYouCanDivertWhileYouDivert)
> When L{IDivertable.reassemble} returns multiple values, the argument to ... ok
> test_diverterRepr (tubes.test.test_tube.SeriesTests.test_diverterRepr)
> repr for L{Diverter} includes a reference to its tube. ... ok
> test_drainFlowingFromNoneAlsoUnpauses
> (tubes.test.test_tube.SeriesTests.test_drainFlowingFromNoneAlsoUnpauses)
> L{_SiphonDrain.flowingFrom} will resume its old fount when flowed to ... ok
> test_drainPausesFlowWhenPreviouslyPaused
> (tubes.test.test_tube.SeriesTests.test_drainPausesFlowWhenPreviouslyPaused)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_drainRemainsPausedAcrossDetachedState
> (tubes.test.test_tube.SeriesTests.test_drainRemainsPausedAcrossDetachedState)
> L{_SiphonDrain.flowingFrom} will pause its fount if its L{_SiphonFount} ... ok
> test_flowFromTypeCheckFails
> (tubes.test.test_tube.SeriesTests.test_flowFromTypeCheckFails)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowFromTypeCheckSucceeds
> (tubes.test.test_tube.SeriesTests.test_flowFromTypeCheckSucceeds)
> L{_Siphon.flowingFrom} checks the type of its input. If it doesn't ... ok
> test_flowToNoneInitialNoOp
> (tubes.test.test_tube.SeriesTests.test_flowToNoneInitialNoOp)
> L{_SiphonFount.flowTo}C{(None)} is a no-op when called before ... ok
> test_flowToWillNotResumeFlowPausedInFlowingFrom
> (tubes.test.test_tube.SeriesTests.test_flowToWillNotResumeFlowPausedInFlowingFrom)
> L{_SiphonFount.flowTo} will not call L{_SiphonFount.resumeFlow} when ... ok
> test_flowingFromFirst (tubes.test.test_tube.SeriesTests.test_flowingFromFirst)
> If L{_Siphon.flowingFrom} is called before L{_Siphon.flowTo}, the ... ok
> test_initiallyEnthusiasticFountBecomesDisillusioned
> (tubes.test.test_tube.SeriesTests.test_initiallyEnthusiasticFountBecomesDisillusioned)
> If an L{IFount} provider synchronously calls C{receive} on a ... ok
> test_noDrainThenLoseFount
> (tubes.test.test_tube.SeriesTests.test_noDrainThenLoseFount)
> If a fount is flowed to a tube which does not yet have a drain, then ... ok
> test_receiveCallsTubeReceived
> (tubes.test.test_tube.SeriesTests.test_receiveCallsTubeReceived)
> L{_SiphonDrain.receive} will send its input to L{ITube.received} on its ... ok
> test_receiveIterableDeliversDownstream
> (tubes.test.test_tube.SeriesTests.test_receiveIterableDeliversDownstream)
> When L{Tube.received} yields a value, L{_Siphon} will call L{receive} ... ok
> test_reentrantFlowTo (tubes.test.test_tube.SeriesTests.test_reentrantFlowTo)
> An L{IDrain} may call its argument's L{_SiphonFount.flowTo} method in ... ok
> test_seriesEndsInTerminalDrain
> (tubes.test.test_tube.SeriesTests.test_seriesEndsInTerminalDrain)
> If L{series} is called with an L{IDrain} which returns L{None} from ... ok
> test_seriesStartsWithSeries
> (tubes.test.test_tube.SeriesTests.test_seriesStartsWithSeries)
> If L{series} is called with the result of L{series} as its first ... ok
> test_siphonDrainRepr (tubes.test.test_tube.SeriesTests.test_siphonDrainRepr)
> repr for L{_SiphonDrain} includes a reference to its tube. ... ok
> test_siphonFlowingFromNoneReturnsSelfFount
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromNoneReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromReturnsNextFount
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromReturnsNextFount)
> Once L{_SiphonFount.flowTo} has been called, ... ok
> test_siphonFlowingFromReturnsSelfFount
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromReturnsSelfFount)
> L{_SiphonDrain.flowingFrom} initially returns its L{_Siphon}'s ... ok
> test_siphonFlowingFromSomethingThenNothing
> (tubes.test.test_tube.SeriesTests.test_siphonFlowingFromSomethingThenNothing)
> L{_SiphonDrain.flowingFrom} sets L{_SiphonDrain.fount}, whether it is ... ok
> test_siphonFountRepr (tubes.test.test_tube.SeriesTests.test_siphonFountRepr)
> repr for L{_SiphonFount} includes a reference to its tube. ... ok
> test_siphonReceiveCallsTubeReceived
> (tubes.test.test_tube.SeriesTests.test_siphonReceiveCallsTubeReceived)
> L{_SiphonDrain.receive} will call C{tube.received} and synthesize a ... ok
> test_siphonRepr (tubes.test.test_tube.SeriesTests.test_siphonRepr)
> repr for L{_Siphon} includes a reference to its tube. ... ok
> test_startedFlowingToAnother
> (tubes.test.test_tube.SeriesTests.test_startedFlowingToAnother)
> The greeting is relayed to the ultimate drain when a tube in the middle ... ok
> test_stopFlow (tubes.test.test_tube.SeriesTests.test_stopFlow)
> L{_SiphonFount.stopFlow} stops the flow of its L{_Siphon}'s upstream ... ok
> test_stopFlowBeforeFlowBegins
> (tubes.test.test_tube.SeriesTests.test_stopFlowBeforeFlowBegins)
> L{_SiphonFount.stopFlow} will stop the flow of its L{_Siphon}'s ... ok
> test_stopFlowInterruptsStarted
> (tubes.test.test_tube.SeriesTests.test_stopFlowInterruptsStarted)
> As per L{IFount.stopFlow}, a compliant L{fount <IFount>} never calls ... ok
> test_stopFlowStopsFlowImmediately
> (tubes.test.test_tube.SeriesTests.test_stopFlowStopsFlowImmediately)
> Similar to L{test_stopFlowInterruptsStarted}, if the upstream fount ... ok
> test_stopFlowWhileStartingFlow
> (tubes.test.test_tube.SeriesTests.test_stopFlowWhileStartingFlow)
> If a fount flowing to a tube calls C{flowStopped} in C{flowTo}, the ... ok
> test_tubeDiverting (tubes.test.test_tube.SeriesTests.test_tubeDiverting)
> The L{_Siphon} of a L{Tube} sends on data to a newly specified ... ok
> test_tubeDivertingControlsWhereOutputGoes
> (tubes.test.test_tube.SeriesTests.test_tubeDivertingControlsWhereOutputGoes)
> If a siphon A with a tube Ap is flowing to a siphon B with a divertable ... ok
> test_tubeDivertingReassembly
> (tubes.test.test_tube.SeriesTests.test_tubeDivertingReassembly)
> The L{_Siphon} of a L{Tube} sends on reassembled data - the return ... ok
> test_tubeDiverting_LotsOfStuffAtOnce
> (tubes.test.test_tube.SeriesTests.test_tubeDiverting_LotsOfStuffAtOnce)
> If a tube returns a sequence of multiple things, great. ... ok
> test_tubeDiverting_ReEntrantResumeReceive
> (tubes.test.test_tube.SeriesTests.test_tubeDiverting_ReEntrantResumeReceive)
> Diverting a tube that is receiving data from a fount which ... ok
> test_tubePausesItself (tubes.test.test_tube.SeriesTests.test_tubePausesItself)
> When one of the methods on L{Tube} pauses its own C{fount} or C{drain}, ... ok
> test_tubeReStarted (tubes.test.test_tube.SeriesTests.test_tubeReStarted)
> It's perfectly valid to take a L{_Siphon} and call C{flowingFrom} with ... ok
> test_tubeStarted (tubes.test.test_tube.SeriesTests.test_tubeStarted)
> The L{_Siphon} starts its L{Tube} upon C{flowingFrom}. ... ok
> test_tubeStopped (tubes.test.test_tube.SeriesTests.test_tubeStopped)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
> test_noOps (tubes.test.test_tube.TubeTests.test_noOps)
> All of L{Tube}'s implementations of L{ITube} are no-ops. ... ok
> test_provider (tubes.test.test_tube.TubeTests.test_provider)
> L{Tube} provides L{ITube}. ... ok
> test_fountToDeferred
> (tubes.test.test_undefer.DeferredIntegrationTests.test_fountToDeferred)
> L{fountToDeferred} returns a L{Deferred} that fires with an iterable of ... ok
> test_tubeStoppedDeferredly
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeStoppedDeferredly)
> The L{_Siphon} stops its L{Tube} and propagates C{flowStopped} ... ok
> test_tubeYieldedDeferredFiresWhileFlowIsPaused
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldedDeferredFiresWhileFlowIsPaused)
> When a L{Tube} yields an L{Deferred} and that L{Deferred} fires when ... ok
> test_tubeYieldsFiredDeferred
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldsFiredDeferred)
> When a tube yields a fired L{Deferred} its result is synchronously ... ok
> test_tubeYieldsMultipleDeferreds
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldsMultipleDeferreds)
> When a tube yields multiple deferreds their results should be delivered ... ok
> test_tubeYieldsUnfiredDeferred
> (tubes.test.test_undefer.DeferredIntegrationTests.test_tubeYieldsUnfiredDeferred)
> When a tube yields an unfired L{Deferred} its result is asynchronously ... ok
> runTest (twisted.trial._synctest.SynchronousTestCase.runTest)
> If no C{methodName} argument is passed to the constructor, L{run} will ... ok
>
> ----------------------------------------------------------------------
> Ran 274 tests in 0.106s
>
> OK
> dh_auto_test: error: pybuild --test -i python{version} -p "3.12 3.11"
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/12/12/python-tubes_0.2.1-3_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---