in below/dump/src/test.rs [969:1026]
fn test_parse_pattern() {
let tempdir = TempDir::new("below_dump_pattern").expect("Failed to create temp dir");
let path = tempdir.path().join("belowrc");
let mut file = std::fs::OpenOptions::new()
.read(true)
.write(true)
.truncate(true)
.create(true)
.open(&path)
.expect("Fail to open belowrc in tempdir");
let belowrc_str = r#"
[dump.system]
demacia = ["datetime", "os_release"]
[dump.process]
proc = ["datetime", "mem.anon"]
"#;
file.write_all(belowrc_str.as_bytes())
.expect("Faild to write temp belowrc file during testing ignore");
file.flush().expect("Failed to flush during testing ignore");
let sys_res = parse_pattern::<command::SystemOptionField>(
path.to_string_lossy().to_string(),
"demacia".into(),
"system",
)
.expect("Failed to parse system pattern");
assert_eq!(
sys_res[0],
command::SystemOptionField::Unit(SystemField::Common(CommonField::Datetime))
);
assert_eq!(
sys_res[1],
command::SystemOptionField::Unit(SystemField::FieldId(
model::SystemModelFieldId::OsRelease
))
);
let proc_res = parse_pattern::<command::ProcessOptionField>(
path.to_string_lossy().to_string(),
"proc".into(),
"process",
)
.expect("Failed to parse process pattern");
assert_eq!(
proc_res[0],
command::ProcessOptionField::Unit(ProcessField::Common(CommonField::Datetime))
);
assert_eq!(
proc_res[1],
command::ProcessOptionField::Unit(ProcessField::FieldId(
model::SingleProcessModelFieldId::Mem(model::ProcessMemoryModelFieldId::Anon)
))
);
}