mirror of
https://github.com/fafhrd91/actix-web
synced 2024-11-30 18:44:35 +01:00
add test crashing with segfault according to #1321
This commit is contained in:
parent
48ef4d7a26
commit
a4148de226
@ -612,6 +612,8 @@ mod tests {
|
|||||||
|
|
||||||
mod body_stream {
|
mod body_stream {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use futures::task::noop_waker;
|
||||||
|
use futures::stream::once;
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn skips_empty_chunks() {
|
async fn skips_empty_chunks() {
|
||||||
@ -629,6 +631,25 @@ mod tests {
|
|||||||
Some(Bytes::from("2")),
|
Some(Bytes::from("2")),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[actix_rt::test]
|
||||||
|
async fn move_pinned_pointer() {
|
||||||
|
let (sender, receiver) = futures::channel::oneshot::channel();
|
||||||
|
let mut body_stream = Ok(BodyStream::new(once(async {
|
||||||
|
let x = Box::new(0i32);
|
||||||
|
let y = &x;
|
||||||
|
receiver.await.unwrap();
|
||||||
|
let _z = **y;
|
||||||
|
Ok::<_, ()>(Bytes::new())
|
||||||
|
})));
|
||||||
|
|
||||||
|
let waker = noop_waker();
|
||||||
|
let mut context = Context::from_waker(&waker);
|
||||||
|
|
||||||
|
let _ = body_stream.as_mut().unwrap().poll_next(&mut context);
|
||||||
|
sender.send(()).unwrap();
|
||||||
|
let _ = std::mem::replace(&mut body_stream, Err([0; 32])).unwrap().poll_next(&mut context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mod sized_stream {
|
mod sized_stream {
|
||||||
|
Loading…
Reference in New Issue
Block a user