examples:
ADD_TEST(msg-icomms-raw tesh --cfg simix/context:raw
--setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms
--cd ${CMAKE_BINARY_DIR}/examples/msg/icomms
${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
ADD_TEST(msg-icomms-thread tesh --cfg simix/context:thread
--setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms
--cd ${CMAKE_BINARY_DIR}/examples/msg/icomms
${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
ADD_TEST(msg-icomms-ucontext tesh --cfg simix/context:ucontext
--setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms
--cd ${CMAKE_BINARY_DIR}/examples/msg/icomms
${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
We can give many cfg to tesh.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9375
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
ADD_TEST(msg-ptask ${CMAKE_BINARY_DIR}/bin/tesh --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/parallel_task/parallel_task.tesh)
ADD_TEST(msg-priority ${CMAKE_BINARY_DIR}/bin/tesh --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/priority/priority.tesh)
ADD_TEST(msg-properties ${CMAKE_BINARY_DIR}/bin/tesh --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/properties/msg_prop.tesh)
-ADD_TEST(msg-icomms ${CMAKE_BINARY_DIR}/bin/tesh --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms --cd ${CMAKE_BINARY_DIR}/examples/msg/icomms ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
+ADD_TEST(msg-icomms-raw ${CMAKE_BINARY_DIR}/bin/tesh --cfg simix/context:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms --cd ${CMAKE_BINARY_DIR}/examples/msg/icomms ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
+ADD_TEST(msg-icomms-thread ${CMAKE_BINARY_DIR}/bin/tesh --cfg simix/context:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms --cd ${CMAKE_BINARY_DIR}/examples/msg/icomms ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
+ADD_TEST(msg-icomms-ucontext ${CMAKE_BINARY_DIR}/bin/tesh --cfg simix/context:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/icomms --cd ${CMAKE_BINARY_DIR}/examples/msg/icomms ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer.tesh)
ADD_TEST(msg-actions ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/actions --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/actions actions.tesh)
ADD_TEST(msg-masterslave-cpu-ti ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti.tesh)
ADD_TEST(msg-trace ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg trace/trace.tesh)
rctx->cmd = xbt_strdup(line);
rctx->filepos = xbt_strdup(filepos);
+ if(option){
+ rctx->cmd = bprintf("%s %s",rctx->cmd,option);
+ }
INFO3("[%s] %s%s", filepos, rctx->cmd,
((rctx->is_background) ? " (background command)" : ""));
int i;
char *suitename = NULL;
struct sigaction newact;
-
xbt_init(&argc, argv);
rctx_init();
parse_environ();
memmove(argv + i, argv + i + 2, (argc - i - 1) * sizeof(char *));
argc -= 2;
i -= 2;
+ } else if (!strcmp(argv[i], "--cfg" )) {
+ if (i == argc - 1) {
+ ERROR0("--cfg argument requires an argument");
+ exit(1);
+ }
+ if(!option){ //if option is NULL
+ option = bprintf("--cfg=%s",argv[i+1]);
+ }else{
+ option = bprintf("%s --cfg=%s",option,argv[i+1]);
+ }
+ INFO1("Add option \'--cfg=%s\' to command line",argv[i+1]);
+ memmove(argv + i, argv + i + 2, (argc - i - 1) * sizeof(char *));
+ argc -= 2;
+ i -= 2;
}
}
rctx_exit();
xbt_dict_free(&env);
+ xbt_free_f(option);
return 0;
}
/*** Options ***/
int timeout_value; /* child timeout value */
int sort_len; /* length of the prefix to sort */
+char* option; /* cfg for command line */
#define SORT_LEN_DEFAULT 19
rctx_t rctx;