From f26cd6685142f04fd0024837cd5251ceb34dbc41 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 25 Jul 2015 22:32:15 +0200 Subject: [PATCH] Tesh: Use 0 as a default sorting prefix I used 'output sort' to deal with events that occure in order of map traversal, and could not devise why it was uneffective. Until I digged deep in tesh again. So use a sensible, unsurprising value, and change it where needed. And update the documentation, just in case someone would read it in a parallel dimension. --- examples/java/async/async.tesh | 2 +- examples/java/bittorrent/bittorrent.tesh | 2 +- examples/java/chord/chord.tesh | 2 +- examples/java/cloud/cloud.tesh | 2 +- examples/java/commTime/commtime.tesh | 2 +- examples/java/kademlia/kademlia.tesh | 2 +- examples/java/master_slave_bypass/bypass.tesh | 2 +- examples/java/master_slave_kill/kill.tesh | 2 +- examples/java/masterslave/masterslave.tesh | 2 +- examples/java/migration/migration.tesh | 2 +- .../java/mutualExclusion/mutualexclusion.tesh | 2 +- examples/java/pingPong/pingpong.tesh | 2 +- examples/java/priority/priority.tesh | 2 +- examples/java/surfPlugin/surf_plugin.tesh | 10 ++- examples/java/suspend/suspend.tesh | 2 +- examples/java/tracing/tracingPingPong.tesh | 2 +- examples/lua/multi_matrix/mult_matrix.tesh | 2 +- examples/msg/actions/actions.tesh | 12 ++-- examples/msg/bittorrent/bittorrent.tesh | 2 +- examples/msg/chainsend/chainsend.tesh | 2 +- examples/msg/chord/chord.tesh | 4 +- examples/msg/chord/chord_crosstraffic.tesh | 4 +- .../consumption/energy_consumption.tesh | 2 +- examples/msg/energy/onoff/onoff.tesh | 2 +- examples/msg/energy/pstate/pstate.tesh | 2 +- examples/msg/exception/exception.tesh | 2 +- examples/msg/icomms/peer.tesh | 10 +-- examples/msg/kademlia/kademlia.tesh | 2 +- examples/msg/masterslave/masterslave.tesh | 2 +- .../msg/masterslave/masterslave_bypass.tesh | 2 +- .../msg/masterslave/masterslave_cpu_ti.tesh | 8 +-- .../masterslave_cpu_ti_crosstraffic.tesh | 8 +-- .../msg/masterslave/masterslave_failure.tesh | 2 +- .../masterslave_failure_crosstraffic.tesh | 2 +- .../masterslave/masterslave_forwarder.tesh | 2 +- .../msg/masterslave/masterslave_mailbox.tesh | 2 +- examples/msg/migration/migration.tesh | 2 +- examples/msg/parallel_task/parallel_task.tesh | 4 +- examples/msg/pastry/pastry.tesh | 2 +- examples/msg/pastry/pastry_crosstraffic.tesh | 4 +- examples/msg/priority/priority.tesh | 2 +- examples/msg/properties/msg_prop.tesh | 2 +- examples/msg/sendrecv/sendrecv_CLM03.tesh | 2 +- examples/msg/sendrecv/sendrecv_Reno.tesh | 2 +- examples/msg/sendrecv/sendrecv_Vegas.tesh | 2 +- examples/msg/suspend/suspend.tesh | 2 +- .../scala/master_slave_bypass/bypass.tesh | 2 +- examples/scala/master_slave_kill/kill.tesh | 2 +- examples/scala/masterslave/masterslave.tesh | 2 +- examples/smpi/replay/smpi_replay.tesh | 2 +- tools/tesh/set-output-sort.tesh | 8 +-- tools/tesh/tesh.1 | 61 +++++++++++-------- tools/tesh/tesh.pl | 25 +++++--- 53 files changed, 134 insertions(+), 106 deletions(-) diff --git a/examples/java/async/async.tesh b/examples/java/async/async.tesh index d5b93f704e..8a487e1e55 100644 --- a/examples/java/async/async.tesh +++ b/examples/java/async/async.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 ! timeout 30 $ java -classpath ${classpath:=.} async/AsyncTest ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/async/asyncDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/bittorrent/bittorrent.tesh b/examples/java/bittorrent/bittorrent.tesh index ae621b9545..89c28c2a7e 100644 --- a/examples/java/bittorrent/bittorrent.tesh +++ b/examples/java/bittorrent/bittorrent.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 ! timeout 15 $ java -classpath ${classpath:=.} bittorrent/Bittorrent ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/bittorrent/bittorrent.xml diff --git a/examples/java/chord/chord.tesh b/examples/java/chord/chord.tesh index f523ed04a6..4168a5cb3b 100644 --- a/examples/java/chord/chord.tesh +++ b/examples/java/chord/chord.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} chord/Chord ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/chord/chord.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/cloud/cloud.tesh b/examples/java/cloud/cloud.tesh index a76287ca60..64a3c4bdbc 100644 --- a/examples/java/cloud/cloud.tesh +++ b/examples/java/cloud/cloud.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} cloud/Cloud ${srcdir:=.}/../platforms/platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/commTime/commtime.tesh b/examples/java/commTime/commtime.tesh index bdc2531305..cdd101cb85 100644 --- a/examples/java/commTime/commtime.tesh +++ b/examples/java/commTime/commtime.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 ! timeout 15 $ java -classpath ${classpath:=.} commTime/CommTimeTest ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/commTime/commTimeDeployment.xml diff --git a/examples/java/kademlia/kademlia.tesh b/examples/java/kademlia/kademlia.tesh index 1238bbda8e..d9a0acf994 100644 --- a/examples/java/kademlia/kademlia.tesh +++ b/examples/java/kademlia/kademlia.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} kademlia/Kademlia ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/kademlia/kademlia.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/master_slave_bypass/bypass.tesh b/examples/java/master_slave_bypass/bypass.tesh index 2e04e658c6..01efba0fe1 100644 --- a/examples/java/master_slave_bypass/bypass.tesh +++ b/examples/java/master_slave_bypass/bypass.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} master_slave_bypass/MsBypass ${srcdir:=.}/../platforms/platform.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/master_slave_kill/kill.tesh b/examples/java/master_slave_kill/kill.tesh index bab8eb1a23..022b338760 100644 --- a/examples/java/master_slave_kill/kill.tesh +++ b/examples/java/master_slave_kill/kill.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} master_slave_kill/MsKill ${srcdir:=.}/../platforms/platform.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/masterslave/masterslave.tesh b/examples/java/masterslave/masterslave.tesh index 0e98d4435f..83b8fdb9d1 100644 --- a/examples/java/masterslave/masterslave.tesh +++ b/examples/java/masterslave/masterslave.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} masterslave/Masterslave ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/masterslave/masterslaveDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/migration/migration.tesh b/examples/java/migration/migration.tesh index 5b195fd764..913900276e 100644 --- a/examples/java/migration/migration.tesh +++ b/examples/java/migration/migration.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} migration/Migration ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/migration/migrationDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/mutualExclusion/mutualexclusion.tesh b/examples/java/mutualExclusion/mutualexclusion.tesh index f3d1def9ea..c744230b38 100644 --- a/examples/java/mutualExclusion/mutualexclusion.tesh +++ b/examples/java/mutualExclusion/mutualexclusion.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} mutualExclusion/MutexCentral ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/mutualExclusion/mutex_centralized_deployment.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/pingPong/pingpong.tesh b/examples/java/pingPong/pingpong.tesh index aaa1d3be08..69c7dfed98 100644 --- a/examples/java/pingPong/pingpong.tesh +++ b/examples/java/pingPong/pingpong.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} pingPong/PingPongTest ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/pingPong/pingPongDeployment.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/priority/priority.tesh b/examples/java/priority/priority.tesh index b19afc7c14..32747db78f 100644 --- a/examples/java/priority/priority.tesh +++ b/examples/java/priority/priority.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} priority/Priority ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/priority/priorityDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/java/surfPlugin/surf_plugin.tesh b/examples/java/surfPlugin/surf_plugin.tesh index c425c63294..f0f720ddfe 100644 --- a/examples/java/surfPlugin/surf_plugin.tesh +++ b/examples/java/surfPlugin/surf_plugin.tesh @@ -1,9 +1,13 @@ #! tesh -# we have to sort the output as events are delivered in the order of -# map traversal, which is not portable - +# +# DONT GIVE A SORT LENGTH PREFIX HERE. +# +# we want to sort on the whole line so that link destruction events +# (that are delivered in the order of map traversal) become reproducible +# ! output sort +# $ java -classpath ${classpath:=.} surfPlugin/TestPlugin ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/surfPlugin/surfPluginDeployment.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. > [0.000000] [jmsg/INFO] Trace: Link created __loopback__ diff --git a/examples/java/suspend/suspend.tesh b/examples/java/suspend/suspend.tesh index c726f18560..ec22ec704d 100644 --- a/examples/java/suspend/suspend.tesh +++ b/examples/java/suspend/suspend.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} suspend/Suspend ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/suspend/suspendDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. > [ 0.000000] (1:suspend.DreamMaster@Jacquelin) Let's create a lazy guy. diff --git a/examples/java/tracing/tracingPingPong.tesh b/examples/java/tracing/tracingPingPong.tesh index 6f90c1d5bf..f86e589798 100644 --- a/examples/java/tracing/tracingPingPong.tesh +++ b/examples/java/tracing/tracingPingPong.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} tracing/TracingTest ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/tracing/tracingPingPongDeployment.xml --cfg=tracing:yes --cfg=tracing/filename:simulation.trace --cfg=tracing/platform:yes > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/lua/multi_matrix/mult_matrix.tesh b/examples/lua/multi_matrix/mult_matrix.tesh index 1710a8c01f..47aa928a22 100644 --- a/examples/lua/multi_matrix/mult_matrix.tesh +++ b/examples/lua/multi_matrix/mult_matrix.tesh @@ -2,7 +2,7 @@ # Later modify the commande and specify the platform and deployment path -! output sort +! output sort 19 $ lua mult_matrix.lua "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:Sender@Tremblay) Hello From Sender > [ 0.000000] (1:Sender@Tremblay) Argc=4 (should be 4) diff --git a/examples/msg/actions/actions.tesh b/examples/msg/actions/actions.tesh index 2a63d9a739..0817df9236 100644 --- a/examples/msg/actions/actions.tesh +++ b/examples/msg/actions/actions.tesh @@ -1,6 +1,6 @@ # A little tesh file testing most MPI-related actions -! output sort +! output sort 19 $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml deployment_split.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > WARNING: THIS BINARY IS KINDA DEPRECATED > This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead. @@ -10,7 +10,7 @@ $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/ > [ 32.703314] (2:p1@Ruby) p1 sleep 12 12.000000 > [ 32.703314] (0:@) Simulation time 32.7033 -! output sort +! output sort 19 $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml deployment.xml actions_allReduce.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > WARNING: THIS BINARY IS KINDA DEPRECATED > This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead. @@ -23,7 +23,7 @@ $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/ > [ 12.268239] (3:p2@Perl) p2 compute 5e8 5.097100 > [ 12.268239] (0:@) Simulation time 12.2682 -! output sort +! output sort 19 $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml deployment.xml actions_barrier.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > WARNING: THIS BINARY IS KINDA DEPRECATED > This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead. @@ -37,7 +37,7 @@ $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/ > [ 0.068527] (1:p0@Tremblay) p0 compute 4.5E6 0.045874 > [ 0.068527] (0:@) Simulation time 0.0685268 -! output sort +! output sort 19 $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml deployment.xml actions_bcast.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > WARNING: THIS BINARY IS KINDA DEPRECATED > This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead. @@ -59,7 +59,7 @@ $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/ > [ 18.402358] (1:p0@Tremblay) p0 reduce 5e8 5e8 6.134119 > [ 18.402358] (0:@) Simulation time 18.4024 -! output sort +! output sort 19 $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml deployment.xml actions_reduce.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > WARNING: THIS BINARY IS KINDA DEPRECATED > This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead. @@ -72,7 +72,7 @@ $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/ > [ 11.231219] (1:p0@Tremblay) p0 compute 5e8 5.097100 > [ 11.231219] (0:@) Simulation time 11.2312 -! output sort +! output sort 19 $ ${bindir:=.}/actions --log=actions.thres=verbose ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml deployment.xml actions_with_isend.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > WARNING: THIS BINARY IS KINDA DEPRECATED > This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead. diff --git a/examples/msg/bittorrent/bittorrent.tesh b/examples/msg/bittorrent/bittorrent.tesh index 9b4961a4b1..651b01dca8 100755 --- a/examples/msg/bittorrent/bittorrent.tesh +++ b/examples/msg/bittorrent/bittorrent.tesh @@ -3,7 +3,7 @@ p Testing the Bittorrent implementation with MSG ! timeout 10 -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/bittorrent ${srcdir:=.}/../../platforms/platform.xml ${srcdir:=.}/bittorrent.xml "--log=root.fmt:[%12.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:tracker@Jacquelin) Tracker launched. > [ 0.000000] (2:peer@Boivin) Hi, I'm joining the network with id 2 diff --git a/examples/msg/chainsend/chainsend.tesh b/examples/msg/chainsend/chainsend.tesh index 34851f7f6d..c2db3205d0 100644 --- a/examples/msg/chainsend/chainsend.tesh +++ b/examples/msg/chainsend/chainsend.tesh @@ -3,7 +3,7 @@ p Testing the chainsend MSG implementation ! timeout 60 -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chainsend ${srcdir:=.}/../../platforms/platform.xml ${srcdir:=.}/deployment_tesh.xml "--log=root.fmt:[%12.6r]%e(%i:%P@%h)%e%m%n" > [ 587.704210] (2:peer@Boivin) ### 587.704224 16777216 bytes (Avg 0.027225 MB/s); copy finished (simulated). > [ 786.931829] (3:peer@Jean_Yves) ### 786.931824 16777216 bytes (Avg 0.020332 MB/s); copy finished (simulated). diff --git a/examples/msg/chord/chord.tesh b/examples/msg/chord/chord.tesh index e60689d920..4e6e1218c9 100644 --- a/examples/msg/chord/chord.tesh +++ b/examples/msg/chord/chord.tesh @@ -2,7 +2,7 @@ p Testing the Chord implementation with MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../../platforms/platform.xml ${srcdir:=.}/chord.xml --cfg=network/crosstraffic:0 --log=msg_chord.thres:verbose "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (1:node@Gatien) Joining the ring with id 48, knowing node 1 @@ -456,7 +456,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../../platfor > [804.364963] (0:@) Messages created: 788 > [804.364963] (0:@) Simulated time: 804.365 -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --cfg=network/crosstraffic:0 --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (0:@) Configuration change: Set 'network/model' to 'Constant' diff --git a/examples/msg/chord/chord_crosstraffic.tesh b/examples/msg/chord/chord_crosstraffic.tesh index 08530a2329..edfc3bc249 100644 --- a/examples/msg/chord/chord_crosstraffic.tesh +++ b/examples/msg/chord/chord_crosstraffic.tesh @@ -2,7 +2,7 @@ p> Testing the Chord implementation with MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../../platforms/platform.xml ${srcdir:=.}/chord.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:node@Gatien) Joining the ring with id 48, knowing node 1 > [ 0.000000] (2:node@McGee) Joining the ring with id 42, knowing node 1 @@ -455,7 +455,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../../platfor > [804.365058] (0:@) Messages created: 788 > [804.365058] (0:@) Simulated time: 804.365 -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant > [ 0.000000] (0:@) Configuration change: Set 'network/model' to 'Constant' > [ 0.000000] (10:node@node-9.acme.org) Joining the ring with id 2015253, knowing node 1319738 diff --git a/examples/msg/energy/consumption/energy_consumption.tesh b/examples/msg/energy/consumption/energy_consumption.tesh index 6f751c033d..d701b8bd14 100644 --- a/examples/msg/energy/consumption/energy_consumption.tesh +++ b/examples/msg/energy/consumption/energy_consumption.tesh @@ -2,7 +2,7 @@ p Testing the mechanism for computing host energy consumption -! output sort +! output sort 19 $ $SG_TEST_EXENV energy/consumption/energy_consumption$EXEEXT ${srcdir:=.}/../platforms/energy_platform.xml ${srcdir:=.}/energy/consumption/deployment_consumption.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:dvfs_test@MyHost1) Energetic profile: 95.0:200.0, 93.0:170.0, 90.0:150.0 > [ 0.000000] (1:dvfs_test@MyHost1) Initial peak speed=1E+08 flop/s; Energy dissipated =0E+00 J diff --git a/examples/msg/energy/onoff/onoff.tesh b/examples/msg/energy/onoff/onoff.tesh index ed6091cda5..d9ad58a20a 100644 --- a/examples/msg/energy/onoff/onoff.tesh +++ b/examples/msg/energy/onoff/onoff.tesh @@ -2,7 +2,7 @@ p Testing the mechanism for computing host energy consumption -! output sort +! output sort 19 $ $SG_TEST_EXENV energy/onoff/onoff$EXEEXT ${srcdir:=.}/energy/onoff/platform_onoff.xml ${srcdir:=.}/energy/onoff/deployment_onoff.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:onoff_test@MyHost2) Energetic profile: 95.0:200.0,93.0:170.0,90.0:150.0, 120:120,110:110 > [ 0.000000] (1:onoff_test@MyHost2) Initial peak speed=1E+08 flop/s; Energy dissipated =0E+00 J diff --git a/examples/msg/energy/pstate/pstate.tesh b/examples/msg/energy/pstate/pstate.tesh index 10ff8fa129..89cc7de5c1 100644 --- a/examples/msg/energy/pstate/pstate.tesh +++ b/examples/msg/energy/pstate/pstate.tesh @@ -2,7 +2,7 @@ p Testing the DVFS-related functions -! output sort +! output sort 19 $ $SG_TEST_EXENV energy/pstate/pstate$EXEEXT ${srcdir:=.}/../platforms/energy_platform.xml ${srcdir:=.}/energy/pstate/deployment_pstate.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:dvfs_test@MyHost1) Count of Processor states=3 > [ 0.000000] (2:dvfs_test@MyHost2) Count of Processor states=1 diff --git a/examples/msg/exception/exception.tesh b/examples/msg/exception/exception.tesh index ab67769b07..b03a3f6712 100644 --- a/examples/msg/exception/exception.tesh +++ b/examples/msg/exception/exception.tesh @@ -2,7 +2,7 @@ p Testing the remote exception raising feature -! output sort +! output sort 19 $ $SG_TEST_EXENV exception/exception ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/exception/deployment_exception.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" "--cfg=exception/cutpath:1" > [ 0.000000] (1:terrorist@Jacquelin) Let's create a victim. > [ 0.000000] (2:victim@Jacquelin) Let's work. diff --git a/examples/msg/icomms/peer.tesh b/examples/msg/icomms/peer.tesh index 66d7bc362a..184334ea9a 100644 --- a/examples/msg/icomms/peer.tesh +++ b/examples/msg/icomms/peer.tesh @@ -2,7 +2,7 @@ p Test1 MSG_comm_test() with Sleep_sender > Sleep_receiver -! output sort +! output sort 19 $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/deployment_peer01.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:sender@Tremblay) sleep_start_time : 5.000000 , sleep_test_time : 0.100000 > [ 0.000000] (2:receiver@Ruby) sleep_start_time : 1.000000 , sleep_test_time : 0.100000 @@ -30,7 +30,7 @@ $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/de p Test2 MSG_comm_test() with Sleep_sender < Sleep_receiver -! output sort +! output sort 19 $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/deployment_peer02.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:sender@Tremblay) sleep_start_time : 1.000000 , sleep_test_time : 0.100000 > [ 0.000000] (2:receiver@Ruby) sleep_start_time : 5.000000 , sleep_test_time : 0.100000 @@ -58,7 +58,7 @@ $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/de p Test1 MSG_comm_wait() with Sleep_sender > Sleep_receiver -! output sort +! output sort 19 $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/deployment_peer03.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:sender@Tremblay) sleep_start_time : 5.000000 , sleep_test_time : 0.000000 > [ 0.000000] (2:receiver@Ruby) sleep_start_time : 1.000000 , sleep_test_time : 0.000000 @@ -87,7 +87,7 @@ $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/de p Test2 MSG_comm_wait() with Sleep_sender < Sleep_receiver -! output sort +! output sort 19 $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/deployment_peer04.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:sender@Tremblay) sleep_start_time : 1.000000 , sleep_test_time : 0.000000 > [ 0.000000] (2:receiver@Ruby) sleep_start_time : 5.000000 , sleep_test_time : 0.000000 @@ -115,7 +115,7 @@ $ ./peer ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/de p Test1 MSG_comm_waitall() for sender -! output sort +! output sort 19 $ ./peer2 ${srcdir:=.}/../../platforms/small_platform_fatpipe.xml ${srcdir:=.}/deployment_peer.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:sender@Tremblay) Send to receiver-0 Task_0 > [ 0.000000] (1:sender@Tremblay) Send to receiver-0 Task_1 diff --git a/examples/msg/kademlia/kademlia.tesh b/examples/msg/kademlia/kademlia.tesh index 8b85394f8e..991e80b234 100644 --- a/examples/msg/kademlia/kademlia.tesh +++ b/examples/msg/kademlia/kademlia.tesh @@ -2,7 +2,7 @@ p Testing the Kademlia implementation with MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/kademlia ${srcdir:=.}/../../platforms/platform.xml ${srcdir:=.}/kademlia.xml "--log=root.fmt:[%10.6r]%e(%02i:%P@%h)%e%m%n" > [ 0.000000] ( 1:node@Jacquelin) Hi, I'm going to create the network with id 00000000 > [ 0.000000] ( 2:node@Boivin) Hi, I'm going to join the network with id 00000001 diff --git a/examples/msg/masterslave/masterslave.tesh b/examples/msg/masterslave/masterslave.tesh index f5fb8622a3..eec7035e7d 100644 --- a/examples/msg/masterslave/masterslave.tesh +++ b/examples/msg/masterslave/masterslave.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application -! output sort +! output sort 19 $ $SG_TEST_EXENV masterslave/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platforms/small_platform_with_routers.xml ${srcdir:=.}/masterslave/deployment_masterslave.xml --cfg=network/crosstraffic:0 --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (1:master@Tremblay) Got 5 slaves and 20 tasks to process diff --git a/examples/msg/masterslave/masterslave_bypass.tesh b/examples/msg/masterslave/masterslave_bypass.tesh index 66e0838d2d..f04c8c5f0e 100644 --- a/examples/msg/masterslave/masterslave_bypass.tesh +++ b/examples/msg/masterslave/masterslave_bypass.tesh @@ -1,7 +1,7 @@ #! ./tesh p Testing the bypassing of the flexml parser -! output sort +! output sort 19 $ $SG_TEST_EXENV masterslave/masterslave_bypass --log=no_loc "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code. > [ 0.000000] (1:master@host A) Got 1 slave(s) : diff --git a/examples/msg/masterslave/masterslave_cpu_ti.tesh b/examples/msg/masterslave/masterslave_cpu_ti.tesh index c40acd5a66..c3a19d3079 100644 --- a/examples/msg/masterslave/masterslave_cpu_ti.tesh +++ b/examples/msg/masterslave/masterslave_cpu_ti.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml masterslave/deployment_masterslave.xml --cfg=network/crosstraffic:0 --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (0:@) Configuration change: Set 'cpu/optim' to 'TI' @@ -127,7 +127,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platf p Testing a master/slave example application with a forwarder module -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT msg_platform.xml masterslave/deployment_masterslave_forwarder.xml --cfg=network/crosstraffic:0 --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (0:@) Configuration change: Set 'cpu/optim' to 'TI' @@ -278,7 +278,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT msg_platform.xml mast p Testing a simple master/slave example application handling failures -! output sort +! output sort 19 $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc small_platform_with_failures.xml masterslave/deployment_masterslave.xml --cfg=network/crosstraffic:0 --cfg=path:${srcdir} --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Cannot launch process 'slave' on failed host 'Fafard' > [ 0.000000] (1:master@Tremblay) Got 5 slave(s) : @@ -372,7 +372,7 @@ $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_ p Testing the bypassing of the flexml parser -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/masterslave_bypass --log=no_loc --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'cpu/optim' to 'TI' > [ 0.000000] (0:@) Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code. diff --git a/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh b/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh index 94063dbfed..b357b913f9 100644 --- a/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh +++ b/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml masterslave/deployment_masterslave.xml --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'cpu/optim' to 'TI' > [ 0.000000] (1:master@Tremblay) Got 5 slaves and 20 tasks to process @@ -127,7 +127,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platf p Testing a master/slave example application with a forwarder module -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platforms/platform.xml masterslave/deployment_masterslave_forwarder.xml --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'cpu/optim' to 'TI' > [ 0.000000] (1:master@Jacquelin) Got 5 slaves and 20 tasks to process @@ -278,7 +278,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platf p Testing a simple master/slave example application handling failures -! output sort +! output sort 19 $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/../platforms/small_platform_with_failures.xml masterslave/deployment_masterslave.xml --cfg=path:${srcdir} --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Cannot launch process 'slave' on failed host 'Fafard' > [ 0.000000] (1:master@Tremblay) Got 5 slave(s) : @@ -379,7 +379,7 @@ $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_ p Testing the bypassing of the flexml parser -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/masterslave_bypass --log=no_loc --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'cpu/optim' to 'TI' > [ 0.000000] (0:@) Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code. diff --git a/examples/msg/masterslave/masterslave_failure.tesh b/examples/msg/masterslave/masterslave_failure.tesh index f6596fff95..7ff5688d09 100644 --- a/examples/msg/masterslave/masterslave_failure.tesh +++ b/examples/msg/masterslave/masterslave_failure.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application handling failures -! output sort +! output sort 19 $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/../platforms/small_platform_with_failures.xml ${srcdir:=.}/masterslave/deployment_masterslave.xml --cfg=path:${srcdir} --cfg=network/crosstraffic:0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Cannot launch process 'slave' on failed host 'Fafard' > [ 0.000000] (1:master@Tremblay) Got 5 slave(s) : diff --git a/examples/msg/masterslave/masterslave_failure_crosstraffic.tesh b/examples/msg/masterslave/masterslave_failure_crosstraffic.tesh index ad02729c3f..c555d3c468 100644 --- a/examples/msg/masterslave/masterslave_failure_crosstraffic.tesh +++ b/examples/msg/masterslave/masterslave_failure_crosstraffic.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application handling failures -! output sort +! output sort 19 $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/../platforms/small_platform_with_failures.xml ${srcdir:=.}/masterslave/deployment_masterslave.xml --cfg=path:${srcdir} "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Cannot launch process 'slave' on failed host 'Fafard' > [ 0.000000] (1:master@Tremblay) Got 5 slave(s) : diff --git a/examples/msg/masterslave/masterslave_forwarder.tesh b/examples/msg/masterslave/masterslave_forwarder.tesh index a9d700e371..ebe95818e0 100644 --- a/examples/msg/masterslave/masterslave_forwarder.tesh +++ b/examples/msg/masterslave/masterslave_forwarder.tesh @@ -2,7 +2,7 @@ p Testing a master/slave example application with a forwarder module -! output sort +! output sort 19 $ $SG_TEST_EXENV masterslave/masterslave_forwarder$EXEEXT ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/masterslave/deployment_masterslave_forwarder.xml --cfg=network/crosstraffic:0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (1:master@Jacquelin) Got 5 slaves and 20 tasks to process diff --git a/examples/msg/masterslave/masterslave_mailbox.tesh b/examples/msg/masterslave/masterslave_mailbox.tesh index 1ef1bd9ad2..325823a64e 100644 --- a/examples/msg/masterslave/masterslave_mailbox.tesh +++ b/examples/msg/masterslave/masterslave_mailbox.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application (mailbox version) -! output sort +! output sort 19 $ $SG_TEST_EXENV masterslave/masterslave_mailbox$EXEEXT ${srcdir:=.}/../platforms/small_platform_with_routers.xml ${srcdir:=.}/masterslave/deployment_masterslave_mailbox.xml --cfg=network/crosstraffic:0 --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'network/crosstraffic' to '0' > [ 0.000000] (1:master@Tremblay) Got 5 slaves and 20 tasks to process diff --git a/examples/msg/migration/migration.tesh b/examples/msg/migration/migration.tesh index 3de45ed0a7..4c95507198 100644 --- a/examples/msg/migration/migration.tesh +++ b/examples/msg/migration/migration.tesh @@ -2,7 +2,7 @@ p Testing the migration feature of MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV migration/migration ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/migration/migration.deploy "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:emigrant@Jacquelin) I'll look for a new job on another machine where the grass is greener. > [ 0.000000] (1:emigrant@Boivin) Yeah, found something to do diff --git a/examples/msg/parallel_task/parallel_task.tesh b/examples/msg/parallel_task/parallel_task.tesh index 81e0febdd3..7d331e8a42 100644 --- a/examples/msg/parallel_task/parallel_task.tesh +++ b/examples/msg/parallel_task/parallel_task.tesh @@ -2,13 +2,13 @@ p Testing a simple master/slave example application -! output sort +! output sort 19 $ $SG_TEST_EXENV parallel_task/parallel_task$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Switching to the L07 model to handle parallel tasks. > [ 0.009378] (1:test@Fafard) Goodbye now! > [ 0.009378] (0:@) Simulation time 0.00937836 -! output sort +! output sort 19 $ $SG_TEST_EXENV parallel_task/test_ptask$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/parallel_task/test_ptask_deployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Switching to the L07 model to handle parallel tasks. > [ 20.625396] (1:execute@Ginette) execution_time=20.6254 diff --git a/examples/msg/pastry/pastry.tesh b/examples/msg/pastry/pastry.tesh index fd9708dcd3..5e7d6d8441 100644 --- a/examples/msg/pastry/pastry.tesh +++ b/examples/msg/pastry/pastry.tesh @@ -2,5 +2,5 @@ p Testing the Chord implementation with MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/pastry$EXEEXT -nb_bits=6 ${srcdir:=.}/../msg_platform.xml ${srcdir:=.}/chord.xml --cfg=network/crosstraffic:0 --log=msg_chord.thres:verbose "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" diff --git a/examples/msg/pastry/pastry_crosstraffic.tesh b/examples/msg/pastry/pastry_crosstraffic.tesh index 97b329286a..903f207b56 100644 --- a/examples/msg/pastry/pastry_crosstraffic.tesh +++ b/examples/msg/pastry/pastry_crosstraffic.tesh @@ -2,7 +2,7 @@ p Testing the Chord implementation with MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../msg_platform.xml ${srcdir:=.}/chord.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:node@Gatien) Joining the ring with id 48, knowing node 1 > [ 0.000000] (2:node@McGee) Joining the ring with id 42, knowing node 1 @@ -437,7 +437,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../msg_platfo > [803.668999] (0:@) Messages created: 768 > [803.668999] (0:@) Simulated time: 803.669 -! output sort +! output sort 19 $ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant > [ 0.000000] (0:@) Configuration change: Set 'network/model' to 'Constant' > [ 0.000000] (10:node@node-9.acme.org) Joining the ring with id 2015253, knowing node 1319738 diff --git a/examples/msg/priority/priority.tesh b/examples/msg/priority/priority.tesh index dddf7b5e04..41838595d6 100644 --- a/examples/msg/priority/priority.tesh +++ b/examples/msg/priority/priority.tesh @@ -2,7 +2,7 @@ p Testing a simple master/slave example application -! output sort +! output sort 19 $ $SG_TEST_EXENV priority/priority$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/priority/deployment_priority.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:test@Fafard) Hello! Running a task of size 7.6296e+07 with priority 1 > [ 0.000000] (2:test@Fafard) Hello! Running a task of size 7.6296e+07 with priority 2 diff --git a/examples/msg/properties/msg_prop.tesh b/examples/msg/properties/msg_prop.tesh index a3d97db863..d62e091e75 100644 --- a/examples/msg/properties/msg_prop.tesh +++ b/examples/msg/properties/msg_prop.tesh @@ -2,7 +2,7 @@ p Testing a MSG application with properties in the XML for Hosts, Links and Processes -! output sort +! output sort 19 $ $SG_TEST_EXENV properties/msg_prop$EXEEXT ${srcdir:=.}/../platforms/prop.xml ${srcdir:=.}/properties/deployment_properties.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) There are 7 hosts in the environment > [ 0.000000] (0:@) Host 'node-3.acme.org' runs at 1000000000 flops/s diff --git a/examples/msg/sendrecv/sendrecv_CLM03.tesh b/examples/msg/sendrecv/sendrecv_CLM03.tesh index aa04542b7e..6f8f5b658f 100644 --- a/examples/msg/sendrecv/sendrecv_CLM03.tesh +++ b/examples/msg/sendrecv/sendrecv_CLM03.tesh @@ -2,7 +2,7 @@ p Testing the deprecated CM02 network model -! output sort +! output sort 19 $ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml --cfg=cpu/model:Cas01 --cfg=network/model:CM02 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01' > [ 0.000000] (0:@) Configuration change: Set 'network/model' to 'CM02' diff --git a/examples/msg/sendrecv/sendrecv_Reno.tesh b/examples/msg/sendrecv/sendrecv_Reno.tesh index 03fc500eab..888699d8bb 100644 --- a/examples/msg/sendrecv/sendrecv_Reno.tesh +++ b/examples/msg/sendrecv/sendrecv_Reno.tesh @@ -2,7 +2,7 @@ p Testing the surf network Reno fairness model using lagrangian approach -! output sort +! output sort 19 $ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml "--cfg=host/model:compound cpu/model:Cas01 network/model:Reno" --log=surf_lagrange.thres=critical "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'host/model' to 'compound' > [ 0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01' diff --git a/examples/msg/sendrecv/sendrecv_Vegas.tesh b/examples/msg/sendrecv/sendrecv_Vegas.tesh index 51fa358a70..3fa0467ca6 100644 --- a/examples/msg/sendrecv/sendrecv_Vegas.tesh +++ b/examples/msg/sendrecv/sendrecv_Vegas.tesh @@ -2,7 +2,7 @@ p Testing the surf network Vegas fairness model using lagrangian approach -! output sort +! output sort 19 $ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/../platforms/small_platform.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml "--cfg=host/model:compound cpu/model:Cas01 network/model:Vegas" "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'host/model' to 'compound' > [ 0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01' diff --git a/examples/msg/suspend/suspend.tesh b/examples/msg/suspend/suspend.tesh index bd28bc0ada..4a6f59da09 100644 --- a/examples/msg/suspend/suspend.tesh +++ b/examples/msg/suspend/suspend.tesh @@ -2,7 +2,7 @@ p Testing the suspend/resume feature of MSG -! output sort +! output sort 19 $ $SG_TEST_EXENV suspend/suspend ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/suspend/deployment_suspend.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (1:dream_master@Jacquelin) Let's create a lazy guy. > [ 0.000000] (1:dream_master@Jacquelin) Let's wait a little bit... diff --git a/examples/scala/master_slave_bypass/bypass.tesh b/examples/scala/master_slave_bypass/bypass.tesh index f2cdf42050..aa26972f60 100644 --- a/examples/scala/master_slave_bypass/bypass.tesh +++ b/examples/scala/master_slave_bypass/bypass.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} master_slave_bypass/MsBypass ${srcdir:=.}/../platforms/small_platform.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. > [Jupiter:process1:(1) 0.000000] [jmsg/INFO] Master Hello! diff --git a/examples/scala/master_slave_kill/kill.tesh b/examples/scala/master_slave_kill/kill.tesh index f3c6df2b6d..12d0c9b6dc 100644 --- a/examples/scala/master_slave_kill/kill.tesh +++ b/examples/scala/master_slave_kill/kill.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} master_slave_kill/MsKill ${srcdir:=.}/../platforms/small_platform.xml > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/scala/masterslave/masterslave.tesh b/examples/scala/masterslave/masterslave.tesh index 0e98d4435f..83b8fdb9d1 100644 --- a/examples/scala/masterslave/masterslave.tesh +++ b/examples/scala/masterslave/masterslave.tesh @@ -1,6 +1,6 @@ #! tesh -! output sort +! output sort 19 $ java -classpath ${classpath:=.} masterslave/Masterslave ${srcdir:=.}/../platforms/platform.xml ${srcdir:=.}/masterslave/masterslaveDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. diff --git a/examples/smpi/replay/smpi_replay.tesh b/examples/smpi/replay/smpi_replay.tesh index 65f8814c71..fdaf31b90e 100644 --- a/examples/smpi/replay/smpi_replay.tesh +++ b/examples/smpi/replay/smpi_replay.tesh @@ -377,7 +377,7 @@ p Test of waitall replay with SMPI (one trace for all processes) < replay/actions_waitall.txt $ mkfile replay/one_trace -! output sort +! output sort 19 $ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/../platforms/small_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace --log=smpi_kernel.thres:warning > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI' diff --git a/tools/tesh/set-output-sort.tesh b/tools/tesh/set-output-sort.tesh index c2856a2f7f..b7ae3076e9 100644 --- a/tools/tesh/set-output-sort.tesh +++ b/tools/tesh/set-output-sort.tesh @@ -22,15 +22,15 @@ $ ${bindir:=.}/tesh --enable-coverage --log='log.thresh:info tesh.fmt:%m%n' set- > [set-output-sort-1:64] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz' > Test suite `set-output-sort-1' OK -p Check the default prefix length (19) for "output sort" -! output sort +p Check the Right Prefix Length (19) for "output sort" +! output sort 19 < 12345678901234567 B line < 12345678901234567 A line $ cat > 12345678901234567 A line > 12345678901234567 B line -! output sort +! output sort 19 < 123456789012345678 B line < 123456789012345678 A line $ cat @@ -39,7 +39,7 @@ $ cat ! expect return 2 ! output ignore -< ! output sort +< ! output sort 19 < < 123456789012345678 B line < < 123456789012345678 A line < $ cat diff --git a/tools/tesh/tesh.1 b/tools/tesh/tesh.1 index 7dee6bbaef..3c55b70808 100644 --- a/tools/tesh/tesh.1 +++ b/tools/tesh/tesh.1 @@ -104,32 +104,45 @@ and an error is raised on discrepancy. Metacommands to change this: "output display" -> output displayed (but not verified) "output sort" -> sorts the display before verifying it (see below) .SH SORTING OUTPUT -Sorting the output seems to be a strange idea, but it is mandatory in -SimGrid since the processes run out of order at any scheduling point -(ie, every processes ready to run at simulated time t run in -parallel). To ensure that the simulator outputs still match, we have -to sort the output back before comparing it. - -We expect the simulators to run with that log formatting 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 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 - (4) the order of what a given process says at a given scheduling - point is preserved. - -This is of course very SimGrid oriented, breaking the generality of -tesh, but who cares, actually? - -If you want to change the length of the prefix used for the sort, -simply specify it after the output sort directive, like this: - -! output sort 22 + +SimGrid is designed to produce perfectly reproducible results, so its +output can usualy be compared without any preprocessing. This is not +true anymore when the user activates parallel execution: User +processes are run in parallel at each timestamp, and the output is not +reproducible anymore. Until you sort the lines. + +If you ask for +.B ! output sort +then tesh will sort the whole lines. But it really complicates the +analysis of the error detected: the logical order of the output is +defeated by the lexicographical sort. + +The solution is to ask for +.B ! output sort 19 +instead to sort only on the prefix of the line. Indeed, we run our simulation +tests with the flag: + --log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n + +Then, the previous command sorts lines on the first 19 chars, that is +exactly the length of the prefix indicating the timestamp and the +process. That's exactly what we need: + - Every timestamps remain separated, as it should; + - In each timestamp, the output order of processes become + reproducible: that's the lexicographical order of their name; + - For each process, the order of its execution is preserved: its + messages within a given timestamp are not reordered. + +That way, tesh can do its job (no false positive, no false negative) +despite the unpredictable order of executions of processes within a +timestamp, and reported errors remain easy to analyze (execution of a +given process preserved). + +This is of course very SimGrid oriented, but could even be usable by +others, who knows? + .SH ENVIRONMENT You can add some content to the tested processes environment with the setenv metacommand. It works as expected. For example: "setenv PATH=/bin" .SH BUGS -No known bugs. +No known bugs. diff --git a/tools/tesh/tesh.pl b/tools/tesh/tesh.pl index 0bb11384c4..4bbeb20fca 100755 --- a/tools/tesh/tesh.pl +++ b/tools/tesh/tesh.pl @@ -29,7 +29,7 @@ my $enable_coverage=0; my $diff_tool=0; my $diff_tool_tmp_fh=0; my $diff_tool_tmp_filename=0; -my $sort_prefix = 19; +my $sort_prefix = -1; my $tesh_file; my $tesh_name; my $error=0; @@ -339,14 +339,22 @@ sub parse_out { substr($a, 0, $sort_prefix) cmp substr($b, 0, $sort_prefix) } use sort 'stable'; - @got = sort mysort @got; + if ($sort_prefix>0) { + @got = sort mysort @got; + } else { + @got = sort @got; + } while (@got and $got[0] eq "") { shift @got; } # Sort the expected output to make it easier to write for humans if(defined($cmd{'out'})){ - @{$cmd{'out'}}=sort mysort @{$cmd{'out'}}; + if ($sort_prefix>0) { + @{$cmd{'out'}} = sort mysort @{$cmd{'out'}}; + } else { + @{$cmd{'out'}} = sort @{$cmd{'out'}}; + } while (@{$cmd{'out'}} and ${$cmd{'out'}}[0] eq "") { shift @{$cmd{'out'}}; } @@ -401,10 +409,13 @@ sub parse_out { print "Output of <$cmd{'file'}:$cmd{'line'}> mismatch".($cmd{'sort'}?" (even after sorting)":"").":\n"; map { print "$_\n" } split(/\n/,$diff); if ($cmd{'sort'}) { - print "WARNING: both the observed output and expected output were sorted as requested.\n"; - print "----8<--------------- Begin of unprocessed observed output (as it should appear in file):\n"; - map {print "> $_\n"} @{$cmd{'unsorted got'}}; - print "--------------->8---- End of the unprocessed observed output.\n"; + print "WARNING: Both the observed output and expected output were sorted as requested.\n"; + print "WARNING: Output were only sorted using the $sort_prefix first chars.\n" + if ($sort_prefix>0); + print "WARNING: Use to sort by simulated date and process ID only.\n"; + # print "----8<--------------- Begin of unprocessed observed output (as it should appear in file):\n"; + # map {print "> $_\n"} @{$cmd{'unsorted got'}}; + # print "--------------->8---- End of the unprocessed observed output.\n"; } print "Test suite `$cmd{'file'}': NOK (<$cmd{'file'}:$cmd{'line'}> output mismatch)\n"; -- 2.20.1