use platform_info::*;
#[test]
fn platform() -> Result<(), String> {
let info = PlatformInfo::new().unwrap();
let sysname = info.sysname().to_string_lossy();
let nodename = info.nodename().to_string_lossy();
let release = info.release().to_string_lossy();
let version = info.version().to_string_lossy();
let machine = info.machine().to_string_lossy();
let osname = info.osname().to_string_lossy();
assert!(!sysname.is_empty());
assert!(!nodename.is_empty());
assert!(!release.is_empty());
assert!(!version.is_empty());
assert!(!machine.is_empty());
assert!(!osname.is_empty());
Ok(())
}
#[test]
fn platform_no_invisible_contents() -> Result<(), String> {
let info = PlatformInfo::new().unwrap();
let sysname = info.sysname().to_string_lossy();
let nodename = info.nodename().to_string_lossy();
let release = info.release().to_string_lossy();
let version = info.version().to_string_lossy();
let machine = info.machine().to_string_lossy();
let osname = info.osname().to_string_lossy();
let s = format!("sysname='{sysname}';nodename='{nodename}';release='{release}';version='{version}';machine='{machine}';osname='{osname}'");
println!("s = [{}]\"{}\"", s.len(), s);
let re = regex::Regex::new("[^[[:print:]]\\p{Other_Symbol}]").unwrap(); assert_eq!(re.find(&s), None);
Ok(())
}
#[test]
fn platform_clone() -> Result<(), String> {
let info = PlatformInfo::new().unwrap();
#[allow(clippy::redundant_clone)] let info_copy = info.clone();
println!("{info:?}");
assert_eq!(info_copy, info);
Ok(())
}