Expand description
Programmatically test TCP programs using real TCP streams.
§Example
Everything can be done using the channel()
function:
use tcp_test::{channel, read_assert};
use std::io::{Read, Write};
#[test]
fn first_test() {
let sent = b"Hello, reader";
let (mut reader, mut writer) = channel();
writer.write_all(sent).unwrap();
let mut read = Vec::new();
reader.read_to_end(&mut read).unwrap();
assert_eq!(read, sent);
}
#[test]
fn second_test() {
let sent = b"Interesting story";
let (mut reader, mut writer) = channel();
writer.write_all(sent).unwrap();
read_assert!(reader, sent.len(), sent);
}
#[test]
fn third_test() {
let sent = b"...";
let (mut reader, mut writer) = channel();
writer.write_all(sent).unwrap();
read_assert!(reader, sent.len(), sent);
}
Macros§
- read_
assert - Convenience macro for reading and comparing a specific amount of bytes.
Functions§
- channel
- Returns two TCP streams pointing at each other.
- channel_
on - Returns two TCP streams pointing at each other.