use std::env;
pub const OBSOLETE: usize = 199_209;
pub const TRADITIONAL: usize = 200_112;
pub const MODERN: usize = 200_809;
pub fn posix_version() -> Option<usize> {
env::var("_POSIX2_VERSION")
.ok()
.and_then(|v| v.parse::<usize>().ok())
}
#[cfg(test)]
mod tests {
use crate::posix::*;
#[test]
fn test_posix_version() {
assert_eq!(posix_version(), None);
unsafe { env::set_var("_POSIX2_VERSION", OBSOLETE.to_string()) };
assert_eq!(posix_version(), Some(OBSOLETE));
unsafe { env::set_var("_POSIX2_VERSION", TRADITIONAL.to_string()) };
assert_eq!(posix_version(), Some(TRADITIONAL));
unsafe { env::set_var("_POSIX2_VERSION", MODERN.to_string()) };
assert_eq!(posix_version(), Some(MODERN));
}
}