# use the tested library, not the installed one
+# (since we want to pass it to the child, it has to be redefined before each command)
! setenv LD_LIBRARY_PATH=../../src/.libs
-! setenv cmdline=../../src/smpi/smpirun -quiet -hostfile hostfile -platform ../msg/small_platform.xml
-! output ignore
+# Go for the first test
p Test Broadcast with less processes than hosts
-$ ${cmdline} -np 3 ./bcast
+$ ../../src/smpi/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/small_platform.xml -np 3 ./bcast -q
> [rank 0] -> Tremblay
> [rank 1] -> Jupiter
> [rank 2] -> Fafard
-> node 1 has value 3 before broadcast
> node 0 has value 17 before broadcast
+> node 1 has value 3 before broadcast
> node 2 has value 3 before broadcast
> node 1 has value 17 after broadcast
-> node 0 has value 17 after broadcast
> node 2 has value 17 after broadcast
-> [0.000000] [smpi_kernel/INFO] simulation time 0.00343892
+> node 0 has value 17 after broadcast
+
+
+# second test
p Test Broadcast with as much processes than hosts
-$ ${cmdline} -np 6 ./bcast
+! setenv LD_LIBRARY_PATH=../../src/.libs
+$ ../../src/smpi/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/small_platform.xml -np 6 ./bcast -q
+> [rank 0] -> Tremblay
+> [rank 1] -> Jupiter
+> [rank 2] -> Fafard
+> [rank 3] -> Ginette
+> [rank 4] -> Bourassa
+> [rank 5] -> Tremblay
+> node 0 has value 17 before broadcast
+> node 1 has value 3 before broadcast
+> node 2 has value 3 before broadcast
+> node 3 has value 3 before broadcast
+> node 4 has value 3 before broadcast
+> node 5 has value 3 before broadcast
+> node 3 has value 17 after broadcast
+> node 4 has value 17 after broadcast
+> node 2 has value 17 after broadcast
+> node 0 has value 17 after broadcast
+> node 5 has value 17 after broadcast
+> node 1 has value 17 after broadcast
+
+# Another test
p Test Broadcast with more processes than hosts
-$ ${cmdline} -np 12 ./bcast
+! setenv LD_LIBRARY_PATH=../../src/.libs
+$ ../../src/smpi/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/small_platform.xml -np 12 ./bcast -q
+> [rank 0] -> Tremblay
+> [rank 1] -> Jupiter
+> [rank 2] -> Fafard
+> [rank 3] -> Ginette
+> [rank 4] -> Bourassa
+> [rank 5] -> Tremblay
+> [rank 6] -> Jupiter
+> [rank 7] -> Fafard
+> [rank 8] -> Ginette
+> [rank 9] -> Bourassa
+> [rank 10] -> Tremblay
+> [rank 11] -> Jupiter
+> node 0 has value 17 before broadcast
+> node 1 has value 3 before broadcast
+> node 2 has value 3 before broadcast
+> node 3 has value 3 before broadcast
+> node 4 has value 3 before broadcast
+> node 5 has value 3 before broadcast
+> node 6 has value 3 before broadcast
+> node 7 has value 3 before broadcast
+> node 8 has value 3 before broadcast
+> node 9 has value 3 before broadcast
+> node 10 has value 3 before broadcast
+> node 11 has value 3 before broadcast
+> node 3 has value 17 after broadcast
+> node 6 has value 17 after broadcast
+> node 4 has value 17 after broadcast
+> node 0 has value 17 after broadcast
+> node 9 has value 17 after broadcast
+> node 5 has value 17 after broadcast
+> node 10 has value 17 after broadcast
+> node 8 has value 17 after broadcast
+> node 7 has value 17 after broadcast
+> node 1 has value 17 after broadcast
+> node 11 has value 17 after broadcast
+> node 2 has value 17 after broadcast