From 33bddfe321d6c781e69bf4e29a71ddf381c6ada7 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Fri, 25 Aug 2017 15:19:37 +0300 Subject: [PATCH] tests: udpsrc: verify the correct amount of bytes is sent to the socket https://bugzilla.gnome.org/show_bug.cgi?id=786799 --- tests/check/elements/udpsrc.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/tests/check/elements/udpsrc.c b/tests/check/elements/udpsrc.c index f8dbcf6f43..699e82418f 100644 --- a/tests/check/elements/udpsrc.c +++ b/tests/check/elements/udpsrc.c @@ -147,6 +147,8 @@ GST_START_TEST (test_udpsrc) gchar data[48000]; gsize max_size; int i, len = 0; + gssize sent; + GError *err = NULL; for (i = 0; i < G_N_ELEMENTS (data); ++i) data[i] = i & 0xff; @@ -154,20 +156,25 @@ GST_START_TEST (test_udpsrc) if (!udpsrc_setup (&udpsrc, &socket, &sinkpad, &sa)) goto no_socket; - if (g_socket_send_to (socket, sa, data, 48000, NULL, NULL) != 48000) + if ((sent = g_socket_send_to (socket, sa, data, 48000, NULL, &err)) == -1) goto send_failure; + fail_unless_equals_int (sent, 48000); - if (g_socket_send_to (socket, sa, data, 21000, NULL, NULL) != 21000) + if ((sent = g_socket_send_to (socket, sa, data, 21000, NULL, &err)) == -1) goto send_failure; + fail_unless_equals_int (sent, 21000); - if (g_socket_send_to (socket, sa, data, 500, NULL, NULL) != 500) + if ((sent = g_socket_send_to (socket, sa, data, 500, NULL, &err)) == -1) goto send_failure; + fail_unless_equals_int (sent, 500); - if (g_socket_send_to (socket, sa, data, 1600, NULL, NULL) != 1600) + if ((sent = g_socket_send_to (socket, sa, data, 1600, NULL, &err)) == -1) goto send_failure; + fail_unless_equals_int (sent, 1600); - if (g_socket_send_to (socket, sa, data, 1400, NULL, NULL) != 1400) + if ((sent = g_socket_send_to (socket, sa, data, 1400, NULL, &err)) == -1) goto send_failure; + fail_unless_equals_int (sent, 1400); GST_INFO ("sent some packets"); @@ -224,6 +231,10 @@ GST_START_TEST (test_udpsrc) no_socket: send_failure: + if (err) { + GST_WARNING ("Socket send error, skipping test: %s", err->message); + g_clear_error (&err); + } gst_element_set_state (udpsrc, GST_STATE_NULL);