// Take a look at the license at the top of the repository in the LICENSE file. #![cfg(feature = "system")] // This test is used to ensure that the CPUs are not loaded by default. #[test] fn test_cpu() { let mut s = sysinfo::System::new(); assert!(s.cpus().is_empty()); if !sysinfo::IS_SUPPORTED_SYSTEM { return; } s.refresh_cpu_all(); assert!(!s.cpus().is_empty()); let s = sysinfo::System::new_all(); assert!(!s.cpus().is_empty()); assert!(!s.cpus()[0].brand().chars().any(|c| c == '\0')); if !cfg!(target_os = "freebsd") { // This information is currently not retrieved on freebsd... assert!(s.cpus().iter().any(|c| !c.brand().is_empty())); } assert!(s.cpus().iter().any(|c| !c.vendor_id().is_empty())); } #[test] fn test_physical_core_numbers() { if sysinfo::IS_SUPPORTED_SYSTEM { let s = sysinfo::System::new(); let count = s.physical_core_count(); assert_ne!(count, None); assert!(count.unwrap() > 0); } } #[test] fn test_too_rapid_cpu_refresh() { let mut s = sysinfo::System::new(); assert!(s.cpus().is_empty()); if !sysinfo::IS_SUPPORTED_SYSTEM { return; } s.refresh_cpu_all(); s.refresh_cpu_all(); assert!(s.cpus().iter().any(|c| !c.cpu_usage().is_nan())); }