X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Ftest-bus-zero-copy.c;h=5a9f45489ecdf53de20b44db617644cb6798356c;hb=1307c3ff9aa9d96fff6f9f42bb760887fa9aa240;hp=024a0bfddf9a15014511e5bd12b31250b31071d7;hpb=453a0c2946da620f99825d39db335e9ea9861829;p=elogind.git diff --git a/src/libsystemd-bus/test-bus-zero-copy.c b/src/libsystemd-bus/test-bus-zero-copy.c index 024a0bfdd..5a9f45489 100644 --- a/src/libsystemd-bus/test-bus-zero-copy.c +++ b/src/libsystemd-bus/test-bus-zero-copy.c @@ -38,6 +38,7 @@ int main(int argc, char *argv[]) { int r, bus_ref; sd_bus_message *m; sd_memfd *f; + uint64_t sz; log_set_max_level(LOG_DEBUG); @@ -79,21 +80,27 @@ int main(int argc, char *argv[]) { memset(p, 'L', 32); - r = sd_memfd_new_and_map(&f, 32, &p); + r = sd_memfd_new_and_map(&f, 17, &p); assert_se(r >= 0); - memset(p, 'P', 32); - munmap(p, 32); + memset(p, 'P', 17); + munmap(p, 17); - r = sd_memfd_set_size(f, 32); + r = sd_memfd_get_size(f, &sz); assert_se(r >= 0); + assert_se(sz == 17); r = sd_bus_message_append_array_memfd(m, 'y', f); assert_se(r >= 0); + sd_memfd_free(f); + r = sd_bus_message_close_container(m); assert_se(r >= 0); + r = sd_bus_message_append(m, "u", 4711); + assert_se(r >= 0); + r = bus_message_seal(m, 55); assert_se(r >= 0); @@ -104,9 +111,14 @@ int main(int argc, char *argv[]) { sd_bus_message_unref(m); + r = sd_bus_process(a, &m); + assert_se(r > 0); + + bus_message_dump(m); + sd_bus_message_unref(m); + sd_bus_unref(a); sd_bus_unref(b); - sd_memfd_free(f); return 0; }