test(lesavka): cover client decoder policy flags

This commit is contained in:
Brad Stein 2026-05-19 10:13:28 -03:00
parent 31e19069ad
commit ceb20abeba

View File

@ -135,6 +135,57 @@ fn vulkan_decoder_fragment_downloads_gpu_memory_before_cpu_sinks() {
let named = video_support::h264_decoder_launch_fragment_named("vulkanh264dec", "decoder1");
assert!(named.contains("vulkanh264dec name=decoder1"));
assert!(named.contains("vulkandownload"));
assert_eq!(
video_support::h264_decoder_launch_fragment_named("nvh264dec", "left_decoder"),
"nvh264dec name=left_decoder"
);
}
#[test]
#[serial]
fn video_fallback_flags_require_clear_opt_in_values() {
for disabled in [
None,
Some(""),
Some("0"),
Some("false"),
Some("no"),
Some("off"),
] {
with_var("LESAVKA_ALLOW_SOFTWARE_VIDEO", disabled, || {
assert!(!video_support::software_video_fallback_allowed());
});
with_var("LESAVKA_ALLOW_VULKAN_H264_DECODER", disabled, || {
assert!(!video_support::h264_decoder_preference_order().contains(&"vulkanh264dec"));
});
}
for enabled in ["1", "true", "yes", "on", "lab"] {
with_var("LESAVKA_ALLOW_SOFTWARE_VIDEO", Some(enabled), || {
assert!(video_support::software_video_fallback_allowed());
});
with_var("LESAVKA_ALLOW_VULKAN_H264_DECODER", Some(enabled), || {
assert!(video_support::h264_decoder_preference_order().contains(&"vulkanh264dec"));
});
}
}
#[test]
fn hardware_decoder_classifier_names_each_supported_route() {
for name in [
"nvh264dec",
"nvh264sldec",
"vulkanh264dec",
"vah264dec",
"vaapih264dec",
"v4l2h264dec",
"v4l2slh264dec",
] {
assert!(video_support::is_hardware_h264_decoder(name));
}
assert!(!video_support::is_hardware_h264_decoder("decodebin"));
assert!(!video_support::is_hardware_h264_decoder("avdec_h264"));
}
#[test]