Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 6 Dec 2011 14:42:01 +0000 (15:42 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 6 Dec 2011 14:42:01 +0000 (15:42 +0100)
1  2 
examples/msg/properties/msg_prop.c

@@@ -18,15 -18,14 +18,15 @@@ XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Pro
  
  int alice(int argc, char *argv[]);
  int bob(int argc, char *argv[]);
 +int carole(int argc, char *argv[]);
  int forwarder(int argc, char *argv[]);
  MSG_error_t test_all(const char *platform_file,
                       const char *application_file);
  
 -int alice(int argc, char *argv[])
 +static void test_host(const char*hostname) 
  {
 -  m_host_t host1 = MSG_get_host_by_name("host1");
 -  xbt_dict_t props = MSG_host_get_properties(host1);
 +  m_host_t thehost = MSG_get_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";
        XBT_INFO("  Host property: '%s' -> '%s'", key, data);
  
    XBT_INFO("== Try to get a host property that does not exist");
 -  value = MSG_host_get_property_value(host1, noexist);
 +  value = MSG_host_get_property_value(thehost, noexist);
    xbt_assert(!value, "The key exists (it's not supposed to)");
  
    XBT_INFO("== Try to get a host property that does exist");
 -  value = MSG_host_get_property_value(host1, exist);
 +  value = MSG_host_get_property_value(thehost, exist);
    xbt_assert(value, "\tProperty %s is undefined (where it should)",
                exist);
    xbt_assert(!strcmp(value, "180"),
    XBT_INFO("   Property: %s old value: %s", exist, value);
  
    XBT_INFO("== Trying to modify a host property");
-   xbt_dict_set(props, exist, xbt_strdup("250"), xbt_free_f);
+   xbt_dict_set(props, exist, xbt_strdup("250"), NULL);
  
    /* Test if we have changed the value */
 -  value = MSG_host_get_property_value(host1, exist);
 +  value = MSG_host_get_property_value(thehost, exist);
    xbt_assert(value, "Property %s is undefined (where it should)", exist);
    xbt_assert(!strcmp(value, "250"),
                "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 */
 +  xbt_dict_set(props, exist, xbt_strdup("180"), xbt_free_f);
 +}
  
 +int alice(int argc, char *argv[]) { /* Dump what we have on the current host */
 +  test_host("host1");
 +  return 0;
 +}
 +int carole(int argc, char *argv[]) {/* Dump what we have on a remote host */
 +  MSG_process_sleep(1); // Wait for alice to be done with its experiment
 +  test_host("host1");
    return 0;
  }
  
@@@ -102,7 -90,6 +102,7 @@@ MSG_error_t test_all(const char *platfo
  {
    MSG_function_register("alice", alice);
    MSG_function_register("bob", bob);
 +  MSG_function_register("carole", carole);
  
    MSG_create_environment(platform_file);
    MSG_launch_application(application_file);