diff --git a/pathod/pathoc.py b/pathod/pathoc.py index 4c708fc94..3eb916375 100644 --- a/pathod/pathoc.py +++ b/pathod/pathoc.py @@ -361,6 +361,7 @@ class Pathoc(tcp.TCPClient): return if frm is None: self.ws_framereader.join() + self.ws_framereader = None return yield frm diff --git a/test/pathod/test_pathoc.py b/test/pathod/test_pathoc.py index 20876f2a5..dc5011c0b 100644 --- a/test/pathod/test_pathoc.py +++ b/test/pathod/test_pathoc.py @@ -154,9 +154,10 @@ class TestDaemon(PathocTestDaemon): ) with c.connect(): c.request("ws:/") - c.request("wf:f'wf:x100'") - [i for i in c.wait(timeout=0, finish=False)] - [i for i in c.wait(timeout=0)] + c.request("wf:f'wf'") + # This should read a frame and close the websocket reader + assert len([i for i in c.wait(timeout=5, finish=False)]) == 1 + assert not [i for i in c.wait(timeout=0)] def test_connect_fail(self): to = ("foobar", 80)