#![allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::print_stderr,
reason = "test modules may unwrap / print"
)]
use super::*;
use crate::consts::MFX_IMPL_HARDWARE_ANY;
#[test]
fn session_opens_or_skips_without_onevpl_runtime() {
let loader = match Loader::open() {
Ok(l) => l,
Err(e) => {
eprintln!("skip: Loader::open failed ({e}) — no oneVPL runtime on this host?");
return;
}
};
let mut session = match loader.create_session(MFX_IMPL_HARDWARE_ANY) {
Ok(s) => s,
Err(e) => {
eprintln!("skip: create_session(MFX_IMPL_HARDWARE_ANY) failed ({e})");
return;
}
};
let version = session
.query_version()
.expect("MFXQueryVersion on a just-opened session should succeed");
let (raw_version, major, minor) = unsafe {
(
version.Version,
version.__bindgen_anon_1.Major,
version.__bindgen_anon_1.Minor,
)
};
assert_ne!(
raw_version, 0,
"a real oneVPL runtime reports a nonzero version"
);
let impl_selected = session
.query_impl()
.expect("MFXQueryIMPL on a just-opened session should succeed");
eprintln!(
"vpl-sys: oneVPL session opened — Major={major} Minor={minor} raw_version=0x{raw_version:08x} impl=0x{impl_selected:08x}",
);
}