v0.25.1
This commit is contained in:
1 parent
87e571c170
commit
fa7abc9e53
308 files changed
+49746
-50237
No files matched your search
@@ -67,18 +67,4 @@ pub(crate) fn augment(view: &mut View) {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn proc_values_and_unavailable_are_distinct() {
|
||||
assert_eq!(
|
||||
key_value(
|
||||
"VmRSS:\t123 kB\nRssAnon:\t100 kB\nRssFile:\t20 kB\nRssShmem:\t3 kB\nThreads:\t2\n",
|
||||
"VmRSS"
|
||||
),
|
||||
Some(123)
|
||||
);
|
||||
assert_eq!(key_value("", "VmRSS"), None);
|
||||
}
|
||||
}
|
||||
include!("linux/tests.rs");
|
||||
@@ -0,0 +1,15 @@
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn proc_values_and_unavailable_are_distinct() {
|
||||
assert_eq!(
|
||||
key_value(
|
||||
"VmRSS:\t123 kB\nRssAnon:\t100 kB\nRssFile:\t20 kB\nRssShmem:\t3 kB\nThreads:\t2\n",
|
||||
"VmRSS"
|
||||
),
|
||||
Some(123)
|
||||
);
|
||||
assert_eq!(key_value("", "VmRSS"), None);
|
||||
}
|
||||
}
|
||||
+1
-91
@@ -417,94 +417,4 @@ pub(crate) fn now_ms() -> u64 {
|
||||
mod linux;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn platform_is_never_empty() {
|
||||
assert!(!platform_name().is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn network_normalization_filters_loopback_and_keeps_all_real_interfaces() {
|
||||
let raw = vec![
|
||||
("lo".to_owned(), 1, 2),
|
||||
("lo0".to_owned(), 3, 4),
|
||||
("lo1".to_owned(), 5, 6),
|
||||
("em0".to_owned(), 100, 200),
|
||||
("eth0".to_owned(), 300, 400),
|
||||
("em0".to_owned(), 90, 250),
|
||||
];
|
||||
let interfaces = normalize_network_interfaces(raw);
|
||||
assert_eq!(interfaces.len(), 2);
|
||||
assert_eq!(interfaces[0].name, "em0");
|
||||
assert_eq!(interfaces[0].rx_bytes, 100);
|
||||
assert_eq!(interfaces[0].tx_bytes, 250);
|
||||
assert_eq!(interfaces[1].name, "eth0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn network_merge_supplements_partial_primary_inventory() {
|
||||
let primary = normalize_network_interfaces(vec![
|
||||
("em0".to_owned(), 0, 20),
|
||||
("wg0".to_owned(), 50, 60),
|
||||
]);
|
||||
let secondary = normalize_network_interfaces(vec![
|
||||
("em0".to_owned(), 100, 10),
|
||||
("em1".to_owned(), 200, 300),
|
||||
]);
|
||||
let interfaces = merge_network_interfaces(primary, secondary);
|
||||
assert_eq!(interfaces.len(), 3);
|
||||
assert_eq!(interfaces[0].name, "em0");
|
||||
assert_eq!(interfaces[0].rx_bytes, 100);
|
||||
assert_eq!(interfaces[0].tx_bytes, 20);
|
||||
assert_eq!(interfaces[1].name, "em1");
|
||||
assert_eq!(interfaces[2].name, "wg0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn rate_calculation_tracks_each_interface() {
|
||||
let mut current = View {
|
||||
sampled_at_ms: 3_000,
|
||||
network_rx_bytes: Some(400),
|
||||
network_tx_bytes: Some(800),
|
||||
network_interfaces: vec![NetworkInterfaceView {
|
||||
name: "em0".to_owned(),
|
||||
rx_bytes: 300,
|
||||
tx_bytes: 600,
|
||||
rx_bytes_per_second: None,
|
||||
tx_bytes_per_second: None,
|
||||
}],
|
||||
..Default::default()
|
||||
};
|
||||
let previous = View {
|
||||
sampled_at_ms: 1_000,
|
||||
network_rx_bytes: Some(200),
|
||||
network_tx_bytes: Some(400),
|
||||
network_interfaces: vec![NetworkInterfaceView {
|
||||
name: "em0".to_owned(),
|
||||
rx_bytes: 100,
|
||||
tx_bytes: 200,
|
||||
rx_bytes_per_second: None,
|
||||
tx_bytes_per_second: None,
|
||||
}],
|
||||
..Default::default()
|
||||
};
|
||||
calculate_rates(&mut current, &previous);
|
||||
assert_eq!(current.network_rx_bytes_per_second, Some(100.0));
|
||||
assert_eq!(current.network_tx_bytes_per_second, Some(200.0));
|
||||
assert_eq!(current.network_interfaces[0].rx_bytes_per_second, Some(100.0));
|
||||
assert_eq!(current.network_interfaces[0].tx_bytes_per_second, Some(200.0));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sample_reports_platform_and_timestamp() {
|
||||
let (view, _) = sample(None);
|
||||
assert_eq!(view.platform, platform_name());
|
||||
assert_eq!(view.source, source_name());
|
||||
assert!(view.sampled_at_ms > 0);
|
||||
if let Some(cpu) = view.cpu_percent {
|
||||
assert!((0.0..=100.0).contains(&cpu));
|
||||
}
|
||||
}
|
||||
}
|
||||
include!("tests.rs");
|
||||
@@ -0,0 +1,91 @@
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn platform_is_never_empty() {
|
||||
assert!(!platform_name().is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn network_normalization_filters_loopback_and_keeps_all_real_interfaces() {
|
||||
let raw = vec![
|
||||
("lo".to_owned(), 1, 2),
|
||||
("lo0".to_owned(), 3, 4),
|
||||
("lo1".to_owned(), 5, 6),
|
||||
("em0".to_owned(), 100, 200),
|
||||
("eth0".to_owned(), 300, 400),
|
||||
("em0".to_owned(), 90, 250),
|
||||
];
|
||||
let interfaces = normalize_network_interfaces(raw);
|
||||
assert_eq!(interfaces.len(), 2);
|
||||
assert_eq!(interfaces[0].name, "em0");
|
||||
assert_eq!(interfaces[0].rx_bytes, 100);
|
||||
assert_eq!(interfaces[0].tx_bytes, 250);
|
||||
assert_eq!(interfaces[1].name, "eth0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn network_merge_supplements_partial_primary_inventory() {
|
||||
let primary = normalize_network_interfaces(vec![
|
||||
("em0".to_owned(), 0, 20),
|
||||
("wg0".to_owned(), 50, 60),
|
||||
]);
|
||||
let secondary = normalize_network_interfaces(vec![
|
||||
("em0".to_owned(), 100, 10),
|
||||
("em1".to_owned(), 200, 300),
|
||||
]);
|
||||
let interfaces = merge_network_interfaces(primary, secondary);
|
||||
assert_eq!(interfaces.len(), 3);
|
||||
assert_eq!(interfaces[0].name, "em0");
|
||||
assert_eq!(interfaces[0].rx_bytes, 100);
|
||||
assert_eq!(interfaces[0].tx_bytes, 20);
|
||||
assert_eq!(interfaces[1].name, "em1");
|
||||
assert_eq!(interfaces[2].name, "wg0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn rate_calculation_tracks_each_interface() {
|
||||
let mut current = View {
|
||||
sampled_at_ms: 3_000,
|
||||
network_rx_bytes: Some(400),
|
||||
network_tx_bytes: Some(800),
|
||||
network_interfaces: vec![NetworkInterfaceView {
|
||||
name: "em0".to_owned(),
|
||||
rx_bytes: 300,
|
||||
tx_bytes: 600,
|
||||
rx_bytes_per_second: None,
|
||||
tx_bytes_per_second: None,
|
||||
}],
|
||||
..Default::default()
|
||||
};
|
||||
let previous = View {
|
||||
sampled_at_ms: 1_000,
|
||||
network_rx_bytes: Some(200),
|
||||
network_tx_bytes: Some(400),
|
||||
network_interfaces: vec![NetworkInterfaceView {
|
||||
name: "em0".to_owned(),
|
||||
rx_bytes: 100,
|
||||
tx_bytes: 200,
|
||||
rx_bytes_per_second: None,
|
||||
tx_bytes_per_second: None,
|
||||
}],
|
||||
..Default::default()
|
||||
};
|
||||
calculate_rates(&mut current, &previous);
|
||||
assert_eq!(current.network_rx_bytes_per_second, Some(100.0));
|
||||
assert_eq!(current.network_tx_bytes_per_second, Some(200.0));
|
||||
assert_eq!(current.network_interfaces[0].rx_bytes_per_second, Some(100.0));
|
||||
assert_eq!(current.network_interfaces[0].tx_bytes_per_second, Some(200.0));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sample_reports_platform_and_timestamp() {
|
||||
let (view, _) = sample(None);
|
||||
assert_eq!(view.platform, platform_name());
|
||||
assert_eq!(view.source, source_name());
|
||||
assert!(view.sampled_at_ms > 0);
|
||||
if let Some(cpu) = view.cpu_percent {
|
||||
assert!((0.0..=100.0).contains(&cpu));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user