use assert_cmd::Command;
use predicates::prelude::*;
fn bin() -> Command {
Command::cargo_bin("seehandshake").expect("bin exists")
}
#[test]
fn help_prints_usage() {
bin()
.arg("--help")
.assert()
.success()
.stdout(predicate::str::contains("Usage:"))
.stdout(predicate::str::contains("--interface"))
.stdout(predicate::str::contains("--bpf"));
}
#[test]
fn version_prints_semver() {
bin()
.arg("--version")
.assert()
.success()
.stdout(predicate::str::is_match(r"\d+\.\d+\.\d+").unwrap());
}
#[test]
fn unknown_flag_errors() {
bin()
.arg("--this-flag-does-not-exist")
.assert()
.failure()
.stderr(predicate::str::contains("error:"));
}