814
814
#endif /* G_OS_UNIX */
817
test_datagram_get_available (void)
820
GSocket *server, *client;
822
GSocketAddress *saddr;
823
gchar data[] = "0123456789abcdef";
825
server = g_socket_new (G_SOCKET_FAMILY_IPV4,
826
G_SOCKET_TYPE_DATAGRAM,
827
G_SOCKET_PROTOCOL_DEFAULT,
829
g_assert_no_error (err);
830
g_assert (G_IS_SOCKET (server));
832
client = g_socket_new (G_SOCKET_FAMILY_IPV4,
833
G_SOCKET_TYPE_DATAGRAM,
834
G_SOCKET_PROTOCOL_DEFAULT,
836
g_assert_no_error (err);
837
g_assert (G_IS_SOCKET (client));
839
addr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4);
840
saddr = g_inet_socket_address_new (addr, 0);
842
g_socket_bind (server, saddr, TRUE, &err);
843
g_assert_no_error (err);
844
g_object_unref (saddr);
845
g_object_unref (addr);
847
saddr = g_socket_get_local_address (server, &err);
848
g_assert_no_error (err);
850
g_socket_send_to (client, saddr, data, sizeof (data), NULL, &err);
851
g_assert_no_error (err);
853
g_assert_cmpint (g_socket_get_available_bytes (server), ==, sizeof (data));
855
g_socket_send_to (client, saddr, data, sizeof (data), NULL, &err);
856
g_assert_no_error (err);
858
g_assert_cmpint (g_socket_get_available_bytes (server), ==, sizeof (data));
860
g_socket_close (server, &err);
861
g_assert_no_error (err);
863
g_object_unref (saddr);
864
g_object_unref (server);
865
g_object_unref (client);
887
835
g_test_add_func ("/socket/unix-connection", test_unix_connection);
888
836
g_test_add_func ("/socket/unix-connection-ancillary-data", test_unix_connection_ancillary_data);
890
g_test_add_func ("/socket/datagram_get_available", test_datagram_get_available);
892
839
return g_test_run();