Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Change --surf-path into --cfg=path
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 26 Jun 2009 16:09:43 +0000 (16:09 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 26 Jun 2009 16:09:43 +0000 (16:09 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6368 48e7efb5-ca39-0410-a469-dd3cf9ba447f

ChangeLog
src/surf/surf.c
src/surf/surf_config.c
teshsuite/simdag/platforms/basic_parsing_test.tesh
teshsuite/simdag/platforms/basic_parsing_test_failing.tesh
testsuite/run_tests.in

index adb1b2d..f47757c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -68,6 +68,7 @@ SimGrid (3.4-svn) unstable; urgency=high
  SURF:
   * TCP_gamma can now be specified as command line option using
     --cfg=TCP_gamma:10000000.0
+  * Change the --surf-path cmd line option into --cfg=path:
   
  XBT:
   * Also include strbuff from xbt.h public header
index a6fcd8d..a4e1d75 100644 (file)
@@ -324,11 +324,6 @@ XBT_LOG_EXTERNAL_CATEGORY(surf_network_gtnets);
 
 void surf_init(int *argc, char **argv)
 {
-  int i, j;
-  char *opt;
-
-  const char *initial_path;
-
   /* Connect our log channels: that must be done manually under windows */
   XBT_LOG_CONNECT(surf_cpu, surf);
   XBT_LOG_CONNECT(surf_kernel, surf);
@@ -350,32 +345,6 @@ void surf_init(int *argc, char **argv)
 #endif
 
   xbt_init(argc, argv);
-  if (!surf_path) {
-
-    /* retrieves the current directory of the current process */
-    initial_path = __surf_get_initial_path();
-
-    xbt_assert0((initial_path),
-                "__surf_get_initial_path() failed! Can't resolves current Windows directory");
-
-    surf_path = xbt_dynar_new(sizeof(char *), NULL);
-    xbt_dynar_push(surf_path, &initial_path);
-
-    for (i = 1; i < *argc; i++) {
-      if (!strncmp(argv[i], "--surf-path=", strlen("--surf-path="))) {
-        opt = strchr(argv[i], '=');
-        opt++;
-        xbt_dynar_push(surf_path, &opt);
-        /*remove this from argv */
-        for (j = i + 1; j < *argc; j++) {
-          argv[j - 1] = argv[j];
-        }
-        argv[j - 1] = NULL;
-        (*argc)--;
-        i--;                    /* compensate effect of next loop incrementation */
-      }
-    }
-  }
   if (!model_list)
     model_list = xbt_dynar_new(sizeof(surf_model_private_t), NULL);
   if (!history)
index 369cfa8..fb2a7e1 100644 (file)
@@ -95,12 +95,16 @@ static void _surf_cfg_cb__network_model(const char *name, int pos)
        find_model_description(surf_network_model_description, val);
 }
 
-/* callback of the cpu_model variable */
-static void _surf_cfg_cb__tcp_gamma(const char *name, int pos)
-{
+/* callback of the tcp gamma variable */
+static void _surf_cfg_cb__tcp_gamma(const char *name, int pos) {
        sg_tcp_gamma =  xbt_cfg_get_double(_surf_cfg_set, name);
 }
 
+static void _surf_cfg_cb__surf_path(const char *name, int pos) {
+       char *path = xbt_cfg_get_string_at(_surf_cfg_set, name,pos);
+    xbt_dynar_push(surf_path, &path);
+}
+
 
 
 /* create the config set, register what should be and parse the command line*/
@@ -148,6 +152,18 @@ void surf_config_init(int *argc, char **argv) {
                                        xbt_cfgelm_double,_surf_cfg_cb__tcp_gamma,NULL);
                xbt_cfg_set_double(_surf_cfg_set, "TCP_gamma", 20000.0);
 
+               xbt_cfg_register(_surf_cfg_set,"path","Lookup path for inclusions in platform and deployment XML files",
+                                       xbt_cfgelm_string, 0,0,_surf_cfg_cb__surf_path,NULL);
+               if (!surf_path) {
+                       /* retrieves the current directory of the        current process */
+                       const char *initial_path = __surf_get_initial_path();
+                       xbt_assert0((initial_path),
+                                       "__surf_get_initial_path() failed! Can't resolves current Windows directory");
+
+                       surf_path = xbt_dynar_new(sizeof(char *), NULL);
+                       xbt_cfg_set_string(_surf_cfg_set,"path", initial_path);
+               }
+
                surf_config_cmd_line(argc,argv);
        }
 }
index c4298fa..79bef05 100644 (file)
@@ -1,21 +1,62 @@
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_cluster_foreach.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_cluster_one_host_random.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_cluster_one_host.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_cluster_properties_foreach.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_cluster.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_availability.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_properties.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_state_file.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_state_off.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_state_on.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_trace_inside.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_link_availability.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_link_fatpipe.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_link_shared.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_link_state_file.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms three_hosts_non_symmetric_route.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms two_clusters_symmetric.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms two_clusters.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms two_hosts_multi_hop.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms two_hosts_one_link.xml
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_cluster_foreach.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_cluster_one_host_random.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_cluster_one_host.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_cluster_properties_foreach.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_cluster.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_availability.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_properties.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_state_file.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_state_off.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_state_on.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_trace_inside.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_link_availability.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_link_fatpipe.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_link_shared.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_link_state_file.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms three_hosts_non_symmetric_route.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms two_clusters_symmetric.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms two_clusters.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms two_hosts_multi_hop.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms two_hosts_one_link.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
index 12f91c4..6062846 100644 (file)
@@ -1,2 +1,5 @@
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_cluster_properties_override.xml
-$ simdag/platforms/basic_parsing_test --surf-path=simdag/platforms one_host_trace_file.xml
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_cluster_properties_override.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
+
+$ simdag/platforms/basic_parsing_test --cfg=path:simdag/platforms one_host_trace_file.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'path' to 'simdag/platforms'
index 6b7e999..6243320 100755 (executable)
@@ -38,11 +38,11 @@ xbt_TESTS=" \
 
 surf_TESTS="surf/lmm_usage@EXEEXT@;                                        \
             surf/maxmin_bench@EXEEXT@;                                        \
-           surf/trace_usage@EXEEXT@ --surf-path=@srcdir@/surf/;              \
-           surf/surf_usage@EXEEXT@  --surf-path=@srcdir@/surf/ platform.xml; \
-           surf/surf_usage2@EXEEXT@ --surf-path=@srcdir@/surf/ platform.xml;"
+           surf/trace_usage@EXEEXT@ --cfg=path:@srcdir@/surf/;              \
+           surf/surf_usage@EXEEXT@  --cfg=path:@srcdir@/surf/ platform.xml; \
+           surf/surf_usage2@EXEEXT@ --cfg=path:@srcdir@/surf/ platform.xml;"
 
-simdag_TESTS="simdag/sd_test --surf-path=@srcdir@/simdag @srcdir@/simdag/small_platform_variable.xml; \
+simdag_TESTS="simdag/sd_test --cfg=path:@srcdir@/simdag @srcdir@/simdag/small_platform_variable.xml; \
               simdag/sd_test @top_srcdir@/examples/msg/small_platform.xml; \
               simdag/sd_test @top_srcdir@/examples/msg/msg_platform.xml; "