def churn_at_rate_limit(rate_limit, bench_seconds): commands = [pipeline.PipeViewerRateLimitFilter( rate_limit, piper.PIPE, piper.PIPE)] pl = pipeline.Pipeline(commands, piper.PIPE, piper.PIPE) gevent.spawn(consume, pl.stdout) gevent.spawn(produce, pl.stdin) gevent.sleep(bench_seconds)
def test_rate_limit(tmpdir): payload, payload_file = create_bogus_payload(tmpdir) pl = pipeline.PipeViewerRateLimitFilter(1048576 * 100, stdin=payload_file.open()) pl.start() round_trip = pl.stdout.read() pl.finish() assert round_trip == payload