diff options
-rw-r--r-- | Cargo.lock | 7 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | tests/cli.rs | 14 |
3 files changed, 15 insertions, 7 deletions
@@ -12,6 +12,12 @@ dependencies = [ ] [[package]] +name = "anyhow" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" + +[[package]] name = "assert_cmd" version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -262,6 +268,7 @@ checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" name = "shackle" version = "0.1.0" dependencies = [ + "anyhow", "assert_cmd", "rexpect", ] @@ -9,4 +9,5 @@ edition = "2021" rexpect = "0.5.0" [dev-dependencies] +anyhow = "1.0.69" assert_cmd = "2.0.8" diff --git a/tests/cli.rs b/tests/cli.rs index ccf837b..8197a92 100644 --- a/tests/cli.rs +++ b/tests/cli.rs @@ -1,27 +1,27 @@ +use anyhow::Result; use assert_cmd::cargo::cargo_bin; use rexpect::{session::PtySession, spawn}; -use std::error::Error; -fn spawn_interactive_process() -> Result<PtySession, Box<dyn Error>> { +fn spawn_interactive_process() -> Result<PtySession> { let path = cargo_bin(env!("CARGO_PKG_NAME")); let mut process = spawn(&path.display().to_string(), Some(3000))?; expect_prompt(&mut process)?; Ok(process) } -fn expect_prompt(p: &mut PtySession) -> Result<(), Box<dyn Error>> { +fn expect_prompt(p: &mut PtySession) -> Result<()> { p.exp_string("> ")?; Ok(()) } #[test] -fn shows_a_prompt() -> Result<(), Box<dyn Error>> { +fn shows_a_prompt() -> Result<()> { spawn_interactive_process()?; Ok(()) } #[test] -fn does_nothing_after_receiving_whitespace_input() -> Result<(), Box<dyn Error>> { +fn does_nothing_after_receiving_whitespace_input() -> Result<()> { let mut p = spawn_interactive_process()?; p.send_line("")?; expect_prompt(&mut p)?; @@ -31,7 +31,7 @@ fn does_nothing_after_receiving_whitespace_input() -> Result<(), Box<dyn Error>> } #[test] -fn quits_when_eof_is_sent() -> Result<(), Box<dyn Error>> { +fn quits_when_eof_is_sent() -> Result<()> { let mut p = spawn_interactive_process()?; p.send_control('d')?; p.exp_eof()?; @@ -39,7 +39,7 @@ fn quits_when_eof_is_sent() -> Result<(), Box<dyn Error>> { } #[test] -fn quits_when_exit_command_is_sent() -> Result<(), Box<dyn Error>> { +fn quits_when_exit_command_is_sent() -> Result<()> { let mut p = spawn_interactive_process()?; p.send_line("exit")?; p.exp_eof()?; |