aboutsummaryrefslogtreecommitdiff
path: root/tests/support
diff options
context:
space:
mode:
Diffstat (limited to 'tests/support')
-rw-r--r--tests/support/mod.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/support/mod.rs b/tests/support/mod.rs
index f4ccebe8..cc29afe9 100644
--- a/tests/support/mod.rs
+++ b/tests/support/mod.rs
@@ -444,9 +444,13 @@ pub fn wait_for_message_variants(
timeout: Duration,
variants: &[u32],
) -> Result<bool, String> {
- stream
- .set_read_timeout(Some(Duration::from_millis(200)))
- .map_err(|e| e.to_string())?;
+ let read_timeout = Some(Duration::from_millis(200));
+ // Darwin can reject resetting the timeout after peer closure with queued data.
+ if stream.read_timeout().map_err(|e| e.to_string())? != read_timeout {
+ stream
+ .set_read_timeout(read_timeout)
+ .map_err(|e| e.to_string())?;
+ }
let deadline = Instant::now() + timeout;
while Instant::now() < deadline {
match read_server_message(stream) {