From 453ff83e6cda30100e9c7d8079854f651f1e3787 Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Sat, 3 Dec 2022 15:57:59 +0100 Subject: hotfix: enable reading lines split over multiple stdout buffers --- planetwars-matchrunner/tests/test_matchrunner.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'planetwars-matchrunner/tests') diff --git a/planetwars-matchrunner/tests/test_matchrunner.rs b/planetwars-matchrunner/tests/test_matchrunner.rs index 43afd85..c2b324c 100644 --- a/planetwars-matchrunner/tests/test_matchrunner.rs +++ b/planetwars-matchrunner/tests/test_matchrunner.rs @@ -148,3 +148,20 @@ async fn docker_runner_crash() { }) .await; } + +#[tokio::test] +async fn test_long_line() { + let bot_spec = simple_python_docker_bot_spec("./bots", "echo_bot.py"); + let len = 10 * 2_usize.pow(20); // 10 megabytes - hopefully large enough to cause buffering + let buf = std::iter::repeat(b'a').take(len).collect::>(); + with_bot_match_ctx(bot_spec, |ctx| { + async move { + let resp = ctx.request(1, buf, Duration::from_millis(200)).await; + + let resp_bytes = resp.expect("unexpected error"); + assert_eq!(resp_bytes.len(), len + 1); + } + .boxed() + }) + .await; +} -- cgit v1.2.3