From 486485042719dd13c03d5261a7945e94bdf63d69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 13 Jun 2014 10:48:52 +0100 Subject: [PATCH] gio/tests/socket: add test for g_socket_send_message() --- gio/tests/socket.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gio/tests/socket.c b/gio/tests/socket.c index fb8821e6d..4a56b52e2 100644 --- a/gio/tests/socket.c +++ b/gio/tests/socket.c @@ -364,6 +364,8 @@ test_ipv6_async (void) test_ip_async (G_SOCKET_FAMILY_IPV6); } +static const gchar testbuf2[] = "0123456789abcdefghijklmnopqrstuvwxyz"; + static void test_ip_sync (GSocketFamily family) { @@ -415,6 +417,34 @@ test_ip_sync (GSocketFamily family) g_assert_cmpstr (testbuf, ==, buf); + { + GOutputVector v[7] = { { NULL, }, }; + + v[0].buffer = testbuf2 + 0; + v[0].size = 3; + v[1].buffer = testbuf2 + 3; + v[1].size = 5; + v[2].buffer = testbuf2 + 3 + 5; + v[2].size = 0; + v[3].buffer = testbuf2 + 3 + 5; + v[3].size = 6; + v[4].buffer = testbuf2 + 3 + 5 + 6; + v[4].size = 2; + v[5].buffer = testbuf2 + 3 + 5 + 6 + 2; + v[5].size = 1; + v[6].buffer = testbuf2 + 3 + 5 + 6 + 2 + 1; + v[6].size = strlen (testbuf2) - (3 + 5 + 6 + 2 + 1); + + len = g_socket_send_message (client, NULL, v, G_N_ELEMENTS (v), NULL, 0, 0, NULL, &error); + g_assert_no_error (error); + g_assert_cmpint (len, ==, strlen (testbuf2)); + + len = g_socket_receive (client, buf, sizeof (buf), NULL, &error); + g_assert_no_error (error); + g_assert_cmpint (len, ==, strlen (testbuf2)); + g_assert_cmpstr (testbuf2, ==, buf); + } + g_socket_shutdown (client, FALSE, TRUE, &error); g_assert_no_error (error);