Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / teshsuite / simdag / basic-parsing-test / basic-parsing-test.c
index c262726..c375ce5 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008-2019. The SimGrid Team.
+/* Copyright (c) 2008-2021. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -7,58 +7,66 @@
 #include <stdio.h>
 #include "simgrid/simdag.h"
 
-int main(int argc, char **argv)
+static void test_one_link(const sg_host_t* hosts)
 {
-  SD_init(&argc, argv);
-
-  /* creation of the environment */
-  SD_create_environment(argv[1]);
-  fprintf(stderr, "Workstation number: %zu, link number: %d\n", sg_host_count(), sg_link_count());
+  const_sg_host_t h1 = hosts[0];
+  const_sg_host_t h2 = hosts[1];
+  const char* name1  = sg_host_get_name(h1);
+  const char* name2  = sg_host_get_name(h2);
 
-  sg_host_t *hosts = sg_host_list();
-  if (argc >= 3) {
-    if (!strcmp(argv[2], "ONE_LINK")) {
-      sg_host_t h1 = hosts[0];
-      sg_host_t h2 = hosts[1];
-      const char *name1 = sg_host_get_name(h1);
-      const char *name2 = sg_host_get_name(h2);
+  fprintf(stderr, "Route between %s and %s\n", name1, name2);
+  xbt_dynar_t route = xbt_dynar_new(sizeof(SD_link_t), NULL);
+  sg_host_get_route(h1, h2, route);
+  fprintf(stderr, "Route size %lu\n", xbt_dynar_length(route));
+  unsigned int i;
+  SD_link_t link;
+  xbt_dynar_foreach (route, i, link)
+    fprintf(stderr, "  Link %s: latency = %f, bandwidth = %f\n", sg_link_get_name(link), sg_link_get_latency(link),
+            sg_link_get_bandwidth(link));
+  fprintf(stderr, "Route latency = %f, route bandwidth = %f\n", sg_host_get_route_latency(h1, h2),
+          sg_host_get_route_bandwidth(h1, h2));
+  xbt_dynar_free_container(&route);
+}
 
+static void test_full_link(const sg_host_t* hosts)
+{
+  size_t list_size = sg_host_count();
+  for (size_t i = 0; i < list_size; i++) {
+    const_sg_host_t h1 = hosts[i];
+    const char* name1  = sg_host_get_name(h1);
+    for (size_t j = 0; j < list_size; j++) {
+      const_sg_host_t h2 = hosts[j];
+      const char* name2  = sg_host_get_name(h2);
       fprintf(stderr, "Route between %s and %s\n", name1, name2);
       xbt_dynar_t route = xbt_dynar_new(sizeof(SD_link_t), NULL);
-      sg_host_route(h1, h2, route);
-      fprintf(stderr, "Route size %lu\n", xbt_dynar_length(route));
-      unsigned int i;
+      sg_host_get_route(h1, h2, route);
+      fprintf(stderr, "  Route size %lu\n", xbt_dynar_length(route));
+      unsigned int k;
       SD_link_t link;
-      xbt_dynar_foreach(route, i, link)
-        fprintf(stderr, "  Link %s: latency = %f, bandwidth = %f\n", sg_link_name(link),
-               sg_link_latency(link), sg_link_bandwidth(link));
-      fprintf(stderr, "Route latency = %f, route bandwidth = %f\n",
-             sg_host_route_latency(h1, h2), sg_host_route_bandwidth(h1, h2));
+      xbt_dynar_foreach (route, k, link)
+        fprintf(stderr, "  Link %s: latency = %f, bandwidth = %f\n", sg_link_get_name(link), sg_link_get_latency(link),
+                sg_link_get_bandwidth(link));
+      fprintf(stderr, "  Route latency = %f, route bandwidth = %f\n", sg_host_get_route_latency(h1, h2),
+              sg_host_get_route_bandwidth(h1, h2));
       xbt_dynar_free_container(&route);
     }
-    if (!strcmp(argv[2], "FULL_LINK")) {
-      int list_size = sg_host_count();
-      for (int i = 0; i < list_size; i++) {
-        sg_host_t h1 = hosts[i];
-        const char *name1 = sg_host_get_name(h1);
-        for (int j = 0; j < list_size; j++) {
-          sg_host_t h2 = hosts[j];
-          const char *name2 = sg_host_get_name(h2);
-          fprintf(stderr, "Route between %s and %s\n", name1, name2);
-          xbt_dynar_t route = xbt_dynar_new(sizeof(SD_link_t), NULL);
-          sg_host_route(h1, h2, route);
-          fprintf(stderr, "  Route size %lu\n", xbt_dynar_length(route));
-          unsigned int k;
-          SD_link_t link;
-          xbt_dynar_foreach(route, k, link)
-            fprintf(stderr, "  Link %s: latency = %f, bandwidth = %f\n",
-                sg_link_name(link), sg_link_latency(link), sg_link_bandwidth(link));
-          fprintf(stderr, "  Route latency = %f, route bandwidth = %f\n",
-                 sg_host_route_latency(h1, h2), sg_host_route_bandwidth(h1, h2));
-          xbt_dynar_free_container(&route);
-        }
-      }
-    }
+  }
+}
+
+int main(int argc, char** argv)
+{
+  SD_init(&argc, argv);
+
+  /* creation of the environment */
+  SD_create_environment(argv[1]);
+  fprintf(stderr, "Workstation number: %zu, link number: %d\n", sg_host_count(), sg_link_count());
+
+  sg_host_t* hosts = sg_host_list();
+  if (argc >= 3) {
+    if (!strcmp(argv[2], "ONE_LINK"))
+      test_one_link(hosts);
+    if (!strcmp(argv[2], "FULL_LINK"))
+      test_full_link(hosts);
     if (!strcmp(argv[2], "PROP"))
       fprintf(stderr,"SG_TEST_mem: %s\n", sg_host_get_property_value(sg_host_by_name("host1"), "SG_TEST_mem"));
   }