From: Daniel Mack Date: Wed, 22 Oct 2014 12:18:18 +0000 (+0200) Subject: test-fd: add a bloom filter to broadcast message X-Git-Tag: upstream/0.20141102.012929utc~48 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=237153466d1a6efa54dada51fb4f944bcd6a7394;p=platform%2Fcore%2Fsystem%2Fkdbus-bus.git test-fd: add a bloom filter to broadcast message Satisfy a kernel check so we can be sure we really bail out due to the check we're actually enforcing. Signed-off-by: Daniel Mack --- diff --git a/test/test-fd.c b/test/test-fd.c index 84708e8..b635b2c 100644 --- a/test/test-fd.c +++ b/test/test-fd.c @@ -93,11 +93,20 @@ static int send_memfds(struct kdbus_conn *conn, uint64_t dst_id, size = sizeof(struct kdbus_msg); size += memfd_count * KDBUS_ITEM_SIZE(sizeof(struct kdbus_memfd)); + if (dst_id == KDBUS_DST_ID_BROADCAST) + size += KDBUS_ITEM_SIZE(sizeof(struct kdbus_bloom_filter)) + 64; + ret = make_msg_payload_dbus(conn->id, dst_id, size, &msg); ASSERT_RETURN_VAL(ret == 0, ret); item = msg->items; + if (dst_id == KDBUS_DST_ID_BROADCAST) { + item->type = KDBUS_ITEM_BLOOM_FILTER; + item->size = KDBUS_ITEM_SIZE(sizeof(struct kdbus_bloom_filter)) + 64; + item = KDBUS_ITEM_NEXT(item); + } + make_item_memfds(item, memfds_array, memfd_count); ret = ioctl(conn->fd, KDBUS_CMD_MSG_SEND, msg); @@ -325,10 +334,9 @@ int kdbus_test_fd_passing(struct kdbus_test_env *env) memfd = memfd_write("memfd-name", &now, sizeof(now)); ASSERT_RETURN(memfd >= 0); - /* Try to broadcast memfd. This must fail. */ - ret = send_memfds(conn_src, KDBUS_DST_ID_BROADCAST, - (int *)&memfd, 1); - ASSERT_RETURN(ret == -ENOTUNIQ); + /* Try to broadcast memfd. This must succeed. */ + ret = send_memfds(conn_src, KDBUS_DST_ID_BROADCAST, (int *)&memfd, 1); + ASSERT_RETURN(ret == 0); ret = kdbus_send_multiple_fds(conn_src, conn_dst); ASSERT_RETURN(ret == 0);