in src/data/interrupts.rs [467:508]
fn test_process_raw_data() {
let mut raw_data = Vec::new();
let file = get_file(
"tests/test-data/aperf_2023-07-26_18_37_43/".to_string(),
"interrupts".to_string(),
)
.unwrap();
match bincode::deserialize_from::<_, Data>(file) {
Ok(v) => raw_data.push(v),
Err(e) => match *e {
bincode::ErrorKind::Io(e) if e.kind() == std::io::ErrorKind::UnexpectedEof => {}
e => panic!("{:#?}", e),
},
};
let mut dv = DataVisualizer::new(
ProcessedData::InterruptData(InterruptData::new()),
String::new(),
String::new(),
String::new(),
String::new(),
);
let processed_data = dv.data.process_raw_data(raw_data[0].clone()).unwrap();
match processed_data {
ProcessedData::InterruptData(ref value) => {
assert_eq!(
value.interrupt_data[0].interrupt_line,
InterruptLine::InterruptNr(1),
"{:#?}",
value
);
assert_eq!(
value.interrupt_data[0].interrupt_type, *"IO-APIC",
"Invalid interrupt type"
);
assert_eq!(
value.interrupt_data[0].interrupt_device, *"i8042",
"Invalid interrupt device"
);
}
_ => unreachable!("Invalid data type in interrupts"),
}
}