~attente/glib/gbytesicon

« back to all changes in this revision

Viewing changes to gio/tests/socket.c

  • Committer: Package Import Robot
  • Author(s): Emilio Pozuelo Monfort
  • Date: 2012-11-28 14:38:35 UTC
  • mfrom: (172.1.6 experimental)
  • Revision ID: package-import@ubuntu.com-20121128143835-at37o4ozls05rkgf
Tags: 2.34.3-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
813
813
}
814
814
#endif /* G_OS_UNIX */
815
815
 
816
 
static void
817
 
test_datagram_get_available (void)
818
 
{
819
 
  GError *err = NULL;
820
 
  GSocket *server, *client;
821
 
  GInetAddress *addr;
822
 
  GSocketAddress *saddr;
823
 
  gchar data[] = "0123456789abcdef";
824
 
 
825
 
  server = g_socket_new (G_SOCKET_FAMILY_IPV4,
826
 
                                G_SOCKET_TYPE_DATAGRAM,
827
 
                                G_SOCKET_PROTOCOL_DEFAULT,
828
 
                                &err);
829
 
  g_assert_no_error (err);
830
 
  g_assert (G_IS_SOCKET (server));
831
 
 
832
 
  client = g_socket_new (G_SOCKET_FAMILY_IPV4,
833
 
                         G_SOCKET_TYPE_DATAGRAM,
834
 
                         G_SOCKET_PROTOCOL_DEFAULT,
835
 
                         &err);
836
 
  g_assert_no_error (err);
837
 
  g_assert (G_IS_SOCKET (client));
838
 
 
839
 
  addr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4);
840
 
  saddr = g_inet_socket_address_new (addr, 0);
841
 
 
842
 
  g_socket_bind (server, saddr, TRUE, &err);
843
 
  g_assert_no_error (err);
844
 
  g_object_unref (saddr);
845
 
  g_object_unref (addr);
846
 
 
847
 
  saddr = g_socket_get_local_address (server, &err);
848
 
  g_assert_no_error (err);
849
 
 
850
 
  g_socket_send_to (client, saddr, data, sizeof (data), NULL, &err);
851
 
  g_assert_no_error (err);
852
 
 
853
 
  g_assert_cmpint (g_socket_get_available_bytes (server), ==, sizeof (data));
854
 
 
855
 
  g_socket_send_to (client, saddr, data, sizeof (data), NULL, &err);
856
 
  g_assert_no_error (err);
857
 
 
858
 
  g_assert_cmpint (g_socket_get_available_bytes (server), ==, sizeof (data));
859
 
 
860
 
  g_socket_close (server, &err);
861
 
  g_assert_no_error (err);
862
 
 
863
 
  g_object_unref (saddr);
864
 
  g_object_unref (server);
865
 
  g_object_unref (client);
866
 
}
867
 
 
868
816
int
869
817
main (int   argc,
870
818
      char *argv[])
889
837
  g_test_add_func ("/socket/unix-connection", test_unix_connection);
890
838
  g_test_add_func ("/socket/unix-connection-ancillary-data", test_unix_connection_ancillary_data);
891
839
#endif
892
 
  g_test_add_func ("/socket/datagram_get_available", test_datagram_get_available);
893
840
 
894
841
  return g_test_run();
895
842
}