in below/dump/src/test.rs [396:423]
fn traverse_cgroup_tree(model: &model::CgroupModel, jval: &Value) {
for dump_field in expand_fields(command::DEFAULT_CGROUP_FIELDS, true) {
match dump_field {
DumpField::Common(_) => continue,
DumpField::FieldId(field_id) => {
let rc = model::SingleCgroupModel::get_render_config_for_dump(&field_id);
assert_eq!(
rc.render(model.data.query(&field_id), false),
jval[rc.render_title(false)]
.as_str()
.unwrap_or_else(|| panic!(
"Key not found in Json: {}",
rc.render_title(false)
))
.to_owned(),
"Model value and json value do not match for field: {}",
field_id.to_string(),
);
}
}
}
model
.children
.iter()
.zip(jval["children"].as_array().unwrap().iter())
.take(2)
.for_each(|(child_model, child_jval)| traverse_cgroup_tree(child_model, child_jval));
}