From 9a042f95a062f5fdf726c3ab83c91df4527db8e9 Mon Sep 17 00:00:00 2001 From: mquinson Date: Fri, 26 Jun 2009 16:09:43 +0000 Subject: [PATCH] Change --surf-path into --cfg=path git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6368 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- ChangeLog | 1 + src/surf/surf.c | 31 ------- src/surf/surf_config.c | 22 ++++- .../simdag/platforms/basic_parsing_test.tesh | 83 ++++++++++++++----- .../platforms/basic_parsing_test_failing.tesh | 7 +- testsuite/run_tests.in | 8 +- 6 files changed, 91 insertions(+), 61 deletions(-) diff --git a/ChangeLog b/ChangeLog index adb1b2ddf8..f47757cf8b 100644 --- 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 diff --git a/src/surf/surf.c b/src/surf/surf.c index a6fcd8db71..a4e1d75e9b 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -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) diff --git a/src/surf/surf_config.c b/src/surf/surf_config.c index 369cfa89e3..fb2a7e114a 100644 --- a/src/surf/surf_config.c +++ b/src/surf/surf_config.c @@ -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); } } diff --git a/teshsuite/simdag/platforms/basic_parsing_test.tesh b/teshsuite/simdag/platforms/basic_parsing_test.tesh index c4298fafbc..79bef058b4 100644 --- a/teshsuite/simdag/platforms/basic_parsing_test.tesh +++ b/teshsuite/simdag/platforms/basic_parsing_test.tesh @@ -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' diff --git a/teshsuite/simdag/platforms/basic_parsing_test_failing.tesh b/teshsuite/simdag/platforms/basic_parsing_test_failing.tesh index 12f91c4be7..6062846961 100644 --- a/teshsuite/simdag/platforms/basic_parsing_test_failing.tesh +++ b/teshsuite/simdag/platforms/basic_parsing_test_failing.tesh @@ -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' diff --git a/testsuite/run_tests.in b/testsuite/run_tests.in index 6b7e999a44..6243320e0c 100755 --- a/testsuite/run_tests.in +++ b/testsuite/run_tests.in @@ -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; " -- 2.20.1