[RFC wayland] tests: Test wl_message_count_arrays

Yong Bakos junk at humanoriented.com
Thu Oct 27 15:58:58 UTC 2016


From: Yong Bakos <ybakos at humanoriented.com>

message-test.c did not cover wl_message_count_arrays, so add one test that
specifically tests this method. Note that this exposes wl_message_count_arrays
in a private header (wayland-private.h), and removes the `static` modifier of
the implementation.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
---
 src/connection.c      |  2 +-
 src/wayland-private.h |  3 +++
 tests/message-test.c  | 17 +++++++++++++++++
 3 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/connection.c b/src/connection.c
index c3293a9..5c3d187 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -392,7 +392,7 @@ wl_connection_queue(struct wl_connection *connection,
 	return wl_buffer_put(&connection->out, data, count);
 }

-static int
+int
 wl_message_count_arrays(const struct wl_message *message)
 {
 	int i, arrays;
diff --git a/src/wayland-private.h b/src/wayland-private.h
index ef58ccf..676b181 100644
--- a/src/wayland-private.h
+++ b/src/wayland-private.h
@@ -163,6 +163,9 @@ int
 arg_count_for_signature(const char *signature);

 int
+wl_message_count_arrays(const struct wl_message *message);
+
+int
 wl_message_get_since(const struct wl_message *message);

 void
diff --git a/tests/message-test.c b/tests/message-test.c
index cb08f90..2f29875 100644
--- a/tests/message-test.c
+++ b/tests/message-test.c
@@ -51,3 +51,20 @@ TEST(message_version)
 		       messages[i].expected_version);
 	}
 }
+
+TEST(message_count_arrays)
+{
+	unsigned int i;
+	const struct {
+		const struct wl_message *message;
+		int expected_array_count;
+	} messages[] = {
+		{ &wl_pointer_interface.events[WL_POINTER_ENTER], 0 },
+		{ &wl_keyboard_interface.events[WL_KEYBOARD_ENTER], 1 },
+	};
+
+	for (i = 0; i < ARRAY_LENGTH(messages); ++i) {
+		assert(wl_message_count_arrays(messages[i].message) ==
+		       messages[i].expected_array_count);
+	}
+}
--
2.7.2



More information about the wayland-devel mailing list