summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock7
-rw-r--r--Cargo.toml1
-rw-r--r--tests/cli.rs14
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
@@ -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",
]
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<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()?;