mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-26 00:00:16 +02:00
test: implement Drop for Mock to panic w/ unconsumed data (#2704)
This commit is contained in:
@@ -458,6 +458,21 @@ impl AsyncWrite for Mock {
|
||||
}
|
||||
}
|
||||
|
||||
/// Ensures that Mock isn't dropped with data "inside".
|
||||
impl Drop for Mock {
|
||||
fn drop(&mut self) {
|
||||
// Avoid double panicking, since makes debugging much harder.
|
||||
if std::thread::panicking() {
|
||||
return;
|
||||
}
|
||||
|
||||
self.inner.actions.iter().for_each(|a| match a {
|
||||
Action::Read(data) => assert!(data.is_empty(), "There is still data left to read."),
|
||||
Action::Write(data) => assert!(data.is_empty(), "There is still data left to write."),
|
||||
_ => (),
|
||||
})
|
||||
}
|
||||
}
|
||||
/*
|
||||
/// Returns `true` if called from the context of a futures-rs Task
|
||||
fn is_task_ctx() -> bool {
|
||||
|
||||
Reference in New Issue
Block a user