use assert_cmd::prelude::*; use assert_fs::prelude::*; use std::process::Command; #[test] fn basic_usage() -> anyhow::Result<()> { let mut cmd = Command::cargo_bin("nnnoiseless")?; let tmp = assert_fs::TempDir::new()?; let input = tmp.child("input.raw"); let output = tmp.child("output.raw"); input.write_binary(&vec![0u8; 480 * 10])?; cmd.arg(input.path()).arg(output.path()); cmd.assert().success(); assert!(output.exists()); Ok(()) } #[test] fn invalid_wav() -> anyhow::Result<()> { let mut cmd = Command::cargo_bin("nnnoiseless")?; let tmp = assert_fs::TempDir::new()?; let input = tmp.child("input.wav"); let output = tmp.child("output.wav"); input.write_binary(&vec![0u8; 480 * 10])?; cmd.arg(input.path()).arg(output.path()); cmd.assert() .failure() .stderr(predicates::str::contains("no RIFF tag found")); let input = tmp.child("input.raw"); input.write_binary(&vec![0u8; 480 * 10])?; let mut cmd = Command::cargo_bin("nnnoiseless")?; cmd.arg("--wav-in").arg(input.path()).arg(output.path()); cmd.assert() .failure() .stderr(predicates::str::contains("no RIFF tag found")); Ok(()) }