From aee23e155474cb3001a8224b247cb6ded7e1f4a3 Mon Sep 17 00:00:00 2001
From: Fergus Dall <sidereal@google.com>
Date: Tue, 22 Jun 2021 20:05:47 +1000
Subject: [PATCH 1/2] connection-test: Encode size in message headers correctly

In these tests, message sizes are inconsistently encoded in either the upper
or lower 16 bits of the second word of the message. Resolve this in favour
of using the upper 16 bits, as this is how messages are supposed to be
encoded, even though that aspect of message decoding isn't being tested
here.

Signed-off-by: Fergus Dall <sidereal@google.com>
---
 tests/connection-test.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tests/connection-test.c b/tests/connection-test.c
index c04845b..669d73b 100644
--- a/tests/connection-test.c
+++ b/tests/connection-test.c
@@ -394,7 +394,7 @@ demarshal(struct marshal_data *data, const char *format,
 	struct wl_closure *closure;
 	struct wl_map objects;
 	struct wl_object object = { NULL, &func, 0 };
-	int size = msg[1];
+	int size = msg[1] >> 16;
 
 	assert(write(data->s[1], msg, size) == size);
 	assert(wl_connection_read(data->read_connection) == size);
@@ -417,39 +417,39 @@ TEST(connection_demarshal)
 
 	data.value.u = 8000;
 	msg[0] = 400200;	/* object id */
-	msg[1] = 12;		/* size = 12, opcode = 0 */
+	msg[1] = 12 << 16;		/* size = 12, opcode = 0 */
 	msg[2] = data.value.u;
 	demarshal(&data, "u", msg, (void *) validate_demarshal_u);
 
 	data.value.i = -557799;
 	msg[0] = 400200;
-	msg[1] = 12;
+	msg[1] = 12 << 16;
 	msg[2] = data.value.i;
 	demarshal(&data, "i", msg, (void *) validate_demarshal_i);
 
 	data.value.s = "superdude";
 	msg[0] = 400200;
-	msg[1] = 24;
+	msg[1] = 24 << 16;
 	msg[2] = 10;
 	memcpy(&msg[3], data.value.s, msg[2]);
 	demarshal(&data, "s", msg, (void *) validate_demarshal_s);
 
 	data.value.s = "superdude";
 	msg[0] = 400200;
-	msg[1] = 24;
+	msg[1] = 24 << 16;
 	msg[2] = 10;
 	memcpy(&msg[3], data.value.s, msg[2]);
 	demarshal(&data, "?s", msg, (void *) validate_demarshal_s);
 
 	data.value.i = wl_fixed_from_double(-90000.2390);
 	msg[0] = 400200;
-	msg[1] = 12;
+	msg[1] = 12 << 16;
 	msg[2] = data.value.i;
 	demarshal(&data, "f", msg, (void *) validate_demarshal_f);
 
 	data.value.s = NULL;
 	msg[0] = 400200;
-	msg[1] = 12;
+	msg[1] = 12 << 16;
 	msg[2] = 0;
 	demarshal(&data, "?s", msg, (void *) validate_demarshal_s);
 
-- 
2.32.0.93.g670b81a890-goog

