diff --git a/crates/pa-daemon/tests/abort_kernel_e2e.rs b/crates/pa-daemon/tests/abort_kernel_e2e.rs index 87fb3bc90..20d910ee2 100644 --- a/crates/pa-daemon/tests/abort_kernel_e2e.rs +++ b/crates/pa-daemon/tests/abort_kernel_e2e.rs @@ -140,11 +140,11 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -197,9 +197,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_mins(1); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -210,6 +210,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/agent_family_e2e.rs b/crates/pa-daemon/tests/agent_family_e2e.rs index 9a6f6ab6d..38edafb38 100644 --- a/crates/pa-daemon/tests/agent_family_e2e.rs +++ b/crates/pa-daemon/tests/agent_family_e2e.rs @@ -177,10 +177,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/agents_view_roster_e2e.rs b/crates/pa-daemon/tests/agents_view_roster_e2e.rs index 446235360..155bc8282 100644 --- a/crates/pa-daemon/tests/agents_view_roster_e2e.rs +++ b/crates/pa-daemon/tests/agents_view_roster_e2e.rs @@ -134,10 +134,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/autonomous_e2e.rs b/crates/pa-daemon/tests/autonomous_e2e.rs index 6c5d2bcd9..155c531bf 100644 --- a/crates/pa-daemon/tests/autonomous_e2e.rs +++ b/crates/pa-daemon/tests/autonomous_e2e.rs @@ -93,10 +93,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -146,9 +145,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_secs(30); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -159,6 +158,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/command_dispatch_e2e.rs b/crates/pa-daemon/tests/command_dispatch_e2e.rs index 9f22ae59f..92d6950c8 100644 --- a/crates/pa-daemon/tests/command_dispatch_e2e.rs +++ b/crates/pa-daemon/tests/command_dispatch_e2e.rs @@ -229,10 +229,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(_) => { assert!( diff --git a/crates/pa-daemon/tests/compaction_abort_e2e.rs b/crates/pa-daemon/tests/compaction_abort_e2e.rs index 3d3b06fe0..32ecd04e4 100644 --- a/crates/pa-daemon/tests/compaction_abort_e2e.rs +++ b/crates/pa-daemon/tests/compaction_abort_e2e.rs @@ -314,10 +314,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -337,17 +336,18 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(50))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => return, - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { if let Ok(event) = serde_json::from_str::(line.trim()) { if event.get("type").and_then(Value::as_str) == Some("session_event") { self.events.push(event["event"].clone()); } } + line.clear(); } Err(_) => {} } diff --git a/crates/pa-daemon/tests/compaction_completion_stall_e2e.rs b/crates/pa-daemon/tests/compaction_completion_stall_e2e.rs index eddd19a34..ad84320f6 100644 --- a/crates/pa-daemon/tests/compaction_completion_stall_e2e.rs +++ b/crates/pa-daemon/tests/compaction_completion_stall_e2e.rs @@ -542,10 +542,9 @@ impl TimedClient { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -578,17 +577,18 @@ impl TimedClient { .get_mut() .set_read_timeout(Some(Duration::from_millis(50))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => return, - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { if let Ok(event) = serde_json::from_str::(line.trim()) { if event.get("type").and_then(Value::as_str) == Some("session_event") { self.events.push((event["event"].clone(), Instant::now())); } } + line.clear(); } Err(_) => {} } diff --git a/crates/pa-daemon/tests/compaction_mega_trace_e2e.rs b/crates/pa-daemon/tests/compaction_mega_trace_e2e.rs index ebddae682..aac9d2a37 100644 --- a/crates/pa-daemon/tests/compaction_mega_trace_e2e.rs +++ b/crates/pa-daemon/tests/compaction_mega_trace_e2e.rs @@ -313,10 +313,9 @@ impl TimedClient { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/compaction_outcome_e2e.rs b/crates/pa-daemon/tests/compaction_outcome_e2e.rs index 9f7ec1154..184e6fd88 100644 --- a/crates/pa-daemon/tests/compaction_outcome_e2e.rs +++ b/crates/pa-daemon/tests/compaction_outcome_e2e.rs @@ -313,10 +313,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -336,17 +335,18 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(50))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => return, - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { if let Ok(event) = serde_json::from_str::(line.trim()) { if event.get("type").and_then(Value::as_str) == Some("session_event") { self.events.push(event["event"].clone()); } } + line.clear(); } Err(_) => {} } diff --git a/crates/pa-daemon/tests/compaction_summary_stream_e2e.rs b/crates/pa-daemon/tests/compaction_summary_stream_e2e.rs index eb8a7d74c..ddbc71aa9 100644 --- a/crates/pa-daemon/tests/compaction_summary_stream_e2e.rs +++ b/crates/pa-daemon/tests/compaction_summary_stream_e2e.rs @@ -318,10 +318,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -341,17 +340,18 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(50))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => return, - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { if let Ok(event) = serde_json::from_str::(line.trim()) { if event.get("type").and_then(Value::as_str) == Some("session_event") { self.events.push(event["event"].clone()); } } + line.clear(); } Err(_) => {} } diff --git a/crates/pa-daemon/tests/create_reuse_e2e.rs b/crates/pa-daemon/tests/create_reuse_e2e.rs index c5b5a01e5..ef1420d3a 100644 --- a/crates/pa-daemon/tests/create_reuse_e2e.rs +++ b/crates/pa-daemon/tests/create_reuse_e2e.rs @@ -115,10 +115,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/daemon_boot_reap_e2e.rs b/crates/pa-daemon/tests/daemon_boot_reap_e2e.rs index 119c39d0a..9a17ab474 100644 --- a/crates/pa-daemon/tests/daemon_boot_reap_e2e.rs +++ b/crates/pa-daemon/tests/daemon_boot_reap_e2e.rs @@ -152,10 +152,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/direct_attach_e2e.rs b/crates/pa-daemon/tests/direct_attach_e2e.rs index 3c69f8390..5b4de9fb9 100644 --- a/crates/pa-daemon/tests/direct_attach_e2e.rs +++ b/crates/pa-daemon/tests/direct_attach_e2e.rs @@ -134,10 +134,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/fd_lifecycle_e2e.rs b/crates/pa-daemon/tests/fd_lifecycle_e2e.rs index b0f6ab9ff..cb940849a 100644 --- a/crates/pa-daemon/tests/fd_lifecycle_e2e.rs +++ b/crates/pa-daemon/tests/fd_lifecycle_e2e.rs @@ -173,10 +173,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/fork_isolation_e2e.rs b/crates/pa-daemon/tests/fork_isolation_e2e.rs index b8542c89f..74f08de6d 100644 --- a/crates/pa-daemon/tests/fork_isolation_e2e.rs +++ b/crates/pa-daemon/tests/fork_isolation_e2e.rs @@ -134,10 +134,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/goal_branch_reload_e2e.rs b/crates/pa-daemon/tests/goal_branch_reload_e2e.rs index 8354a0a36..68e233b5a 100644 --- a/crates/pa-daemon/tests/goal_branch_reload_e2e.rs +++ b/crates/pa-daemon/tests/goal_branch_reload_e2e.rs @@ -96,10 +96,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -148,9 +147,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_secs(30); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -161,6 +160,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/goal_recovery_e2e.rs b/crates/pa-daemon/tests/goal_recovery_e2e.rs index f517bbf4a..84e119f8b 100644 --- a/crates/pa-daemon/tests/goal_recovery_e2e.rs +++ b/crates/pa-daemon/tests/goal_recovery_e2e.rs @@ -128,10 +128,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -180,9 +179,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_secs(30); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -193,6 +192,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/hold_refusal_e2e.rs b/crates/pa-daemon/tests/hold_refusal_e2e.rs index a633b9bb4..a3b379f79 100644 --- a/crates/pa-daemon/tests/hold_refusal_e2e.rs +++ b/crates/pa-daemon/tests/hold_refusal_e2e.rs @@ -131,10 +131,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/import_compaction_e2e.rs b/crates/pa-daemon/tests/import_compaction_e2e.rs index 2b7718a37..0bf100831 100644 --- a/crates/pa-daemon/tests/import_compaction_e2e.rs +++ b/crates/pa-daemon/tests/import_compaction_e2e.rs @@ -134,10 +134,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/kernel_dispose_e2e.rs b/crates/pa-daemon/tests/kernel_dispose_e2e.rs index 6a453053b..4bd2bae41 100644 --- a/crates/pa-daemon/tests/kernel_dispose_e2e.rs +++ b/crates/pa-daemon/tests/kernel_dispose_e2e.rs @@ -228,10 +228,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/mcp_catalog_e2e.rs b/crates/pa-daemon/tests/mcp_catalog_e2e.rs index 73c9c6be7..f95461781 100644 --- a/crates/pa-daemon/tests/mcp_catalog_e2e.rs +++ b/crates/pa-daemon/tests/mcp_catalog_e2e.rs @@ -171,10 +171,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/mcp_product_path_e2e.rs b/crates/pa-daemon/tests/mcp_product_path_e2e.rs index c81667dbf..5eb98c4e2 100644 --- a/crates/pa-daemon/tests/mcp_product_path_e2e.rs +++ b/crates/pa-daemon/tests/mcp_product_path_e2e.rs @@ -169,10 +169,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/model_catalog_e2e.rs b/crates/pa-daemon/tests/model_catalog_e2e.rs index a3d1c4e65..379ed02ea 100644 --- a/crates/pa-daemon/tests/model_catalog_e2e.rs +++ b/crates/pa-daemon/tests/model_catalog_e2e.rs @@ -84,10 +84,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/peer_messaging_e2e.rs b/crates/pa-daemon/tests/peer_messaging_e2e.rs index 733841de2..4b090becd 100644 --- a/crates/pa-daemon/tests/peer_messaging_e2e.rs +++ b/crates/pa-daemon/tests/peer_messaging_e2e.rs @@ -152,10 +152,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/protocol_breadth_b10_b11.rs b/crates/pa-daemon/tests/protocol_breadth_b10_b11.rs index a0c7085f7..d4d8e8c1b 100644 --- a/crates/pa-daemon/tests/protocol_breadth_b10_b11.rs +++ b/crates/pa-daemon/tests/protocol_breadth_b10_b11.rs @@ -139,10 +139,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/protocol_breadth_b6_b9.rs b/crates/pa-daemon/tests/protocol_breadth_b6_b9.rs index 8d0ab8178..d1fc413bd 100644 --- a/crates/pa-daemon/tests/protocol_breadth_b6_b9.rs +++ b/crates/pa-daemon/tests/protocol_breadth_b6_b9.rs @@ -114,10 +114,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/provider_failover_e2e.rs b/crates/pa-daemon/tests/provider_failover_e2e.rs index 65fcd4b8d..71b166225 100644 --- a/crates/pa-daemon/tests/provider_failover_e2e.rs +++ b/crates/pa-daemon/tests/provider_failover_e2e.rs @@ -202,10 +202,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -254,9 +253,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_secs(30); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -267,6 +266,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/provider_failure_e2e.rs b/crates/pa-daemon/tests/provider_failure_e2e.rs index 85286f8f5..1dadef9fd 100644 --- a/crates/pa-daemon/tests/provider_failure_e2e.rs +++ b/crates/pa-daemon/tests/provider_failure_e2e.rs @@ -281,10 +281,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -337,9 +336,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_secs(30); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -350,6 +349,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/queue_delivery_e2e.rs b/crates/pa-daemon/tests/queue_delivery_e2e.rs index 91abd5b8c..72b9091d8 100644 --- a/crates/pa-daemon/tests/queue_delivery_e2e.rs +++ b/crates/pa-daemon/tests/queue_delivery_e2e.rs @@ -363,11 +363,11 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -414,9 +414,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_mins(1); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -427,6 +427,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/readoption_wake_e2e.rs b/crates/pa-daemon/tests/readoption_wake_e2e.rs index fa8fce535..ecdfcdfef 100644 --- a/crates/pa-daemon/tests/readoption_wake_e2e.rs +++ b/crates/pa-daemon/tests/readoption_wake_e2e.rs @@ -264,10 +264,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/recovery_control_plane_e2e.rs b/crates/pa-daemon/tests/recovery_control_plane_e2e.rs index a1f942823..ceed54420 100644 --- a/crates/pa-daemon/tests/recovery_control_plane_e2e.rs +++ b/crates/pa-daemon/tests/recovery_control_plane_e2e.rs @@ -209,10 +209,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/registration_refusal_heal_e2e.rs b/crates/pa-daemon/tests/registration_refusal_heal_e2e.rs index 1360f4cfa..5b0db25ff 100644 --- a/crates/pa-daemon/tests/registration_refusal_heal_e2e.rs +++ b/crates/pa-daemon/tests/registration_refusal_heal_e2e.rs @@ -118,13 +118,12 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), Ok(_) if !line.trim().is_empty() => { return serde_json::from_str(line.trim()).expect("parse response line"); } - Ok(_) => {} + Ok(_) => line.clear(), Err(error) => { assert!( Instant::now() < deadline, diff --git a/crates/pa-daemon/tests/replacement_kernel_e2e.rs b/crates/pa-daemon/tests/replacement_kernel_e2e.rs index 76230e208..0f2c2ca8b 100644 --- a/crates/pa-daemon/tests/replacement_kernel_e2e.rs +++ b/crates/pa-daemon/tests/replacement_kernel_e2e.rs @@ -256,10 +256,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/rlm_children_e2e.rs b/crates/pa-daemon/tests/rlm_children_e2e.rs index f53ef3df5..14de1c9db 100644 --- a/crates/pa-daemon/tests/rlm_children_e2e.rs +++ b/crates/pa-daemon/tests/rlm_children_e2e.rs @@ -151,10 +151,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/rlm_children_parent_death_e2e.rs b/crates/pa-daemon/tests/rlm_children_parent_death_e2e.rs index aad4d8c3c..3b1b4eec6 100644 --- a/crates/pa-daemon/tests/rlm_children_parent_death_e2e.rs +++ b/crates/pa-daemon/tests/rlm_children_parent_death_e2e.rs @@ -189,10 +189,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/rlm_children_replacement_e2e.rs b/crates/pa-daemon/tests/rlm_children_replacement_e2e.rs index c39cb33a3..a38edb2d8 100644 --- a/crates/pa-daemon/tests/rlm_children_replacement_e2e.rs +++ b/crates/pa-daemon/tests/rlm_children_replacement_e2e.rs @@ -191,10 +191,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/rlm_quiescence_barrier_e2e.rs b/crates/pa-daemon/tests/rlm_quiescence_barrier_e2e.rs index 6e32d3a47..60a49bbdd 100644 --- a/crates/pa-daemon/tests/rlm_quiescence_barrier_e2e.rs +++ b/crates/pa-daemon/tests/rlm_quiescence_barrier_e2e.rs @@ -166,10 +166,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/rlm_roster_walk_e2e.rs b/crates/pa-daemon/tests/rlm_roster_walk_e2e.rs index c6af45d84..b662495dc 100644 --- a/crates/pa-daemon/tests/rlm_roster_walk_e2e.rs +++ b/crates/pa-daemon/tests/rlm_roster_walk_e2e.rs @@ -153,12 +153,12 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) .expect("set read timeout"); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "no supervisor line arrived"); - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), // Would-block (EAGAIN): keep polling until the deadline. Err(_) if Instant::now() < deadline => {} diff --git a/crates/pa-daemon/tests/rlm_spawn_replacement_e2e.rs b/crates/pa-daemon/tests/rlm_spawn_replacement_e2e.rs index ee40a9ba1..f791a036b 100644 --- a/crates/pa-daemon/tests/rlm_spawn_replacement_e2e.rs +++ b/crates/pa-daemon/tests/rlm_spawn_replacement_e2e.rs @@ -172,10 +172,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse response line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/saved_catalog_stream_e2e.rs b/crates/pa-daemon/tests/saved_catalog_stream_e2e.rs index e6050246b..8ed4d88aa 100644 --- a/crates/pa-daemon/tests/saved_catalog_stream_e2e.rs +++ b/crates/pa-daemon/tests/saved_catalog_stream_e2e.rs @@ -120,10 +120,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/saved_session_wake_e2e.rs b/crates/pa-daemon/tests/saved_session_wake_e2e.rs index a9c89852a..9bb9b3a2e 100644 --- a/crates/pa-daemon/tests/saved_session_wake_e2e.rs +++ b/crates/pa-daemon/tests/saved_session_wake_e2e.rs @@ -206,10 +206,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/session_archive_e2e.rs b/crates/pa-daemon/tests/session_archive_e2e.rs index 5741b7a42..1a13e8e72 100644 --- a/crates/pa-daemon/tests/session_archive_e2e.rs +++ b/crates/pa-daemon/tests/session_archive_e2e.rs @@ -199,10 +199,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/session_rebind_e2e.rs b/crates/pa-daemon/tests/session_rebind_e2e.rs index f8eb98771..396fb0bd2 100644 --- a/crates/pa-daemon/tests/session_rebind_e2e.rs +++ b/crates/pa-daemon/tests/session_rebind_e2e.rs @@ -132,10 +132,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); } diff --git a/crates/pa-daemon/tests/session_stop_lifecycle_e2e.rs b/crates/pa-daemon/tests/session_stop_lifecycle_e2e.rs index 742a5da2d..f51e399ac 100644 --- a/crates/pa-daemon/tests/session_stop_lifecycle_e2e.rs +++ b/crates/pa-daemon/tests/session_stop_lifecycle_e2e.rs @@ -127,10 +127,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/stale_lease_release_e2e.rs b/crates/pa-daemon/tests/stale_lease_release_e2e.rs index 3c03e3fa8..e71d26698 100644 --- a/crates/pa-daemon/tests/stale_lease_release_e2e.rs +++ b/crates/pa-daemon/tests/stale_lease_release_e2e.rs @@ -206,10 +206,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/startup_no_auto_resume_e2e.rs b/crates/pa-daemon/tests/startup_no_auto_resume_e2e.rs index 8a57c1d36..86446c4b2 100644 --- a/crates/pa-daemon/tests/startup_no_auto_resume_e2e.rs +++ b/crates/pa-daemon/tests/startup_no_auto_resume_e2e.rs @@ -210,10 +210,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/steer_boundary_batch_e2e.rs b/crates/pa-daemon/tests/steer_boundary_batch_e2e.rs index 29a5379ab..5c1cb40ee 100644 --- a/crates/pa-daemon/tests/steer_boundary_batch_e2e.rs +++ b/crates/pa-daemon/tests/steer_boundary_batch_e2e.rs @@ -177,11 +177,11 @@ impl Client { .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); + let mut line = String::new(); loop { - let mut line = String::new(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -228,9 +228,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_mins(1); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -241,6 +241,7 @@ impl Client { let value: Value = serde_json::from_str(line.trim()).expect("parse line"); self.collect_event(&value); last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/stop_escalation_e2e.rs b/crates/pa-daemon/tests/stop_escalation_e2e.rs index 80099124b..9df67dd4f 100644 --- a/crates/pa-daemon/tests/stop_escalation_e2e.rs +++ b/crates/pa-daemon/tests/stop_escalation_e2e.rs @@ -128,10 +128,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/supervisor_restart_e2e/main.rs b/crates/pa-daemon/tests/supervisor_restart_e2e/main.rs index 82635d9f3..a2d4de0bf 100644 --- a/crates/pa-daemon/tests/supervisor_restart_e2e/main.rs +++ b/crates/pa-daemon/tests/supervisor_restart_e2e/main.rs @@ -183,10 +183,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( diff --git a/crates/pa-daemon/tests/thinking_level_e2e.rs b/crates/pa-daemon/tests/thinking_level_e2e.rs index 303a8eff8..8bdbc9a15 100644 --- a/crates/pa-daemon/tests/thinking_level_e2e.rs +++ b/crates/pa-daemon/tests/thinking_level_e2e.rs @@ -209,10 +209,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!( @@ -255,9 +254,9 @@ impl Client { fn drain_events(&mut self, quiet_ms: Duration) { let deadline = Instant::now() + Duration::from_secs(30); let mut last_line = Instant::now(); + let mut line = String::new(); loop { assert!(Instant::now() < deadline, "event drain timed out"); - let mut line = String::new(); self.reader .get_mut() .set_read_timeout(Some(Duration::from_millis(100))) @@ -270,6 +269,7 @@ impl Client { self.events.push(value["event"].clone()); } last_line = Instant::now(); + line.clear(); } Err(_) => { if last_line.elapsed() >= quiet_ms { diff --git a/crates/pa-daemon/tests/thinking_level_roster_e2e.rs b/crates/pa-daemon/tests/thinking_level_roster_e2e.rs index 1de4eaeab..d95ac4421 100644 --- a/crates/pa-daemon/tests/thinking_level_roster_e2e.rs +++ b/crates/pa-daemon/tests/thinking_level_roster_e2e.rs @@ -122,10 +122,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => return serde_json::from_str(line.trim()).expect("parse line"), Err(error) => { assert!(Instant::now() < deadline, "timed out reading: {error}"); diff --git a/crates/pa-daemon/tests/worker_stderr_e2e.rs b/crates/pa-daemon/tests/worker_stderr_e2e.rs index f39a9d3c1..019ff6abf 100644 --- a/crates/pa-daemon/tests/worker_stderr_e2e.rs +++ b/crates/pa-daemon/tests/worker_stderr_e2e.rs @@ -120,10 +120,9 @@ impl Client { .set_read_timeout(Some(Duration::from_millis(100))) .expect("set timeout"); loop { - line.clear(); match self.reader.read_line(&mut line) { Ok(0) => panic!("supervisor closed the connection"), - Ok(_) if line.trim().is_empty() => {} + Ok(_) if line.trim().is_empty() => line.clear(), Ok(_) => { return serde_json::from_str(line.trim()).expect("parse response line"); }