From: suter Date: Wed, 20 Jun 2012 15:44:13 +0000 (+0200) Subject: Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid X-Git-Tag: v3_8~548 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/fe45c9fee67e0b37665de17ee009844a115778d3?hp=08d324beef1e0fa723013987a98ed7740d2f8343 Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid --- diff --git a/examples/simdag/dot/dot_test2.c b/examples/simdag/dot/dot_test2.c index b9baad1b94..b893634199 100644 --- a/examples/simdag/dot/dot_test2.c +++ b/examples/simdag/dot/dot_test2.c @@ -49,9 +49,6 @@ int main(int argc, char **argv) ("----------------------------- dump tasks again ------------------------------------"); while ((task=dot_as_array[cursor++])){ SD_task_dump(task); - } - - xbt_dynar_foreach(dot, cursor, task) { SD_task_destroy(task); } diff --git a/examples/simdag/dot/test_simdag_dotload.tesh b/examples/simdag/dot/test_simdag_dotload.tesh new file mode 100644 index 0000000000..8dd214d76d --- /dev/null +++ b/examples/simdag/dot/test_simdag_dotload.tesh @@ -0,0 +1,587 @@ +#! ./tesh +p Test the loader of DAG written in the DOT format + +$ $SG_TEST_EXENV ./dot_test ${srcdir:=..}/2clusters.xml ${srcdir:=.}/dag.dot +> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07 +> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- +> [0.000000] [sd_task/INFO] Displaying task root +> [0.000000] [sd_task/INFO] - state: schedulable not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] Displaying task 0 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] Displaying task 1 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000131 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] Displaying task 2 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000121 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] Displaying task 3 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000231 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] Displaying task 4 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] Displaying task 5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000046 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] Displaying task 6 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000092 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] Displaying task 7 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000041 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] Displaying task 8 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000250 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] Displaying task 9 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000079 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 2->3 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10002 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] Displaying task 6->7 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] Displaying task root->5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 1->2 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10004 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 7->end +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 0->1 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10001 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] Displaying task 4->5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10029 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 7->8 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] Displaying task end +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [test/INFO] ------------------- Schedule tasks --------------------------- +> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- +> [131.443480] [test/INFO] ------------------- Produce the trace file--------------------------- +> [131.443480] [test/INFO] Producing the trace of the run into ./dag.trace + +$ cat ${srcdir:=.}/dag.trace +> [0.000000] C2-05 compute 0.000000 # root +> [0.000000] C2-06 compute 10000000129.452715 # 0 +> [2.000600] C2-07 compute 10000000131.133657 # 1 +> [4.001200] C2-08 compute 10000000121.124870 # 2 +> [6.001800] C2-09 compute 10000000230.608025 # 3 +> [8.001800] C1-00 compute 10000000004.994019 # 4 +> [50.721440] C1-01 compute 10000000046.016401 # 5 +> [60.721440] C1-02 compute 10000000091.598791 # 6 +> [70.722040] C1-03 compute 10000000040.679438 # 7 +> [80.722640] C1-04 compute 10000000250.490017 # 8 +> [90.722641] C2-05 compute 10000000079.267649 # 9 +> [6.001200] C2-08 send C2-09 10001.781645 # 2->3 +> [6.001800] C2-09 recv C2-08 10001.781645 # 2->3 +> [70.721440] C1-02 send C1-03 10004.920415 # 6->7 +> [70.722040] C1-03 recv C1-02 10004.920415 # 6->7 +> [0.000000] C2-05 send C1-01 10014000.000000 # root->5 +> [50.721440] C1-01 recv C2-05 10014000.000000 # root->5 +> [4.000600] C2-07 send C2-08 10004.164631 # 1->2 +> [4.001200] C2-08 recv C2-07 10004.164631 # 1->2 +> [80.722040] C1-03 send C2-05 10014000.000000 # 7->end +> [131.443480] C2-05 recv C1-03 10014000.000000 # 7->end +> [2.000000] C2-06 send C2-07 10001.389601 # 0->1 +> [2.000600] C2-07 recv C2-06 10001.389601 # 0->1 +> [18.001800] C1-00 send C1-01 10029.262823 # 4->5 +> [18.002401] C1-01 recv C1-00 10029.262823 # 4->5 +> [80.722040] C1-03 send C1-04 10000.234049 # 7->8 +> [80.722640] C1-04 recv C1-03 10000.234049 # 7->8 +> [131.443480] C2-05 compute 0.000000 # end + +$ rm -f dag.trace + +$ $SG_TEST_EXENV ./dot_test2 ${srcdir:=.}/dag.dot +> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- +> [0.000000] [sd_task/INFO] Displaying task root +> [0.000000] [sd_task/INFO] - state: schedulable not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] Displaying task 0 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] Displaying task 1 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000131 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] Displaying task 2 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000121 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] Displaying task 3 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000231 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] Displaying task 4 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] Displaying task 5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000046 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] Displaying task 6 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000092 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] Displaying task 7 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000041 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] Displaying task 8 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000250 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] Displaying task 9 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000079 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 2->3 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10002 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] Displaying task 6->7 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] Displaying task root->5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 1->2 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10004 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 7->end +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 0->1 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10001 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] Displaying task 4->5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10029 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 7->8 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] Displaying task end +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [test/INFO] --------------------- Transform the dynar into an array --------------------------- +> [0.000000] [test/INFO] ----------------------------- dump tasks again ------------------------------------ +> [0.000000] [sd_task/INFO] Displaying task root +> [0.000000] [sd_task/INFO] - state: schedulable not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] Displaying task 0 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] Displaying task 1 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000131 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] Displaying task 2 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000121 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] Displaying task 3 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000231 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] Displaying task 4 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] Displaying task 5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000046 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] Displaying task 6 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000092 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] Displaying task 7 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000041 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] Displaying task 8 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000250 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] Displaying task 9 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000079 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 2->3 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10002 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] Displaying task 6->7 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] Displaying task root->5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 1->2 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10004 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 7->end +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 0->1 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10001 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] Displaying task 4->5 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10029 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 7->8 +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] Displaying task end +> [0.000000] [sd_task/INFO] - state: not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] 7->end diff --git a/src/instr/jedule/jedule_output.c b/src/instr/jedule/jedule_output.c index 25682b25ec..0099ce6d75 100644 --- a/src/instr/jedule/jedule_output.c +++ b/src/instr/jedule/jedule_output.c @@ -223,19 +223,20 @@ void write_jedule_output(FILE *file, jedule_t jedule, // xbt_assert( jed_file != NULL ); jed_file = file; + if (!xbt_dynar_is_empty(jedule_event_list)){ - fprintf(jed_file, "\n"); + fprintf(jed_file, "\n"); - fprintf(jed_file, "\n"); - print_key_value_dict(jedule->jedule_meta_info); - fprintf(jed_file, "\n"); + fprintf(jed_file, "\n"); + print_key_value_dict(jedule->jedule_meta_info); + fprintf(jed_file, "\n"); - print_platform(jedule->root_container); + print_platform(jedule->root_container); - print_events(event_list); - - fprintf(jed_file, "\n"); + print_events(event_list); + fprintf(jed_file, "\n"); + } } void jedule_init_output() { diff --git a/tools/tesh/README b/tools/tesh/README index 08e207da9b..8ae8137d6b 100644 --- a/tools/tesh/README +++ b/tools/tesh/README @@ -9,7 +9,7 @@ Here is the syntax of these files: The kind of each line is given by the first char (the second char should be blank and is ignored): - `$' command to run in forground + `$' command to run in foreground `&' command to run in background `<' input to pass to the command `>' output expected from the command @@ -29,7 +29,7 @@ Command line arguments ---------------------- Tesh accepts several command line arguments: --cd some/directory: ask tesh to switch the working directory before - lauching the tests + launching the tests --setenv var=value: set a specific environment variable IO orders @@ -58,7 +58,7 @@ errors such as the following: $ mkfile file TOTO will be passed to the cd command, where the user clearly want to pass it -to the mkfile buildin command (see below). +to the mkfile built-in command (see below). Stream redirection ------------------ @@ -109,7 +109,7 @@ OUTPUT ------ By default, the commands output is matched against the one expected, -and an error is raised on discrepency. Metacomands to change this: +and an error is raised on discrepancy. Metacommands to change this: "output ignore" -> output completely discarded "output display" -> output displayed (but not verified) "output sort" -> sorts the display before verifying it (see below) @@ -125,7 +125,7 @@ to sort the output back before comparing it. We expect the simulators to run with that log formating argument: -log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n Then, tesh sorts string on the 19 first chars only, and is stable when -line beginings are equal. This should ensure that: +line beginnings are equal. This should ensure that: (1) tesh is effective (no false positive, no false negative) (2) scheduling points are separated from each other (3) at each scheduling point, processes are separated from each other