oximedia-cli 0.1.7

Command-line interface for OxiMedia
Documentation
//! Smoke test for `--ndjson` flag on the `probe` subcommand.

#[test]
fn probe_ndjson_emits_valid_json_lines() {
    // /dev/null exists on Unix and is a valid (empty) file.
    // probe may succeed or fail; either way, if it prints anything it
    // must be a valid NDJSON line.
    let output = std::process::Command::new(assert_cmd::cargo::cargo_bin("oximedia"))
        .args(["probe", "--ndjson", "-i", "/dev/null"])
        .output()
        .expect("spawn oximedia");

    if output.status.success() {
        let stdout = String::from_utf8_lossy(&output.stdout);
        for line in stdout.trim().lines() {
            if !line.is_empty() {
                let _: serde_json::Value =
                    serde_json::from_str(line).expect("each stdout line must be valid JSON");
            }
        }
    }
    // Non-zero exit (e.g. probe error on /dev/null) is also acceptable.
}