X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c91b68ade95e42efb7a24f19fb5228bee0b618d0..187ba0c05f9fbe51175179b9f637b6554f947468:/teshsuite/gras/msg_handle/msg_handle.c diff --git a/teshsuite/gras/msg_handle/msg_handle.c b/teshsuite/gras/msg_handle/msg_handle.c deleted file mode 100644 index 675cb00c4d..0000000000 --- a/teshsuite/gras/msg_handle/msg_handle.c +++ /dev/null @@ -1,159 +0,0 @@ -/* msg_handle - ensures the semantic of gras_msg_handle(i) for i<0,=0 or >0 */ - -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. - * All rights reserved. */ -/* Thanks to Flavien Vernier for reporting an issue around this */ - -/* This program is free software; you can redistribute it and/or modify it - * under the terms of the license (GNU LGPL) which comes with this package. */ - -#include "gras.h" - -XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Messages specific to this test"); - -int server(int argc, char *argv[]); -int client(int argc, char *argv[]); - -static int server_cb_hello_handler(gras_msg_cb_ctx_t ctx, - void *payload_data) -{ - XBT_INFO("Got the message"); - return 0; -} - -int server(int argc, char *argv[]) -{ - volatile xbt_socket_t me = NULL, pal = NULL; - int myport; - char *palstr; - - xbt_ex_t e; - _XBT_GNUC_UNUSED int got_expected; - _XBT_GNUC_UNUSED double now; - - - gras_init(&argc, argv); - - xbt_assert(argc == 3, "Usage: server "); - myport = atoi(argv[1]); - palstr = argv[2]; - - gras_msgtype_declare("hello", NULL); - gras_cb_register("hello", &server_cb_hello_handler); - - XBT_INFO("Launch server (port=%d)", myport); - TRY { - me = gras_socket_server(myport); - } - CATCH_ANONYMOUS { - RETHROWF("Unable to establish a server socket: %s"); - } - gras_os_sleep(1); /* Wait for pal to startup */ - TRY { - pal = gras_socket_client_from_string(palstr); - } - CATCH_ANONYMOUS { - RETHROWF("Unable to establish a socket to %s: %s", palstr); - } - XBT_INFO("Initialization done."); - now = gras_os_time(); - - /* Launch handle(0) when there is no message. Timeout expected */ - got_expected = 0; - TRY { - gras_msg_handle(0); - } - CATCH(e) { - if (e.category == timeout_error) { - got_expected = 1; - xbt_ex_free(e); - } else { - RETHROWF("Didn't got the expected timeout: %s"); - } - } - xbt_assert(got_expected, - "gras_msg_handle(0) do not lead to any timeout exception"); - xbt_assert(gras_os_time() - now < 0.01, - "gras_msg_handle(0) do not anwser immediately (%.4fsec)", - gras_os_time() - now); - XBT_INFO("gras_msg_handle(0) works as expected (immediate timeout)"); - /* Launch handle(0) when there is no message. Timeout expected */ - got_expected = 0; - TRY { - gras_msg_handle(1); - } - CATCH(e) { - if (e.category == timeout_error) { - got_expected = 1; - xbt_ex_free(e); - } else { - RETHROWF("Didn't got the expected timeout: %s"); - } - } - xbt_assert(got_expected, - "gras_msg_handle(1) do not lead to any timeout exception"); - xbt_assert(gras_os_time() - now < 1.5, - "gras_msg_handle(1) needs more than 1.5 sec to answer (%.4fsec)", - gras_os_time() - now); - xbt_assert(gras_os_time() - now >= 1.0, - "gras_msg_handle(1) answers in less than one second (%.4fsec)", - gras_os_time() - now); - XBT_INFO("gras_msg_handle(1) works as expected (delayed timeout)"); - gras_os_sleep(3); - - /* Send an hello to the client to unlock it */ - XBT_INFO("Unlock pal"); - gras_msg_send(pal, "hello", NULL); - - /* Frees the allocated resources, and shut GRAS down */ - gras_socket_close(me); - gras_socket_close(pal); - gras_exit(); - return 0; -} - -int client(int argc, char *argv[]) -{ - volatile xbt_socket_t me = NULL, pal = NULL; - int myport; - char *palstr; - - gras_init(&argc, argv); - xbt_assert(argc == 3, "Usage: client "); - myport = atoi(argv[1]); - palstr = argv[2]; - - gras_msgtype_declare("hello", NULL); - gras_cb_register("hello", &server_cb_hello_handler); - - XBT_INFO("Launch client (port=%d)", myport); - TRY { - me = gras_socket_server(myport); - } - CATCH_ANONYMOUS { - RETHROWF("Unable to establish a server socket: %s"); - } - gras_os_sleep(1); /* Wait for pal to startup */ - TRY { - pal = gras_socket_client_from_string(palstr); - } - CATCH_ANONYMOUS { - RETHROWF("Unable to establish a socket to %s: %s", palstr); - } - XBT_INFO("Initialization done."); - - /* Launch handle(-1). Lock until message from server expected */ - TRY { - gras_msg_handle(-1); - } - CATCH_ANONYMOUS { - RETHROWF("No exception expected during handle(-1), but got %s"); - } - XBT_INFO("gras_msg_handle(-1) works as expected (locked)"); - - /* Frees the allocated resources, and shut GRAS down */ - gras_socket_close(me); - gras_socket_close(pal); - gras_exit(); - return 0; -}