Skip to content

Commit c413e71

Browse files
authored
Merge pull request #429 from markhildreth/tcp_smoke_tests
Added TCP smoke tests against std Listener and Stream
2 parents 911ebad + c6c2bfa commit c413e71

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

tests/tcp.rs

+45
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,48 @@ fn incoming_read() -> io::Result<()> {
4949
Ok(())
5050
})
5151
}
52+
53+
#[test]
54+
fn smoke_std_stream_to_async_listener() -> io::Result<()> {
55+
use std::io::Write;
56+
57+
task::block_on(async {
58+
let listener = TcpListener::bind("127.0.0.1:0").await?;
59+
let addr = listener.local_addr()?;
60+
61+
let mut std_stream = std::net::TcpStream::connect(&addr)?;
62+
std_stream.write_all(THE_WINTERS_TALE)?;
63+
64+
let mut buf = vec![0; 1024];
65+
let mut incoming = listener.incoming();
66+
let mut stream = incoming.next().await.unwrap()?;
67+
68+
let n = stream.read(&mut buf).await?;
69+
assert_eq!(&buf[..n], THE_WINTERS_TALE);
70+
71+
Ok(())
72+
})
73+
}
74+
75+
#[test]
76+
fn smoke_async_stream_to_std_listener() -> io::Result<()> {
77+
use std::io::Read;
78+
79+
let std_listener = std::net::TcpListener::bind("127.0.0.1:0")?;
80+
let addr = std_listener.local_addr()?;
81+
82+
task::block_on(async move {
83+
let mut stream = TcpStream::connect(&addr).await?;
84+
stream.write_all(THE_WINTERS_TALE).await?;
85+
io::Result::Ok(())
86+
})?;
87+
88+
let mut buf = vec![0; 1024];
89+
let mut incoming = std_listener.incoming();
90+
let mut stream = incoming.next().unwrap()?;
91+
92+
let n = stream.read(&mut buf).unwrap();
93+
assert_eq!(&buf[..n], THE_WINTERS_TALE);
94+
95+
Ok(())
96+
}

0 commit comments

Comments
 (0)