use std::env;
use std::process;
use std::time::Duration;
#[test]
fn watchdog_enabled() {
unsafe {
env::set_var("WATCHDOG_USEC", "5");
env::set_var("WATCHDOG_PID", "1");
}
unsafe {
assert_eq!(sd_notify::watchdog_enabled_and_unset_env(), None);
}
assert!(env::var_os("WATCHDOG_USEC").is_none());
assert!(env::var_os("WATCHDOG_PID").is_none());
unsafe {
env::set_var("WATCHDOG_USEC", "invalid-usec");
env::set_var("WATCHDOG_PID", process::id().to_string());
}
unsafe {
assert_eq!(sd_notify::watchdog_enabled_and_unset_env(), None);
}
assert!(env::var_os("WATCHDOG_USEC").is_none());
assert!(env::var_os("WATCHDOG_PID").is_none());
unsafe {
env::set_var("WATCHDOG_USEC", "10");
}
unsafe {
assert_eq!(
sd_notify::watchdog_enabled_and_unset_env(),
Some(Duration::from_micros(10))
);
}
assert!(env::var_os("WATCHDOG_USEC").is_none());
assert!(env::var_os("WATCHDOG_PID").is_none());
assert_eq!(sd_notify::watchdog_enabled(), None);
assert!(env::var_os("WATCHDOG_USEC").is_none());
assert!(env::var_os("WATCHDOG_PID").is_none());
unsafe {
env::set_var("WATCHDOG_USEC", "5");
env::set_var("WATCHDOG_PID", process::id().to_string());
}
assert_eq!(
sd_notify::watchdog_enabled(),
Some(Duration::from_micros(5))
);
assert!(env::var_os("WATCHDOG_USEC").is_some());
assert!(env::var_os("WATCHDOG_PID").is_some());
}