/* 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 "simgrid/msg.h"
+#include "simgrid/actor.h"
+#include "simgrid/engine.h"
+#include "simgrid/host.h"
+#include "simgrid/zone.h"
+
+#include "xbt/asserts.h"
+#include "xbt/dict.h"
+#include "xbt/log.h"
XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Property test");
static void test_host(const char* hostname)
{
- msg_host_t thehost = MSG_host_by_name(hostname);
- xbt_dict_t props = MSG_host_get_properties(thehost);
+ sg_host_t thehost = sg_host_by_name(hostname);
+ xbt_dict_t props = sg_host_get_properties(thehost);
xbt_dict_cursor_t cursor = NULL;
char* key;
char* data;
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(thehost, noexist);
+ value = sg_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(thehost, exist);
+ value = sg_host_get_property_value(thehost, exist);
xbt_assert(value, "\tProperty %s is undefined (where it should)", exist);
xbt_assert(!strcmp(value, "180"), "\tValue of property %s is defined to %s (where it should be 180)", exist, value);
XBT_INFO(" Property: %s old value: %s", exist, value);
XBT_INFO("== Trying to modify a host property");
- MSG_host_set_property_value(thehost, exist, (char*)"250");
+ sg_host_set_property_value(thehost, exist, (char*)"250");
/* Test if we have changed the value */
- value = MSG_host_get_property_value(thehost, exist);
+ value = sg_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 */
- MSG_host_set_property_value(thehost, exist, (char*)"180");
+ sg_host_set_property_value(thehost, exist, (char*)"180");
xbt_dict_free(&props);
}
-static int alice(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
+static void alice(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
{ /* Dump what we have on the current host */
test_host("host1");
- return 0;
}
-static int carole(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
-{ /* Dump what we have on a remote host */
- MSG_process_sleep(1); // Wait for alice to be done with its experiment
+static void carole(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
+{ /* Dump what we have on a remote host */
+ sg_actor_sleep_for(1); // Wait for alice to be done with its experiment
test_host("host1");
- return 0;
}
-static int david(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED 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
+static void david(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
+{ /* Dump what we have on a remote host */
+ sg_actor_sleep_for(2); // Wait for alice and carole to be done with its experiment
test_host("node-0.simgrid.org");
- return 0;
}
-static int bob(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
+static void bob(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
{
/* this host also tests the properties of the AS*/
- const_sg_netzone_t root = MSG_zone_get_root();
+ const_sg_netzone_t root = sg_zone_get_root();
XBT_INFO("== Print the properties of the AS");
- XBT_INFO(" Process property: filename -> %s", MSG_zone_get_property_value(root, "filename"));
- XBT_INFO(" Process property: date -> %s", MSG_zone_get_property_value(root, "date"));
- XBT_INFO(" Process property: author -> %s", MSG_zone_get_property_value(root, "author"));
+ XBT_INFO(" Process property: filename -> %s", sg_zone_get_property_value(root, "filename"));
+ XBT_INFO(" Process property: date -> %s", sg_zone_get_property_value(root, "date"));
+ XBT_INFO(" Process property: author -> %s", sg_zone_get_property_value(root, "author"));
/* Get the property list of current bob process */
- xbt_dict_t props = MSG_process_get_properties(MSG_process_self());
+ xbt_dict_t props = sg_actor_get_properties(sg_actor_self());
xbt_dict_cursor_t cursor = NULL;
char* key;
char* data;
XBT_INFO("== Try to get a process property that does not exist");
- value = MSG_process_get_property_value(MSG_process_self(), noexist);
+ value = sg_actor_get_property_value(sg_actor_self(), noexist);
xbt_assert(!value, "The property is defined (it shouldn't)");
xbt_dict_free(&props);
-
- return 0;
}
int main(int argc, char* argv[])
{
- unsigned int i;
- msg_host_t host;
-
- MSG_init(&argc, argv);
- xbt_assert(argc > 2, "Usage: %s platform_file deployment_file\n"
- "\tExample: %s msg_platform.xml msg_deployment.xml\n",
+ simgrid_init(&argc, argv);
+ xbt_assert(argc > 2,
+ "Usage: %s platform_file deployment_file\n"
+ "\tExample: %s msg_platform.xml msg_deployment.xml\n",
argv[0], argv[0]);
- MSG_function_register("alice", alice);
- MSG_function_register("bob", bob);
- MSG_function_register("carole", carole);
- MSG_function_register("david", david);
+ simgrid_register_function("alice", alice);
+ simgrid_register_function("bob", bob);
+ simgrid_register_function("carole", carole);
+ simgrid_register_function("david", david);
- MSG_create_environment(argv[1]);
+ simgrid_load_platform(argv[1]);
+ size_t host_count = sg_host_count();
+ XBT_INFO("There are %zu hosts in the environment", host_count);
- XBT_INFO("There are %zu hosts in the environment", MSG_get_host_number());
+ sg_host_t* hosts = sg_host_list();
+ for (size_t i = 0; i < host_count; i++)
+ XBT_INFO("Host '%s' runs at %.0f flops/s", sg_host_get_name(hosts[i]), sg_host_speed(hosts[i]));
- xbt_dynar_t hosts = MSG_hosts_as_dynar();
- xbt_dynar_foreach (hosts, i, host) {
- XBT_INFO("Host '%s' runs at %.0f flops/s", MSG_host_get_name(host), MSG_host_get_speed(host));
- }
- xbt_dynar_free(&hosts);
+ free(hosts);
- MSG_launch_application(argv[2]);
+ simgrid_load_deployment(argv[2]);
- msg_error_t res = MSG_main();
+ simgrid_run();
- return res != MSG_OK;
+ return 0;
}