test: red executable-spec for #266 — aura --version carries the engine commit
aura --version must print 'aura 0.1.0 (<commit>)', the commit sourced from the same AURA_COMMIT build provenance the run manifest stamps — a pre-run freshness probe distinguishing a stale binary from an engine bug. Fails on the absent parenthesized commit, not on scaffolding. refs #266
This commit is contained in:
@@ -4866,6 +4866,42 @@ fn version_flag_prints_version_to_stdout_and_exits_zero() {
|
||||
}
|
||||
}
|
||||
|
||||
/// `--version` carries the ENGINE COMMIT beside the semver, drawn from the SAME
|
||||
/// `AURA_COMMIT` build-time provenance the run manifest stamps (the
|
||||
/// `option_env!("AURA_COMMIT")` that fills `RunManifest.commit`), so a stale
|
||||
/// binary is distinguishable at the CLI surface *before* any run (#266). Shape:
|
||||
/// `aura 0.1.0 (<commit-ish>)`, exit 0.
|
||||
///
|
||||
/// Property, not a specific sha: the expected commit is read from the same
|
||||
/// provenance source the built binary was compiled with — this integration test
|
||||
/// receives aura-cli's build-script `rustc-env`, so it sees the identical value
|
||||
/// (dirty/`unknown` suffixes included) rather than today's HEAD, keeping the
|
||||
/// assertion honest against a lagging or unclean tree. The load-bearing claim is
|
||||
/// that the parenthesized commit rides beside the still-present semver.
|
||||
#[test]
|
||||
fn version_flag_carries_the_engine_commit_from_manifest_provenance() {
|
||||
// The single source of truth — the same env the manifest's commit is sourced
|
||||
// from; falls back to "unknown" identically to `sim_optimal_manifest`.
|
||||
let commit = option_env!("AURA_COMMIT").unwrap_or("unknown");
|
||||
let out = std::process::Command::new(env!("CARGO_BIN_EXE_aura"))
|
||||
.arg("--version")
|
||||
.output()
|
||||
.expect("spawn aura");
|
||||
assert_eq!(out.status.code(), Some(0), "--version exit {:?}", out.status);
|
||||
let stdout = String::from_utf8_lossy(&out.stdout);
|
||||
// Semver stays present (one source of truth, CARGO_PKG_VERSION).
|
||||
assert!(
|
||||
stdout.contains(env!("CARGO_PKG_VERSION")),
|
||||
"--version still prints the semver: {stdout:?}"
|
||||
);
|
||||
// ...and the engine commit rides beside it, parenthesized, from the shared
|
||||
// manifest provenance — the load-bearing assertion #266 adds.
|
||||
assert!(
|
||||
stdout.contains(&format!("({commit})")),
|
||||
"--version prints the engine commit ({commit}) beside the semver: {stdout:?}"
|
||||
);
|
||||
}
|
||||
|
||||
/// Subcommand help is SCOPED: `aura sweep --help` names sweep's own flags and is
|
||||
/// NOT byte-identical to `aura run --help` — each subcommand documents its own
|
||||
/// options rather than reprinting one shared global blob (the #131 uniform-help
|
||||
|
||||
Reference in New Issue
Block a user