use std::path::PathBuf;
use std::process::Command;
fn repo_root() -> PathBuf {
PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("../..")
.canonicalize()
.expect("resolve repo root")
}
#[test]
fn gitignore_covers_devflow_runtime_state_paths() {
let output = Command::new("git")
.current_dir(repo_root())
.args([
"check-ignore",
"-v",
".devflow/state.json",
".devflow/events.jsonl",
".devflow/gates/probe.json",
])
.output()
.expect("run git check-ignore");
assert!(
output.status.success(),
".gitignore does not cover all required DevFlow runtime-state paths \
(.devflow/state.json, .devflow/events.jsonl, .devflow/gates/) — \
see 15-REVIEW.md CR-01.\nstdout:\n{}\nstderr:\n{}",
String::from_utf8_lossy(&output.stdout),
String::from_utf8_lossy(&output.stderr)
);
}