コード例 #1
0
def test_streamer_stop(monkeypatch):
    """
    Ensure that stopping stops the streamer printing to stdout
    """
    count = 0

    def infinite_readline(self):
        time.sleep(0.1)
        return b"" if count % 10 == 0 else b"_"

    monkeypatch.setattr(MockStream, "closed", False)
    monkeypatch.setattr(MockStream, "readline", infinite_readline)
    mockStream = MockStream()

    streamer = Streamer(stream=mockStream, verbose=True)
    assert streamer.is_monitoring()
    streamer.stop()
    assert not streamer.is_monitoring()
コード例 #2
0
def test_stream_close(capsys, patchedOpenExcepRasingMockSteam):
    """
    Tests that Streamer handles a closed stream properly
    """

    mockStream = patchedOpenExcepRasingMockSteam
    streamer = Streamer(stream=mockStream, verbose=True)

    while streamer.is_monitoring():
        pass

    out, err = capsys.readouterr()
    assert (
        out ==
        f"{streamer._messages['streamer_closed_early']}\n{streamer._messages['finished']}\n"
    )
    assert err == ""