pub mod dmi;
pub use dmi::*;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_decode()->Result<()> {
for data in [&include_bytes!("../data/sys/firmware/dmi/entries/1-0/raw")[..],
&include_bytes!("../data/sys/firmware/dmi/entries/2-0/raw")[..],
&include_bytes!("../data/sys/firmware/dmi/entries/3-0/raw")[..]]
{
let raw = DmiRawData::from_reader(&data[..])?;
let entry = DmiEntry::try_from_raw(&raw)?;
println!("{:?}",entry);
if let DmiEntry::SI(
DmiSystemInformation { uuid:Some(u),.. }) = entry
{
println!("UUID: {}",u);
}
}
Ok(())
}
#[test]
fn test_file()->Result<()> {
let raw =
DmiRawData::from_file("data/sys/firmware/dmi/entries/1-0/raw")?;
let entry : DmiEntry = DmiEntry::try_from_raw(&raw)?;
println!("{:?}",entry);
Ok(())
}
}