Files
platform-info/tests/integration_test.rs
Sylvestre Ledru 700a74e91d Some clippy fixes
Done with:
$ cargo clippy --fix --allow-dirty  -- -W clippy::pedantic
2024-04-09 23:15:11 +02:00

57 lines
1.9 KiB
Rust

// spell-checker:ignore (API) nodename osname sysname
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());
// assert!(false);
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:]]]").unwrap(); // matches invisible (and emojis)
let re = regex::Regex::new("[^[[:print:]]\\p{Other_Symbol}]").unwrap(); // matches invisible only (not emojis)
assert_eq!(re.find(&s), None);
Ok(())
}
#[test]
fn platform_clone() -> Result<(), String> {
let info = PlatformInfo::new().unwrap();
#[allow(clippy::redundant_clone)] // ignore `clippy::redundant_clone` warning for direct testing
let info_copy = info.clone();
println!("{info:?}");
assert_eq!(info_copy, info);
Ok(())
}