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
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);
#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)
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*/
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);
}
}
-$ 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'
-$ 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'
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; "