From 247d3a720d5fa727db86d0b34c02e9139664dc4e Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Fri, 24 Feb 2023 11:03:52 +0200 Subject: Anyhow to simplify tests --- Cargo.lock | 7 +++++++ Cargo.toml | 1 + tests/cli.rs | 14 +++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5c31bd8..e609fb7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,6 +11,12 @@ dependencies = [ "memchr", ] +[[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" @@ -262,6 +268,7 @@ checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" name = "shackle" version = "0.1.0" dependencies = [ + "anyhow", "assert_cmd", "rexpect", ] diff --git a/Cargo.toml b/Cargo.toml index 72f75f4..48e50e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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> { +fn spawn_interactive_process() -> Result { 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> { +fn expect_prompt(p: &mut PtySession) -> Result<()> { p.exp_string("> ")?; Ok(()) } #[test] -fn shows_a_prompt() -> Result<(), Box> { +fn shows_a_prompt() -> Result<()> { spawn_interactive_process()?; Ok(()) } #[test] -fn does_nothing_after_receiving_whitespace_input() -> Result<(), Box> { +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> } #[test] -fn quits_when_eof_is_sent() -> Result<(), Box> { +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> { } #[test] -fn quits_when_exit_command_is_sent() -> Result<(), Box> { +fn quits_when_exit_command_is_sent() -> Result<()> { let mut p = spawn_interactive_process()?; p.send_line("exit")?; p.exp_eof()?; -- cgit v1.2.3