Skip to content

Commit 1128b80

Browse files
committed
Use openpty for tests
1 parent afc8be6 commit 1128b80

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ sysfs_gpio = "0.5.1"
1616
serial = "0.4.0"
1717
nb = "0.1.1"
1818

19+
[dev-dependencies]
20+
openpty = "0.1.0"
21+
1922
[dependencies.cast]
2023
# we don't need the `Error` implementation
2124
default-features = false

src/serial_impl.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,21 @@ impl Write<u8> for Serial {
4646

4747
#[cfg(test)]
4848
mod test {
49+
use std::path::Path;
50+
51+
use hal::serial::Read;
52+
use std::io::Write;
53+
4954
use super::*;
5055

5156
#[test]
5257
fn test_empty() {
53-
let mut port: Box<Read<u8, Error = serial::Error>> =
54-
Box::new(Serial(serial::open("/dev/tty1").unwrap()));
55-
56-
port.read().unwrap();
58+
let (mut master, _slave, name) =
59+
openpty::openpty(None, None, None).expect("Creating pty failed");
60+
println!("{:?}", name);
61+
let port = serial::open(Path::new(&name)).unwrap();
62+
let mut serial = Serial(port);
63+
master.write(&[1]).unwrap();
64+
serial.read().unwrap();
5765
}
5866
}

0 commit comments

Comments
 (0)