Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups in teshsuite/simdag/platforms, don't ask why
[simgrid.git] / teshsuite / simdag / platforms / basic_link_test.c
index 5b0cfc6..be84395 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008-2010, 2012. The SimGrid Team.
+/* Copyright (c) 2008-2010, 2012-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -6,35 +6,34 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include "simdag/simdag.h"
-#include "surf/surf_private.h"
+#include "simgrid/simdag.h"
 #include "xbt/log.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(basic_link_test, sd,
                                 "SimDag test basic_link_test");
 
+static int cmp_link(const void*a, const void*b) {
+  return strcmp(sg_link_name(*(SD_link_t*)a)  , sg_link_name(*(SD_link_t*)b));
+}
+
 int main(int argc, char **argv)
 {
-  int i;
   const char *user_data = "some user_data";
-  const SD_link_t *links;
 
   /* initialization of SD */
   SD_init(&argc, argv);
 
   /* creation of the environment */
   SD_create_environment(argv[1]);
-  XBT_INFO("Link number: %d", SD_link_get_number());
-  links = SD_link_get_list();
-  for(i=0; i<SD_link_get_number();i++){
-    XBT_INFO("%s: latency = %.5f, bandwidth = %f",
-             SD_link_get_name(links[i]),
-             SD_link_get_current_latency(links[i]),
-             SD_link_get_current_bandwidth(links[i]));
-    SD_link_set_data(links[i], (void*) user_data);
-    if(strcmp(user_data, (const char*)SD_link_get_data(links[i]))){
-      XBT_ERROR("User data was corrupted.");
-    }
+  const SD_link_t *links = sg_link_list();
+  int count = sg_link_count();
+  XBT_INFO("Link count: %d", count);
+  qsort((void *)links, count, sizeof(SD_link_t), cmp_link);
+   
+  for (int i=0; i < count; i++){
+    XBT_INFO("%s: latency = %.5f, bandwidth = %f", sg_link_name(links[i]), sg_link_latency(links[i]), sg_link_bandwidth(links[i]));
+    sg_link_data_set(links[i], (void*) user_data);
+    xbt_assert(!strcmp(user_data, (const char*)sg_link_data(links[i])),"User data was corrupted.");
   }
 
   SD_exit();