/* Assert that we can access the metadata in skel and the values are * what we expect.
*/ if (CHECK(strncmp(obj->rodata->bpf_metadata_a, "foo", sizeof(obj->rodata->bpf_metadata_a)), "bpf_metadata_a", "expected \"foo\", value differ")) goto close_bpf_object; if (CHECK(obj->rodata->bpf_metadata_b != 1, "bpf_metadata_b", "expected 1, got %d", obj->rodata->bpf_metadata_b)) goto close_bpf_object;
/* Assert that binding metadata map to prog again succeeds. */
err = bpf_prog_bind_map(bpf_program__fd(obj->progs.prog),
bpf_map__fd(obj->maps.rodata), NULL);
CHECK(err, "rebind_map", "errno %d, expected 0", errno);
/* Assert that we can access the metadata in skel and the values are * what we expect.
*/ if (CHECK(strncmp(obj->rodata->bpf_metadata_a, "bar", sizeof(obj->rodata->bpf_metadata_a)), "metadata_a", "expected \"bar\", value differ")) goto close_bpf_object; if (CHECK(obj->rodata->bpf_metadata_b != 2, "metadata_b", "expected 2, got %d", obj->rodata->bpf_metadata_b)) goto close_bpf_object;
/* Assert that binding metadata map to prog again succeeds. */
err = bpf_prog_bind_map(bpf_program__fd(obj->progs.prog),
bpf_map__fd(obj->maps.rodata), NULL);
CHECK(err, "rebind_map", "errno %d, expected 0", errno);
close_bpf_object:
metadata_used__destroy(obj);
}
void test_metadata(void)
{ if (test__start_subtest("unused"))
test_metadata_unused();
if (test__start_subtest("used"))
test_metadata_used();
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.