X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/61379d12042f27c51406997c88c75da31d1e23f7..41cb34100b0b14cb1ef701d303d0608aa389bee7:/examples/msg/properties/msg_prop.c diff --git a/examples/msg/properties/msg_prop.c b/examples/msg/properties/msg_prop.c index bdbbf08a61..c77494e0aa 100644 --- a/examples/msg/properties/msg_prop.c +++ b/examples/msg/properties/msg_prop.c @@ -1,10 +1,10 @@ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2015. The SimGrid Team. * All rights reserved. */ /* 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 "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */ +#include "simgrid/msg.h" /* Yeah! If you want to use msg, you need to include simgrid/msg.h */ #include "xbt/sysdep.h" /* calloc, printf */ /* Create a log channel to have nice outputs. */ @@ -31,21 +31,21 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Property test"); int alice(int argc, char *argv[]); int bob(int argc, char *argv[]); int carole(int argc, char *argv[]); -int forwarder(int argc, char *argv[]); +int david(int argc, char *argv[]); msg_error_t test_all(const char *platform_file, const char *application_file); static void test_host(const char*hostname) { - msg_host_t thehost = MSG_get_host_by_name(hostname); + msg_host_t thehost = MSG_host_by_name(hostname); xbt_dict_t props = MSG_host_get_properties(thehost); xbt_dict_cursor_t cursor = NULL; char *key, *data; const char *noexist = "Unknown"; const char *value; - char exist[] = "SG_TEST_Hdd"; + char exist[] = "Hdd"; - XBT_INFO("== Print the properties of the host"); + XBT_INFO("== Print the properties of the host '%s'", hostname); xbt_dict_foreach(props, cursor, key, data) XBT_INFO(" Host property: '%s' -> '%s'", key, data); @@ -63,7 +63,7 @@ static void test_host(const char*hostname) XBT_INFO(" Property: %s old value: %s", exist, value); XBT_INFO("== Trying to modify a host property"); - MSG_host_set_property_value(thehost, exist, xbt_strdup("250"), NULL); + MSG_host_set_property_value(thehost, exist, xbt_strdup("250"), xbt_free_f); /* Test if we have changed the value */ value = MSG_host_get_property_value(thehost, exist); @@ -72,9 +72,9 @@ static void test_host(const char*hostname) "Value of property %s is defined to %s (where it should be 250)", exist, value); XBT_INFO(" Property: %s old value: %s", exist, value); - + /* Restore the value for the next test */ - MSG_host_set_property_value(thehost, exist, xbt_strdup("180"), NULL); + MSG_host_set_property_value(thehost, exist, xbt_strdup("180"), xbt_free_f); } int alice(int argc, char *argv[]) { /* Dump what we have on the current host */ @@ -86,6 +86,11 @@ int carole(int argc, char *argv[]) {/* Dump what we have on a remote host */ test_host("host1"); return 0; } +int david(int argc, char *argv[]) {/* Dump what we have on a remote host */ + MSG_process_sleep(2); // Wait for alice and carole to be done with its experiment + test_host("node-0.acme.org"); + return 0; +} int bob(int argc, char *argv[]) { @@ -94,7 +99,7 @@ int bob(int argc, char *argv[]) xbt_dict_cursor_t cursor = NULL; char *key, *data; const char *noexist = "UnknownProcessProp"; - _XBT_GNUC_UNUSED const char *value; + XBT_ATTRIB_UNUSED const char *value; XBT_INFO("== Print the properties of the process"); xbt_dict_foreach(props, cursor, key, data) @@ -116,9 +121,12 @@ msg_error_t test_all(const char *platform_file, unsigned int i; xbt_dynar_t hosts; msg_host_t host; + msg_error_t ret; + MSG_function_register("alice", alice); MSG_function_register("bob", bob); MSG_function_register("carole", carole); + MSG_function_register("david", david); MSG_create_environment(platform_file); @@ -134,7 +142,11 @@ msg_error_t test_all(const char *platform_file, MSG_launch_application(application_file); - return MSG_main(); + ret = MSG_main(); + + xbt_dynar_free(&hosts); + + return ret; } /* end_of_test_all */