use std::process::Command;
fn ours() -> Command {
Command::new(env!("CARGO_BIN_EXE_rsomics-vcf-validate"))
}
#[test]
fn accepts_valid_rejects_invalid() {
let dir = std::env::temp_dir().join("rsomics-vcf-validate-compat");
std::fs::create_dir_all(&dir).unwrap();
let ok = dir.join("ok.vcf");
std::fs::write(
&ok,
"##fileformat=VCFv4.2\n#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\nchr1\t1\t.\tA\tG\t.\t.\t.\n",
)
.unwrap();
let bad = dir.join("bad.vcf");
std::fs::write(&bad, "garbage\nnot a vcf at all\n").unwrap();
assert!(
ours().arg(&ok).status().unwrap().success(),
"valid VCF must pass"
);
assert!(
!ours().arg(&bad).status().unwrap().success(),
"malformed VCF must fail"
);
}