Skip to content

Commit af2a800

Browse files
author
Martin Durant
committed
await_for instead of sleep in test_from_file_end
1 parent dc0a7a3 commit af2a800

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

streamz/sources.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,13 @@ def __init__(self, f, poll_interval=0.100, delimiter='\n', start=False,
7676
self.poll_interval = poll_interval
7777
super(from_textfile, self).__init__(ensure_io_loop=True, **kwargs)
7878
self.stopped = True
79+
self.started = False
7980
if start:
8081
self.start()
8182

8283
def start(self):
8384
self.stopped = False
85+
self.started = False
8486
self.loop.add_callback(self.do_poll)
8587

8688
@gen.coroutine
@@ -89,7 +91,8 @@ def do_poll(self):
8991
if self.from_end:
9092
# this only happens when we are ready to read
9193
self.file.seek(0, 2)
92-
while True:
94+
while not self.stopped:
95+
self.started = True
9396
line = self.file.read()
9497
if line:
9598
buffer = buffer + line
@@ -100,8 +103,6 @@ def do_poll(self):
100103
yield self._emit(part + self.delimiter)
101104
else:
102105
yield gen.sleep(self.poll_interval)
103-
if self.stopped:
104-
break
105106

106107

107108
@Stream.register_api(staticmethod)

streamz/tests/test_core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -799,7 +799,7 @@ def test_from_file_end():
799799
out = source.sink_to_list()
800800
source.start()
801801
assert out == []
802-
yield gen.sleep(0.01)
802+
yield await_for(lambda: source.started, 2, period=0.02)
803803

804804
f.write('data2\n')
805805
f.flush()

0 commit comments

Comments
 (0)