diff --git a/src/main.rs b/src/main.rs index bec0a2d..336e157 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,7 @@ fn main() { let exit_code = match n2::run::run() { Ok(code) => code, Err(err) => { - println!("n2: error: {}", err); + eprintln!("n2: error: {}", err); 1 } }; diff --git a/tests/e2e/bindings.rs b/tests/e2e/bindings.rs index 31c654a..43d337f 100644 --- a/tests/e2e/bindings.rs +++ b/tests/e2e/bindings.rs @@ -42,7 +42,7 @@ build out: my_rule )?; let out = space.run(&mut n2_command(vec!["out"]))?; - assert_output_contains(&out, "unexpected variable \"my_var\""); + assert_stderr_contains(&out, "unexpected variable \"my_var\""); Ok(()) } diff --git a/tests/e2e/missing.rs b/tests/e2e/missing.rs index 8e56f55..6c8f1f1 100644 --- a/tests/e2e/missing.rs +++ b/tests/e2e/missing.rs @@ -11,7 +11,7 @@ fn missing_input() -> anyhow::Result<()> { )?; let out = space.run(&mut n2_command(vec!["out"]))?; - assert_output_contains(&out, "input in missing"); + assert_stderr_contains(&out, "input in missing"); Ok(()) } diff --git a/tests/e2e/mod.rs b/tests/e2e/mod.rs index 7457577..07a1c76 100644 --- a/tests/e2e/mod.rs +++ b/tests/e2e/mod.rs @@ -43,6 +43,16 @@ pub fn assert_output_contains(out: &std::process::Output, text: &str) { } } +pub fn assert_stderr_contains(out: &std::process::Output, text: &str) { + let out = std::str::from_utf8(&out.stderr).unwrap(); + if !out.contains(text) { + panic!( + "assertion failed; expected stderr to contain {:?} but got:\n{}", + text, out + ); + } +} + pub fn assert_output_not_contains(out: &std::process::Output, text: &str) { let out = std::str::from_utf8(&out.stdout).unwrap(); if out.contains(text) {