#![cfg(feature = "ffmpeg-cli-tests")]
use assert_cmd::prelude::*;
use std::process::Command;
#[test]
fn probe_hw_json_smoke() -> Result<(), Box<dyn std::error::Error>> {
let mut cmd = Command::new(assert_cmd::cargo::cargo_bin!("direct_play_nice"));
cmd.arg("--probe-hw").arg("--probe-json");
let output = cmd.assert().success().get_output().stdout.clone();
let v: serde_json::Value = serde_json::from_slice(&output)?;
assert!(v.get("ffmpeg").is_some(), "missing ffmpeg section");
assert!(v.get("devices").is_some(), "missing devices section");
assert!(
v.get("hw_encoders").is_some(),
"missing hw_encoders section"
);
Ok(())
}
#[test]
fn probe_codecs_hw_json_smoke() -> Result<(), Box<dyn std::error::Error>> {
let mut cmd = Command::new(assert_cmd::cargo::cargo_bin!("direct_play_nice"));
cmd.args([
"--probe-hw",
"--probe-codecs",
"--only-video",
"--only-hw",
"--probe-json",
]);
let output = cmd.assert().success().get_output().stdout.clone();
let v: serde_json::Value = serde_json::from_slice(&output)?;
assert!(v.get("encoders").is_some(), "missing encoders array");
assert!(v.get("decoders").is_some(), "missing decoders array");
Ok(())
}