impemented mock testing
This commit is contained in:
45
tests/heuristic_discovery_test.rs
Normal file
45
tests/heuristic_discovery_test.rs
Normal file
@@ -0,0 +1,45 @@
|
||||
use ember_tune_rs::sal::heuristic::discovery::discover_facts;
|
||||
use ember_tune_rs::sal::heuristic::schema::{Discovery, SensorDiscovery, ActuatorDiscovery, Benchmarking};
|
||||
use crate::common::fakesys::FakeSysBuilder;
|
||||
|
||||
mod common;
|
||||
|
||||
#[test]
|
||||
fn test_heuristic_discovery_with_fakesys() {
|
||||
let fake = FakeSysBuilder::new();
|
||||
fake.add_dmi("Dell Inc.", "XPS 13 9380")
|
||||
.add_hwmon("dell_smm", "Package id 0", "45000")
|
||||
.add_rapl("intel-rapl:0", "123456", "15000000")
|
||||
.add_proc_cmdline("quiet msr.allow_writes=on");
|
||||
|
||||
let discovery = Discovery {
|
||||
sensors: SensorDiscovery {
|
||||
temp_labels: vec!["Package id 0".to_string()],
|
||||
fan_labels: vec![],
|
||||
hwmon_priority: vec!["dell_smm".to_string()],
|
||||
},
|
||||
actuators: ActuatorDiscovery {
|
||||
rapl_paths: vec!["intel-rapl:0".to_string()],
|
||||
amd_energy_paths: vec![],
|
||||
governor_files: vec![],
|
||||
},
|
||||
configs: std::collections::HashMap::new(),
|
||||
tools: std::collections::HashMap::new(),
|
||||
};
|
||||
|
||||
let benchmarking = Benchmarking {
|
||||
idle_duration_s: 1,
|
||||
stress_duration_min_s: 1,
|
||||
stress_duration_max_s: 2,
|
||||
cool_down_s: 1,
|
||||
power_steps_watts: vec![10.0, 15.0],
|
||||
};
|
||||
|
||||
let facts = discover_facts(&fake.base_path(), &discovery, &[], benchmarking);
|
||||
|
||||
assert_eq!(facts.vendor, "Dell Inc.");
|
||||
assert_eq!(facts.model, "XPS 13 9380");
|
||||
assert!(facts.temp_path.is_some());
|
||||
assert!(facts.temp_path.unwrap().to_string_lossy().contains("hwmon0/temp1_input"));
|
||||
assert_eq!(facts.rapl_paths.len(), 1);
|
||||
}
|
||||
Reference in New Issue
Block a user