#![allow(clippy::unwrap_used, clippy::doc_markdown)]
#[test]
fn driver_framework_evtx_yields_connect_and_disconnect_witnesses() {
let Ok(path) = std::env::var("USB_TEST_DRIVERFRAMEWORK_EVTX") else {
eprintln!(
"SKIP: set USB_TEST_DRIVERFRAMEWORK_EVTX to a real \
DriverFrameworks-UserMode/Operational .evtx with USB events"
);
return;
};
let out = std::process::Command::new(env!("CARGO_BIN_EXE_usb4n6"))
.arg(&path)
.output()
.expect("run usb4n6");
let stdout = String::from_utf8_lossy(&out.stdout);
assert!(
stdout.contains("\"source\":\"DriverFramework\""),
"a DriverFrameworks .evtx must yield a DriverFramework witness; got: {stdout}"
);
assert!(
!stdout.contains("ROOT_HUB"),
"USB root-hub controllers must be excluded; got: {stdout}"
);
}