tangle


git clone https://radroots.dev/git/tangle.git
Log | Files | Refs | README | LICENSE

commit e646fd7e94b824476ece4211611853f703065d08
parent 608451d52b38bd29df36fd741ed739e9dcda09bd
Author: triesap <tyson@radroots.org>
Date:   Fri,  5 Jun 2026 19:47:28 -0700

tooling: require full coverage validation

Diffstat:
A.config/nextest.toml | 6++++++
Mcrates/tangle/tests/version.rs | 26++++++++++++++++++++++++++
Mscripts/coverage.sh | 2+-
3 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/.config/nextest.toml b/.config/nextest.toml @@ -0,0 +1,6 @@ +[profile.default] +fail-fast = false +failure-output = "immediate" +final-status-level = "slow" +retries = 0 +status-level = "fail" diff --git a/crates/tangle/tests/version.rs b/crates/tangle/tests/version.rs @@ -13,3 +13,29 @@ fn tangle_version_command_reports_package_version() { assert_eq!(String::from_utf8_lossy(&output.stdout), "tangle 0.1.0\n"); assert!(output.stderr.is_empty()); } + +#[test] +fn tangle_without_args_exits_successfully() { + let output = Command::new(env!("CARGO_BIN_EXE_tangle")) + .output() + .expect("run tangle without args"); + + assert!(output.status.success()); + assert!(output.stdout.is_empty()); + assert!(output.stderr.is_empty()); +} + +#[test] +fn tangle_unknown_arg_reports_usage_error() { + let output = Command::new(env!("CARGO_BIN_EXE_tangle")) + .arg("--unknown") + .output() + .expect("run tangle unknown arg"); + + assert_eq!(output.status.code(), Some(2)); + assert!(output.stdout.is_empty()); + assert_eq!( + String::from_utf8_lossy(&output.stderr), + "usage: tangle [--version]\n" + ); +} diff --git a/scripts/coverage.sh b/scripts/coverage.sh @@ -7,4 +7,4 @@ if ! cargo llvm-cov --version >/dev/null 2>&1; then fi cargo llvm-cov clean --workspace -cargo llvm-cov --workspace --all-targets +cargo llvm-cov --workspace --all-targets --fail-under-lines 100