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.