def run_and_fail(): source = Stream() sink = source.buffer(10).rate_limit(1).sink(L.append) for i in range(10): source.emit(i) sink.destroy()
def test_buffer_ref_counts(): source = Stream(asynchronous=True) _ = source.buffer(5) refs = [] for i in range(5): r = RefCounter() refs.append(r) source.emit(i, metadata=[{'ref': r}]) assert all(r.count == 1 for r in refs) yield gen.sleep(0.05) assert all(r.count == 0 for r in refs)