test(lesavka): cover microphone flag parsing
This commit is contained in:
parent
8f911da06b
commit
4dd2bfad51
@ -1,8 +1,10 @@
|
|||||||
use super::{
|
use super::{
|
||||||
MIC_CHANNELS, MIC_SAMPLE_BYTES, MIC_SAMPLE_RATE, buffer_duration_us, mic_packet_target_bytes,
|
MIC_CHANNELS, MIC_SAMPLE_BYTES, MIC_SAMPLE_RATE, bool_env_enabled, buffer_duration_us,
|
||||||
pcm_payload_duration_us, split_audio_sample,
|
explicit_media_sources_required, mic_noise_suppression_from_env, mic_noise_suppression_level,
|
||||||
|
mic_packet_target_bytes, pcm_payload_duration_us, split_audio_sample,
|
||||||
};
|
};
|
||||||
use gstreamer as gst;
|
use gstreamer as gst;
|
||||||
|
use serial_test::serial;
|
||||||
|
|
||||||
fn buffer_with_duration(size: usize, duration: Option<gst::ClockTime>) -> gst::Buffer {
|
fn buffer_with_duration(size: usize, duration: Option<gst::ClockTime>) -> gst::Buffer {
|
||||||
gst::init().ok();
|
gst::init().ok();
|
||||||
@ -77,3 +79,45 @@ fn trailing_microphone_packet_keeps_remaining_bytes() {
|
|||||||
assert_eq!(packets[2].data.len(), 960);
|
assert_eq!(packets[2].data.len(), 960);
|
||||||
assert_eq!(packets[2].pts, 45_000);
|
assert_eq!(packets[2].pts, 45_000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[serial]
|
||||||
|
fn microphone_noise_suppression_level_accepts_named_presets() {
|
||||||
|
let cases = [
|
||||||
|
("low", "low"),
|
||||||
|
("medium", "moderate"),
|
||||||
|
("moderate", "moderate"),
|
||||||
|
("high", "high"),
|
||||||
|
("very_high", "very-high"),
|
||||||
|
("aggressive", "very-high"),
|
||||||
|
("unknown", "very-high"),
|
||||||
|
];
|
||||||
|
|
||||||
|
for (raw, expected) in cases {
|
||||||
|
temp_env::with_var("LESAVKA_MIC_NOISE_SUPPRESSION_LEVEL", Some(raw), || {
|
||||||
|
assert_eq!(mic_noise_suppression_level(), expected);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[serial]
|
||||||
|
fn boolean_microphone_flags_accept_plain_english_true_values() {
|
||||||
|
for raw in ["1", "true", "yes", "on"] {
|
||||||
|
temp_env::with_vars(
|
||||||
|
[
|
||||||
|
("LESAVKA_REQUIRE_EXPLICIT_MEDIA_SOURCES", Some(raw)),
|
||||||
|
("LESAVKA_MIC_NOISE_SUPPRESSION", Some(raw)),
|
||||||
|
],
|
||||||
|
|| {
|
||||||
|
assert!(explicit_media_sources_required());
|
||||||
|
assert!(mic_noise_suppression_from_env());
|
||||||
|
assert!(bool_env_enabled("LESAVKA_MIC_NOISE_SUPPRESSION"));
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
temp_env::with_var("LESAVKA_MIC_NOISE_SUPPRESSION", Some("false"), || {
|
||||||
|
assert!(!mic_noise_suppression_from_env());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user