Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not use configure to generate the test script, factorize some Makefile.am stuff...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 8 Jun 2007 13:52:22 +0000 (13:52 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 8 Jun 2007 13:52:22 +0000 (13:52 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3592 48e7efb5-ca39-0410-a469-dd3cf9ba447f

61 files changed:
examples/gras/Makefile.am
examples/gras/Makefile.in
examples/gras/all2all/.cvsignore
examples/gras/all2all/Makefile.am
examples/gras/all2all/Makefile.in
examples/gras/all2all/test_rl [moved from examples/gras/all2all/test_rl.in with 66% similarity]
examples/gras/all2all/test_sg.in [deleted file]
examples/gras/all2all/test_sg_32 [new file with mode: 0755]
examples/gras/all2all/test_sg_64 [new file with mode: 0755]
examples/gras/chrono/.cvsignore
examples/gras/chrono/Makefile.am
examples/gras/chrono/Makefile.in
examples/gras/chrono/test_rl [new file with mode: 0755]
examples/gras/chrono/test_rl.in [deleted file]
examples/gras/chrono/test_sg.in [deleted file]
examples/gras/chrono/test_sg_32 [new file with mode: 0755]
examples/gras/chrono/test_sg_64 [new file with mode: 0755]
examples/gras/mmrpc/.cvsignore
examples/gras/mmrpc/Makefile.am
examples/gras/mmrpc/Makefile.in
examples/gras/mmrpc/test_rl [moved from examples/gras/mmrpc/test_rl.in with 70% similarity]
examples/gras/mmrpc/test_sg.in [deleted file]
examples/gras/mmrpc/test_sg_32 [new file with mode: 0755]
examples/gras/mmrpc/test_sg_64 [new file with mode: 0755]
examples/gras/mutual_exclusion/simple_token/.cvsignore
examples/gras/mutual_exclusion/simple_token/Makefile.am
examples/gras/mutual_exclusion/simple_token/Makefile.in
examples/gras/mutual_exclusion/simple_token/test_rl [new file with mode: 0755]
examples/gras/mutual_exclusion/simple_token/test_rl.in [deleted file]
examples/gras/mutual_exclusion/simple_token/test_sg_32 [moved from examples/gras/mutual_exclusion/simple_token/test_sg.in with 85% similarity]
examples/gras/mutual_exclusion/simple_token/test_sg_64 [new file with mode: 0755]
examples/gras/p2p/Makefile.in
examples/gras/p2p/can/Makefile.in
examples/gras/p2p/chord/Makefile.in
examples/gras/ping/.cvsignore
examples/gras/ping/Makefile.am
examples/gras/ping/Makefile.in
examples/gras/ping/test_rl [moved from examples/gras/ping/test_rl.in with 81% similarity]
examples/gras/ping/test_sg.in [deleted file]
examples/gras/ping/test_sg_32 [new file with mode: 0755]
examples/gras/ping/test_sg_64 [new file with mode: 0755]
examples/gras/pmm/.cvsignore
examples/gras/pmm/Makefile.am
examples/gras/pmm/Makefile.in
examples/gras/pmm/test_rl [moved from examples/gras/pmm/test_rl.in with 82% similarity]
examples/gras/pmm/test_sg.in [deleted file]
examples/gras/pmm/test_sg_32 [new file with mode: 0755]
examples/gras/pmm/test_sg_64 [new file with mode: 0755]
examples/gras/rpc/.cvsignore
examples/gras/rpc/Makefile.am
examples/gras/rpc/Makefile.in
examples/gras/rpc/test_rl [moved from examples/gras/rpc/test_rl.in with 86% similarity]
examples/gras/rpc/test_sg_32 [moved from examples/gras/rpc/test_sg.in with 95% similarity]
examples/gras/rpc/test_sg_64 [new file with mode: 0755]
examples/gras/tests.mk [new file with mode: 0644]
examples/gras/timer/.cvsignore
examples/gras/timer/Makefile.am
examples/gras/timer/Makefile.in
examples/gras/timer/test_rl [moved from examples/gras/timer/test_rl.in with 92% similarity]
examples/gras/timer/test_sg_32 [moved from examples/gras/timer/test_sg.in with 92% similarity]
examples/gras/timer/test_sg_64 [new file with mode: 0755]

index e5ffe5f..8f62679 100644 (file)
@@ -1,3 +1,4 @@
-SUBDIRS= ping rpc timer chrono mutual_exclusion/simple_token mmrpc p2p all2all pmm
+SUBDIRS= ping rpc timer chrono mutual_exclusion/simple_token mmrpc all2all pmm
+# p2p
 
 include $(top_srcdir)/acmacro/dist-files.mk
 
 include $(top_srcdir)/acmacro/dist-files.mk
index 8e16fdb..c652290 100644 (file)
@@ -108,6 +108,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -215,7 +217,7 @@ target_alias = @target_alias@
 target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
-SUBDIRS = ping rpc timer chrono mutual_exclusion/simple_token mmrpc p2p all2all pmm
+SUBDIRS = ping rpc timer chrono mutual_exclusion/simple_token mmrpc all2all pmm
 all: all-recursive
 
 .SUFFIXES:
 all: all-recursive
 
 .SUFFIXES:
@@ -530,6 +532,7 @@ dist-files:
        @for n in $(DISTFILES) ; do echo $(SRCFILE)$$n; done
        @echo
        @for n in $(DIST_SUBDIRS) ; do if [ x$$n != x. ] ; then $(MAKE) -C $$n dist-files SRCFILE=$(SRCFILE)$$n/ ; fi; done
        @for n in $(DISTFILES) ; do echo $(SRCFILE)$$n; done
        @echo
        @for n in $(DIST_SUBDIRS) ; do if [ x$$n != x. ] ; then $(MAKE) -C $$n dist-files SRCFILE=$(SRCFILE)$$n/ ; fi; done
+# p2p
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index 1c36863..22311b0 100644 (file)
@@ -1,6 +1,5 @@
 all2all_sender all2all_receiver *_simulator
 .deps .libs Makefile  _*.c
 all2all_sender all2all_receiver *_simulator
 .deps .libs Makefile  _*.c
-test_sg test_rl
 *.mk
 *.trace
 *.log
 *.mk
 *.trace
 *.log
index 846340b..846ff54 100644 (file)
@@ -1,7 +1,6 @@
 INCLUDES= -I$(top_srcdir)/include
 INCLUDES= -I$(top_srcdir)/include
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
-EXTRA_DIST=all2all.xml test_sg.in test_rl.in
+EXTRA_DIST=all2all.xml 
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=all2all_sender all2all_receiver all2all_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=all2all_sender all2all_receiver all2all_simulator
index dbd0992..e886ab0 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,12 +55,12 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = all2all_sender$(EXEEXT) all2all_receiver$(EXEEXT) \
-       all2all_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = all2all_sender$(EXEEXT) all2all_receiver$(EXEEXT) \
+       all2all_simulator$(EXEEXT)
 subdir = examples/gras/all2all
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/all2all
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -62,7 +75,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_all2all_receiver_OBJECTS = _all2all_receiver.$(OBJEXT) \
        all2all.$(OBJEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 am_all2all_receiver_OBJECTS = _all2all_receiver.$(OBJEXT) \
        all2all.$(OBJEXT)
@@ -132,6 +145,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -240,9 +255,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = all2all.xml test_sg.in test_rl.in
+EXTRA_DIST = all2all.xml test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 all2all_simulator_SOURCES = _all2all_simulator.c all2all.c 
 all2all_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 all2all_sender_SOURCES = _all2all_sender.c all2all.c
 all2all_simulator_SOURCES = _all2all_simulator.c all2all.c 
 all2all_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 all2all_sender_SOURCES = _all2all_sender.c all2all.c
@@ -261,7 +277,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -290,10 +306,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -475,7 +487,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -596,6 +608,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
similarity index 66%
rename from examples/gras/all2all/test_rl.in
rename to examples/gras/all2all/test_rl
index d2e4900..43ee861 100755 (executable)
@@ -1,6 +1,6 @@
 # The receivers, waiting for 5 messages
 ! set timeout 20
 # The receivers, waiting for 5 messages
 ! set timeout 20
-& $SG_TEST_EXENV ./all2all_receiver 4000 5 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./all2all_receiver$EXEEXT 4000 5 --log=root.fmt:%m%n
 > Listening on port 4000 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
 > Listening on port 4000 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
@@ -10,7 +10,7 @@
 > Exiting GRAS
 
 ! set timeout 20
 > Exiting GRAS
 
 ! set timeout 20
-& $SG_TEST_EXENV ./all2all_receiver 4001 5 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./all2all_receiver$EXEEXT 4001 5 --log=root.fmt:%m%n
 > Listening on port 4001 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
 > Listening on port 4001 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
@@ -20,7 +20,7 @@
 > Exiting GRAS
 
 ! set timeout 20
 > Exiting GRAS
 
 ! set timeout 20
-& $SG_TEST_EXENV ./all2all_receiver 4002 5 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./all2all_receiver$EXEEXT 4002 5 --log=root.fmt:%m%n
 > Listening on port 4002 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
 > Listening on port 4002 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
@@ -30,7 +30,7 @@
 > Exiting GRAS
 
 ! set timeout 20
 > Exiting GRAS
 
 ! set timeout 20
-& $SG_TEST_EXENV ./all2all_receiver 4003 5 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./all2all_receiver$EXEEXT 4003 5 --log=root.fmt:%m%n
 > Listening on port 4003 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
 > Listening on port 4003 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
@@ -40,7 +40,7 @@
 > Exiting GRAS
 
 ! set timeout 20
 > Exiting GRAS
 
 ! set timeout 20
-& $SG_TEST_EXENV ./all2all_receiver 4004 5 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./all2all_receiver$EXEEXT 4004 5 --log=root.fmt:%m%n
 > Listening on port 4004 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
 > Listening on port 4004 (expecting 5 messages)
 > Got Data from 127.0.0.1:0 (still 4 to go)
 > Got Data from 127.0.0.1:0 (still 3 to go)
@@ -52,7 +52,7 @@
 $ sleep 1
 
 # Five time a sender
 $ sleep 1
 
 # Five time a sender
-$ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
+$ $SG_TEST_EXENV ./all2all_sender$EXEEXT 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
 > Launch current node
 >   Sent Data
 >   Sent Data
 > Launch current node
 >   Sent Data
 >   Sent Data
@@ -61,7 +61,7 @@ $ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 1
 >   Sent Data
 > Exiting GRAS
 
 >   Sent Data
 > Exiting GRAS
 
-$ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
+$ $SG_TEST_EXENV ./all2all_sender$EXEEXT 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
 > Launch current node
 >   Sent Data
 >   Sent Data
 > Launch current node
 >   Sent Data
 >   Sent Data
@@ -70,7 +70,7 @@ $ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 1
 >   Sent Data
 > Exiting GRAS
 
 >   Sent Data
 > Exiting GRAS
 
-$ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
+$ $SG_TEST_EXENV ./all2all_sender$EXEEXT 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
 > Launch current node
 >   Sent Data
 >   Sent Data
 > Launch current node
 >   Sent Data
 >   Sent Data
@@ -79,7 +79,7 @@ $ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 1
 >   Sent Data
 > Exiting GRAS
 
 >   Sent Data
 > Exiting GRAS
 
-$ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
+$ $SG_TEST_EXENV ./all2all_sender$EXEEXT 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
 > Launch current node
 >   Sent Data
 >   Sent Data
 > Launch current node
 >   Sent Data
 >   Sent Data
@@ -88,7 +88,7 @@ $ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 1
 >   Sent Data
 > Exiting GRAS
 
 >   Sent Data
 > Exiting GRAS
 
-$ $SG_TEST_EXENV ./all2all_sender 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
+$ $SG_TEST_EXENV ./all2all_sender$EXEEXT 127.0.0.1:4000 127.0.0.1:4001 127.0.0.1:4002 127.0.0.1:4003 127.0.0.1:4004 512 --log=root.fmt:%m%n
 > Launch current node
 >   Sent Data
 >   Sent Data
 > Launch current node
 >   Sent Data
 >   Sent Data
diff --git a/examples/gras/all2all/test_sg.in b/examples/gras/all2all/test_sg.in
deleted file mode 100755 (executable)
index d0b863d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-$ $SG_TEST_EXENV ./all2all_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/all2all.xml  --log=root.fmt:"'[%h:%t:(%i) %.3r] [%c/%p] %m%n'"
-> [Tremblay:sender:(1) 0.000] [all2all/INFO] Launch current node
-> [Tremblay:receiver:(2) 0.000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
-> [Jupiter:sender:(3) 0.000] [all2all/INFO] Launch current node
-> [Jupiter:receiver:(4) 0.000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
-> [Fafard:sender:(5) 0.000] [all2all/INFO] Launch current node
-> [Fafard:receiver:(6) 0.000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
-> [Ginette:sender:(7) 0.000] [all2all/INFO] Launch current node
-> [Ginette:receiver:(8) 0.000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
-> [Bourassa:sender:(9) 0.000] [all2all/INFO] Launch current node
-> [Bourassa:receiver:(10) 0.000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
-> [Jupiter:sender:(3) 0.012] [all2all/INFO]   Sent Data from Jupiter to Tremblay
-> [Tremblay:sender:(1) 0.012] [all2all/INFO]   Sent Data from Tremblay to Jupiter
-> [Tremblay:receiver:(2) 0.012] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
-> [Jupiter:receiver:(4) 0.012] [all2all/INFO] Got Data from Tremblay:0 (still 3 to go)
-> [Fafard:sender:(5) 0.014] [all2all/INFO]   Sent Data from Fafard to Tremblay
-> [Tremblay:receiver:(2) 0.014] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
-> [Ginette:sender:(7) 0.015] [all2all/INFO]   Sent Data from Ginette to Tremblay
-> [Tremblay:receiver:(2) 0.015] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
-> [Jupiter:sender:(3) 0.015] [all2all/INFO]   Sent Data from Jupiter to Fafard
-> [Fafard:receiver:(6) 0.015] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
-> [Bourassa:sender:(9) 0.017] [all2all/INFO]   Sent Data from Bourassa to Tremblay
-> [Tremblay:receiver:(2) 0.017] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
-> [Tremblay:receiver:(2) 0.017] [gras/INFO] Exiting GRAS
-> [Fafard:sender:(5) 0.017] [all2all/INFO]   Sent Data from Fafard to Jupiter
-> [Tremblay:sender:(1) 0.017] [all2all/INFO]   Sent Data from Tremblay to Fafard
-> [Jupiter:receiver:(4) 0.017] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
-> [Fafard:receiver:(6) 0.017] [all2all/INFO] Got Data from Tremblay:0 (still 2 to go)
-> [Jupiter:sender:(3) 0.018] [all2all/INFO]   Sent Data from Jupiter to Ginette
-> [Ginette:receiver:(8) 0.018] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
-> [Fafard:sender:(5) 0.019] [all2all/INFO]   Sent Data from Fafard to Ginette
-> [Ginette:receiver:(8) 0.019] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
-> [Ginette:sender:(7) 0.020] [all2all/INFO]   Sent Data from Ginette to Jupiter
-> [Jupiter:receiver:(4) 0.020] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
-> [Tremblay:sender:(1) 0.021] [all2all/INFO]   Sent Data from Tremblay to Ginette
-> [Ginette:receiver:(8) 0.021] [all2all/INFO] Got Data from Tremblay:0 (still 1 to go)
-> [Ginette:sender:(7) 0.021] [all2all/INFO]   Sent Data from Ginette to Fafard
-> [Fafard:receiver:(6) 0.021] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
-> [Jupiter:sender:(3) 0.022] [all2all/INFO]   Sent Data from Jupiter to Bourassa
-> [Jupiter:sender:(3) 0.022] [gras/INFO] Exiting GRAS
-> [Bourassa:receiver:(10) 0.022] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
-> [Fafard:sender:(5) 0.022] [all2all/INFO]   Sent Data from Fafard to Bourassa
-> [Fafard:sender:(5) 0.022] [gras/INFO] Exiting GRAS
-> [Bourassa:receiver:(10) 0.022] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
-> [Bourassa:sender:(9) 0.024] [all2all/INFO]   Sent Data from Bourassa to Jupiter
-> [Jupiter:receiver:(4) 0.024] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
-> [Jupiter:receiver:(4) 0.024] [gras/INFO] Exiting GRAS
-> [Tremblay:sender:(1) 0.024] [all2all/INFO]   Sent Data from Tremblay to Bourassa
-> [Tremblay:sender:(1) 0.024] [gras/INFO] Exiting GRAS
-> [Bourassa:receiver:(10) 0.024] [all2all/INFO] Got Data from Tremblay:0 (still 1 to go)
-> [Bourassa:sender:(9) 0.024] [all2all/INFO]   Sent Data from Bourassa to Fafard
-> [Fafard:receiver:(6) 0.024] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
-> [Fafard:receiver:(6) 0.024] [gras/INFO] Exiting GRAS
-> [Ginette:sender:(7) 0.026] [all2all/INFO]   Sent Data from Ginette to Bourassa
-> [Ginette:sender:(7) 0.026] [gras/INFO] Exiting GRAS
-> [Bourassa:sender:(9) 0.026] [all2all/INFO]   Sent Data from Bourassa to Ginette
-> [Bourassa:sender:(9) 0.026] [gras/INFO] Exiting GRAS
-> [Bourassa:receiver:(10) 0.026] [all2all/INFO] Got Data from Ginette:0 (still 0 to go)
-> [Bourassa:receiver:(10) 0.026] [gras/INFO] Exiting GRAS
-> [Ginette:receiver:(8) 0.026] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
-> [Ginette:receiver:(8) 0.026] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/all2all/test_sg_32 b/examples/gras/all2all/test_sg_32
new file mode 100755 (executable)
index 0000000..5487230
--- /dev/null
@@ -0,0 +1,61 @@
+$ $SG_TEST_EXENV ./all2all_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/all2all.xml
+> [Tremblay:sender:(1) 0.000000] [all2all/INFO] Launch current node
+> [Tremblay:receiver:(2) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Jupiter:sender:(3) 0.000000] [all2all/INFO] Launch current node
+> [Jupiter:receiver:(4) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Fafard:sender:(5) 0.000000] [all2all/INFO] Launch current node
+> [Fafard:receiver:(6) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Ginette:sender:(7) 0.000000] [all2all/INFO] Launch current node
+> [Ginette:receiver:(8) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Bourassa:sender:(9) 0.000000] [all2all/INFO] Launch current node
+> [Bourassa:receiver:(10) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Jupiter:sender:(3) 0.011604] [all2all/INFO]   Sent Data from Jupiter to Tremblay
+> [Tremblay:sender:(1) 0.011604] [all2all/INFO]   Sent Data from Tremblay to Jupiter
+> [Tremblay:receiver:(2) 0.011604] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Jupiter:receiver:(4) 0.011604] [all2all/INFO] Got Data from Tremblay:0 (still 3 to go)
+> [Fafard:sender:(5) 0.013681] [all2all/INFO]   Sent Data from Fafard to Tremblay
+> [Tremblay:receiver:(2) 0.013681] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Ginette:sender:(7) 0.015019] [all2all/INFO]   Sent Data from Ginette to Tremblay
+> [Tremblay:receiver:(2) 0.015019] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
+> [Jupiter:sender:(3) 0.015218] [all2all/INFO]   Sent Data from Jupiter to Fafard
+> [Fafard:receiver:(6) 0.015218] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Bourassa:sender:(9) 0.017074] [all2all/INFO]   Sent Data from Bourassa to Tremblay
+> [Tremblay:receiver:(2) 0.017074] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Tremblay:receiver:(2) 0.017074] [gras/INFO] Exiting GRAS
+> [Fafard:sender:(5) 0.017295] [all2all/INFO]   Sent Data from Fafard to Jupiter
+> [Tremblay:sender:(1) 0.017295] [all2all/INFO]   Sent Data from Tremblay to Fafard
+> [Jupiter:receiver:(4) 0.017295] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Fafard:receiver:(6) 0.017295] [all2all/INFO] Got Data from Tremblay:0 (still 2 to go)
+> [Jupiter:sender:(3) 0.018092] [all2all/INFO]   Sent Data from Jupiter to Ginette
+> [Ginette:receiver:(8) 0.018092] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Fafard:sender:(5) 0.019416] [all2all/INFO]   Sent Data from Fafard to Ginette
+> [Ginette:receiver:(8) 0.019416] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Ginette:sender:(7) 0.020169] [all2all/INFO]   Sent Data from Ginette to Jupiter
+> [Jupiter:receiver:(4) 0.020169] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
+> [Tremblay:sender:(1) 0.020754] [all2all/INFO]   Sent Data from Tremblay to Ginette
+> [Ginette:receiver:(8) 0.020754] [all2all/INFO] Got Data from Tremblay:0 (still 1 to go)
+> [Ginette:sender:(7) 0.021494] [all2all/INFO]   Sent Data from Ginette to Fafard
+> [Fafard:receiver:(6) 0.021494] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
+> [Jupiter:sender:(3) 0.021684] [all2all/INFO]   Sent Data from Jupiter to Bourassa
+> [Jupiter:sender:(3) 0.021684] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.021684] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Fafard:sender:(5) 0.022267] [all2all/INFO]   Sent Data from Fafard to Bourassa
+> [Fafard:sender:(5) 0.022267] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.022267] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Bourassa:sender:(9) 0.023761] [all2all/INFO]   Sent Data from Bourassa to Jupiter
+> [Jupiter:receiver:(4) 0.023761] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Jupiter:receiver:(4) 0.023761] [gras/INFO] Exiting GRAS
+> [Tremblay:sender:(1) 0.024343] [all2all/INFO]   Sent Data from Tremblay to Bourassa
+> [Tremblay:sender:(1) 0.024343] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.024343] [all2all/INFO] Got Data from Tremblay:0 (still 1 to go)
+> [Bourassa:sender:(9) 0.024345] [all2all/INFO]   Sent Data from Bourassa to Fafard
+> [Fafard:receiver:(6) 0.024345] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Fafard:receiver:(6) 0.024345] [gras/INFO] Exiting GRAS
+> [Ginette:sender:(7) 0.025670] [all2all/INFO]   Sent Data from Ginette to Bourassa
+> [Ginette:sender:(7) 0.025670] [gras/INFO] Exiting GRAS
+> [Bourassa:sender:(9) 0.025670] [all2all/INFO]   Sent Data from Bourassa to Ginette
+> [Bourassa:sender:(9) 0.025670] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.025670] [all2all/INFO] Got Data from Ginette:0 (still 0 to go)
+> [Bourassa:receiver:(10) 0.025670] [gras/INFO] Exiting GRAS
+> [Ginette:receiver:(8) 0.025670] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Ginette:receiver:(8) 0.025670] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/all2all/test_sg_64 b/examples/gras/all2all/test_sg_64
new file mode 100755 (executable)
index 0000000..5487230
--- /dev/null
@@ -0,0 +1,61 @@
+$ $SG_TEST_EXENV ./all2all_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/all2all.xml
+> [Tremblay:sender:(1) 0.000000] [all2all/INFO] Launch current node
+> [Tremblay:receiver:(2) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Jupiter:sender:(3) 0.000000] [all2all/INFO] Launch current node
+> [Jupiter:receiver:(4) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Fafard:sender:(5) 0.000000] [all2all/INFO] Launch current node
+> [Fafard:receiver:(6) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Ginette:sender:(7) 0.000000] [all2all/INFO] Launch current node
+> [Ginette:receiver:(8) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Bourassa:sender:(9) 0.000000] [all2all/INFO] Launch current node
+> [Bourassa:receiver:(10) 0.000000] [all2all/INFO] Listening on port 4000 (expecting 4 messages)
+> [Jupiter:sender:(3) 0.011604] [all2all/INFO]   Sent Data from Jupiter to Tremblay
+> [Tremblay:sender:(1) 0.011604] [all2all/INFO]   Sent Data from Tremblay to Jupiter
+> [Tremblay:receiver:(2) 0.011604] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Jupiter:receiver:(4) 0.011604] [all2all/INFO] Got Data from Tremblay:0 (still 3 to go)
+> [Fafard:sender:(5) 0.013681] [all2all/INFO]   Sent Data from Fafard to Tremblay
+> [Tremblay:receiver:(2) 0.013681] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Ginette:sender:(7) 0.015019] [all2all/INFO]   Sent Data from Ginette to Tremblay
+> [Tremblay:receiver:(2) 0.015019] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
+> [Jupiter:sender:(3) 0.015218] [all2all/INFO]   Sent Data from Jupiter to Fafard
+> [Fafard:receiver:(6) 0.015218] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Bourassa:sender:(9) 0.017074] [all2all/INFO]   Sent Data from Bourassa to Tremblay
+> [Tremblay:receiver:(2) 0.017074] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Tremblay:receiver:(2) 0.017074] [gras/INFO] Exiting GRAS
+> [Fafard:sender:(5) 0.017295] [all2all/INFO]   Sent Data from Fafard to Jupiter
+> [Tremblay:sender:(1) 0.017295] [all2all/INFO]   Sent Data from Tremblay to Fafard
+> [Jupiter:receiver:(4) 0.017295] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Fafard:receiver:(6) 0.017295] [all2all/INFO] Got Data from Tremblay:0 (still 2 to go)
+> [Jupiter:sender:(3) 0.018092] [all2all/INFO]   Sent Data from Jupiter to Ginette
+> [Ginette:receiver:(8) 0.018092] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Fafard:sender:(5) 0.019416] [all2all/INFO]   Sent Data from Fafard to Ginette
+> [Ginette:receiver:(8) 0.019416] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Ginette:sender:(7) 0.020169] [all2all/INFO]   Sent Data from Ginette to Jupiter
+> [Jupiter:receiver:(4) 0.020169] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
+> [Tremblay:sender:(1) 0.020754] [all2all/INFO]   Sent Data from Tremblay to Ginette
+> [Ginette:receiver:(8) 0.020754] [all2all/INFO] Got Data from Tremblay:0 (still 1 to go)
+> [Ginette:sender:(7) 0.021494] [all2all/INFO]   Sent Data from Ginette to Fafard
+> [Fafard:receiver:(6) 0.021494] [all2all/INFO] Got Data from Ginette:0 (still 1 to go)
+> [Jupiter:sender:(3) 0.021684] [all2all/INFO]   Sent Data from Jupiter to Bourassa
+> [Jupiter:sender:(3) 0.021684] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.021684] [all2all/INFO] Got Data from Jupiter:0 (still 3 to go)
+> [Fafard:sender:(5) 0.022267] [all2all/INFO]   Sent Data from Fafard to Bourassa
+> [Fafard:sender:(5) 0.022267] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.022267] [all2all/INFO] Got Data from Fafard:0 (still 2 to go)
+> [Bourassa:sender:(9) 0.023761] [all2all/INFO]   Sent Data from Bourassa to Jupiter
+> [Jupiter:receiver:(4) 0.023761] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Jupiter:receiver:(4) 0.023761] [gras/INFO] Exiting GRAS
+> [Tremblay:sender:(1) 0.024343] [all2all/INFO]   Sent Data from Tremblay to Bourassa
+> [Tremblay:sender:(1) 0.024343] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.024343] [all2all/INFO] Got Data from Tremblay:0 (still 1 to go)
+> [Bourassa:sender:(9) 0.024345] [all2all/INFO]   Sent Data from Bourassa to Fafard
+> [Fafard:receiver:(6) 0.024345] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Fafard:receiver:(6) 0.024345] [gras/INFO] Exiting GRAS
+> [Ginette:sender:(7) 0.025670] [all2all/INFO]   Sent Data from Ginette to Bourassa
+> [Ginette:sender:(7) 0.025670] [gras/INFO] Exiting GRAS
+> [Bourassa:sender:(9) 0.025670] [all2all/INFO]   Sent Data from Bourassa to Ginette
+> [Bourassa:sender:(9) 0.025670] [gras/INFO] Exiting GRAS
+> [Bourassa:receiver:(10) 0.025670] [all2all/INFO] Got Data from Ginette:0 (still 0 to go)
+> [Bourassa:receiver:(10) 0.025670] [gras/INFO] Exiting GRAS
+> [Ginette:receiver:(8) 0.025670] [all2all/INFO] Got Data from Bourassa:0 (still 0 to go)
+> [Ginette:receiver:(8) 0.025670] [gras/INFO] Exiting GRAS
index 689bc2c..c46003a 100644 (file)
@@ -1,5 +1,3 @@
 .deps .libs Makefile _*.c chrono_multiplier chrono_simulator
 .deps .libs Makefile _*.c chrono_multiplier chrono_simulator
-test_sg
-test_rl
 chrono.mk
 chrono.trace
 chrono.mk
 chrono.trace
index 0425e11..7b9b693 100644 (file)
@@ -1,8 +1,7 @@
 INCLUDES= -I$(top_srcdir)/include
 AM_CFLAGS=-g
 INCLUDES= -I$(top_srcdir)/include
 AM_CFLAGS=-g
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
 EXTRA_DIST=chrono.xml
 EXTRA_DIST=chrono.xml
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=chrono_simulator chrono_multiplier
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=chrono_simulator chrono_multiplier
index fa244a5..b093ea6 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,11 +55,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = chrono_simulator$(EXEEXT) chrono_multiplier$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = chrono_simulator$(EXEEXT) chrono_multiplier$(EXEEXT)
 subdir = examples/gras/chrono
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/chrono
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -61,7 +74,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_chrono_multiplier_OBJECTS = _chrono_multiplier.$(OBJEXT) \
        chrono.$(OBJEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 am_chrono_multiplier_OBJECTS = _chrono_multiplier.$(OBJEXT) \
        chrono.$(OBJEXT)
@@ -126,6 +139,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -234,9 +249,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = chrono.xml
+EXTRA_DIST = chrono.xml test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 chrono_simulator_SOURCES = _chrono_simulator.c chrono.c
 chrono_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 chrono_multiplier_SOURCES = _chrono_multiplier.c chrono.c
 chrono_simulator_SOURCES = _chrono_simulator.c chrono.c
 chrono_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 chrono_multiplier_SOURCES = _chrono_multiplier.c chrono.c
@@ -253,7 +269,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -282,10 +298,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -463,7 +475,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -584,6 +596,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
diff --git a/examples/gras/chrono/test_rl b/examples/gras/chrono/test_rl
new file mode 100755 (executable)
index 0000000..cc7b75e
--- /dev/null
@@ -0,0 +1,3 @@
+
+! output display
+$ $SG_TEST_EXENV ./chrono_multiplier$EXEEXT --log=root.fmt:%m%n $@ 
diff --git a/examples/gras/chrono/test_rl.in b/examples/gras/chrono/test_rl.in
deleted file mode 100755 (executable)
index 5474cd5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-! output display
-$ $SG_TEST_EXENV ./chrono_multiplier@EXEEXT@ --log=root.fmt:%m%n $@ 
diff --git a/examples/gras/chrono/test_sg.in b/examples/gras/chrono/test_sg.in
deleted file mode 100755 (executable)
index 01ea14d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-! output display
-$ $SG_TEST_EXENV ./chrono_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/chrono.xml
diff --git a/examples/gras/chrono/test_sg_32 b/examples/gras/chrono/test_sg_32
new file mode 100755 (executable)
index 0000000..849f8c3
--- /dev/null
@@ -0,0 +1,3 @@
+
+! output display
+$ $SG_TEST_EXENV ./chrono_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/chrono.xml
diff --git a/examples/gras/chrono/test_sg_64 b/examples/gras/chrono/test_sg_64
new file mode 100755 (executable)
index 0000000..849f8c3
--- /dev/null
@@ -0,0 +1,3 @@
+
+! output display
+$ $SG_TEST_EXENV ./chrono_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/chrono.xml
index a98d30e..9ab176e 100644 (file)
@@ -1,5 +1,3 @@
 .deps .libs Makefile  _*.c mmrpc_server mmrpc_client mmrpc_simulator
 .deps .libs Makefile  _*.c mmrpc_server mmrpc_client mmrpc_simulator
-test_sg
-test_rl
 mmrpc.mk
 mmrpc.trace
 mmrpc.mk
 mmrpc.trace
index d343f3a..37b7bdf 100644 (file)
@@ -1,7 +1,6 @@
 INCLUDES= -I$(top_srcdir)/include
 INCLUDES= -I$(top_srcdir)/include
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
-EXTRA_DIST=mmrpc.xml mmrpc.h $(TESTS)
+EXTRA_DIST=mmrpc.xml mmrpc.h 
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=mmrpc_client mmrpc_server mmrpc_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=mmrpc_client mmrpc_server mmrpc_simulator
index c792105..e8d118f 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,12 +55,12 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = mmrpc_client$(EXEEXT) mmrpc_server$(EXEEXT) \
-       mmrpc_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = mmrpc_client$(EXEEXT) mmrpc_server$(EXEEXT) \
+       mmrpc_simulator$(EXEEXT)
 subdir = examples/gras/mmrpc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/mmrpc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -62,7 +75,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_mmrpc_client_OBJECTS = _mmrpc_client.$(OBJEXT) \
        mmrpc_common.$(OBJEXT) mmrpc_client.$(OBJEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 am_mmrpc_client_OBJECTS = _mmrpc_client.$(OBJEXT) \
        mmrpc_common.$(OBJEXT) mmrpc_client.$(OBJEXT)
@@ -133,6 +146,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -241,9 +256,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = mmrpc.xml mmrpc.h $(TESTS)
+EXTRA_DIST = mmrpc.xml mmrpc.h test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 mmrpc_simulator_SOURCES = _mmrpc_simulator.c mmrpc_common.c mmrpc_client.c mmrpc_server.c
 mmrpc_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 mmrpc_client_SOURCES = _mmrpc_client.c    mmrpc_common.c mmrpc_client.c 
 mmrpc_simulator_SOURCES = _mmrpc_simulator.c mmrpc_common.c mmrpc_client.c mmrpc_server.c
 mmrpc_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 mmrpc_client_SOURCES = _mmrpc_client.c    mmrpc_common.c mmrpc_client.c 
@@ -262,7 +278,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -291,10 +307,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -478,7 +490,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -599,6 +611,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
similarity index 70%
rename from examples/gras/mmrpc/test_rl.in
rename to examples/gras/mmrpc/test_rl
index 5375660..0847316 100755 (executable)
@@ -1,10 +1,10 @@
-& $SG_TEST_EXENV ./mmrpc_server@EXEEXT@ 4002 --log=root.fmt:%m%n 
+& $SG_TEST_EXENV ./mmrpc_server$EXEEXT 4002 --log=root.fmt:%m%n 
 > Launch server (port=4002)
 > Exiting GRAS
 
 $ sleep 1
 
 > Launch server (port=4002)
 > Exiting GRAS
 
 $ sleep 1
 
-$ $SG_TEST_EXENV ./mmrpc_client@EXEEXT@ 127.0.0.1 4002 --log=root.fmt:%m%n 
+$ $SG_TEST_EXENV ./mmrpc_client$EXEEXT 127.0.0.1 4002 --log=root.fmt:%m%n 
 > Launch client (server on 127.0.0.1:4002)
 > Connected to 127.0.0.1:4002.
 > >>>>>>>> Connected to server which is on 127.0.0.1:4002 <<<<<<<<
 > Launch client (server on 127.0.0.1:4002)
 > Connected to 127.0.0.1:4002.
 > >>>>>>>> Connected to server which is on 127.0.0.1:4002 <<<<<<<<
diff --git a/examples/gras/mmrpc/test_sg.in b/examples/gras/mmrpc/test_sg.in
deleted file mode 100755 (executable)
index 11458fc..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-$ $SG_TEST_EXENV ./mmrpc_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/mmrpc.xml --log=root.fmt:"'[%h:%t:(%i) %.2r] [%c/%p] %m%n'"
-> [Tremblay:server:(1) 0.00] [MatMult/INFO] Launch server (port=4000)
-> [Fafard:client:(2) 0.00] [MatMult/INFO] Launch client (server on Tremblay:4000)
-> [Fafard:client:(2) 1.00] [MatMult/INFO] Connected to Tremblay:4000.
-> [Fafard:client:(2) 1.00] [MatMult/INFO] >>>>>>>> Connected to server which is on Tremblay:4000 <<<<<<<<
-> [Fafard:client:(2) 1.05] [MatMult/INFO] >>>>>>>> Request sent to Tremblay:4000 <<<<<<<<
-> [Tremblay:server:(1) 1.08] [gras/INFO] Exiting GRAS
-> [Fafard:client:(2) 1.08] [MatMult/INFO] >>>>>>>> Got answer from Tremblay:4000 (values are right) <<<<<<<<
-> [Fafard:client:(2) 1.08] [gras/INFO] Exiting GRAS
-
diff --git a/examples/gras/mmrpc/test_sg_32 b/examples/gras/mmrpc/test_sg_32
new file mode 100755 (executable)
index 0000000..b98e0be
--- /dev/null
@@ -0,0 +1,9 @@
+$ $SG_TEST_EXENV ./mmrpc_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/mmrpc.xml
+> [Tremblay:server:(1) 0.000000] [MatMult/INFO] Launch server (port=4000)
+> [Fafard:client:(2) 0.000000] [MatMult/INFO] Launch client (server on Tremblay:4000)
+> [Fafard:client:(2) 1.000000] [MatMult/INFO] Connected to Tremblay:4000.
+> [Fafard:client:(2) 1.000000] [MatMult/INFO] >>>>>>>> Connected to server which is on Tremblay:4000 <<<<<<<<
+> [Fafard:client:(2) 1.053783] [MatMult/INFO] >>>>>>>> Request sent to Tremblay:4000 <<<<<<<<
+> [Tremblay:server:(1) 1.081662] [gras/INFO] Exiting GRAS
+> [Fafard:client:(2) 1.081662] [MatMult/INFO] >>>>>>>> Got answer from Tremblay:4000 (values are right) <<<<<<<<
+> [Fafard:client:(2) 1.081662] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/mmrpc/test_sg_64 b/examples/gras/mmrpc/test_sg_64
new file mode 100755 (executable)
index 0000000..b98e0be
--- /dev/null
@@ -0,0 +1,9 @@
+$ $SG_TEST_EXENV ./mmrpc_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/mmrpc.xml
+> [Tremblay:server:(1) 0.000000] [MatMult/INFO] Launch server (port=4000)
+> [Fafard:client:(2) 0.000000] [MatMult/INFO] Launch client (server on Tremblay:4000)
+> [Fafard:client:(2) 1.000000] [MatMult/INFO] Connected to Tremblay:4000.
+> [Fafard:client:(2) 1.000000] [MatMult/INFO] >>>>>>>> Connected to server which is on Tremblay:4000 <<<<<<<<
+> [Fafard:client:(2) 1.053783] [MatMult/INFO] >>>>>>>> Request sent to Tremblay:4000 <<<<<<<<
+> [Tremblay:server:(1) 1.081662] [gras/INFO] Exiting GRAS
+> [Fafard:client:(2) 1.081662] [MatMult/INFO] >>>>>>>> Got answer from Tremblay:4000 (values are right) <<<<<<<<
+> [Fafard:client:(2) 1.081662] [gras/INFO] Exiting GRAS
index ea237e0..4f42c5b 100644 (file)
@@ -1,5 +1,3 @@
 .deps .libs Makefile  _*.c simple_token_node simple_token_simulator
 .deps .libs Makefile  _*.c simple_token_node simple_token_simulator
-test_sg
-test_rl
 simple_token.mk
 simple_token.trace
 simple_token.mk
 simple_token.trace
index e706128..a14278b 100644 (file)
@@ -1,7 +1,6 @@
 INCLUDES= -I$(top_srcdir)/include
 INCLUDES= -I$(top_srcdir)/include
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../../tools/tesh/tesh
-EXTRA_DIST=simple_token.xml $(TESTS)
+EXTRA_DIST=simple_token.xml 
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=simple_token_node simple_token_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=simple_token_node simple_token_simulator
index 319c79d..5145f53 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,12 +55,12 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = simple_token_node$(EXEEXT) \
-       simple_token_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = simple_token_node$(EXEEXT) \
+       simple_token_simulator$(EXEEXT)
 subdir = examples/gras/mutual_exclusion/simple_token
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/mutual_exclusion/simple_token
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -62,7 +75,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_simple_token_node_OBJECTS = _simple_token_node.$(OBJEXT) \
        simple_token.$(OBJEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 am_simple_token_node_OBJECTS = _simple_token_node.$(OBJEXT) \
        simple_token.$(OBJEXT)
@@ -129,6 +142,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -237,9 +252,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../../tools/tesh/tesh
-EXTRA_DIST = simple_token.xml $(TESTS)
+EXTRA_DIST = simple_token.xml test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 simple_token_simulator_SOURCES = _simple_token_simulator.c simple_token.c
 simple_token_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 simple_token_node_SOURCES = _simple_token_node.c simple_token.c
 simple_token_simulator_SOURCES = _simple_token_simulator.c simple_token.c
 simple_token_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 simple_token_node_SOURCES = _simple_token_node.c simple_token.c
@@ -256,7 +272,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -285,10 +301,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -466,7 +478,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../../acmacro $(distdir)/../../../../examples
+       $(mkdir_p) $(distdir)/../../../../acmacro $(distdir)/../../../../examples $(distdir)/../../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -587,6 +599,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
diff --git a/examples/gras/mutual_exclusion/simple_token/test_rl b/examples/gras/mutual_exclusion/simple_token/test_rl
new file mode 100755 (executable)
index 0000000..2ce3a1c
--- /dev/null
@@ -0,0 +1,22 @@
+& $SG_TEST_EXENV ./simple_token_node$EXEEXT 4000 127.0.0.1 4010 --create-token --log=root.fmt:%m%n $@ 
+> Create the token (with value 0) and send it to 127.0.0.1:4010
+> Begin a new loop. Still to do: 2
+> Begin a new loop. Still to do: 1
+> Begin a new loop. Still to do: 0
+> Shut down the token-ring. There was 17 hops.
+> Exiting GRAS
+
+& $SG_TEST_EXENV ./simple_token_node$EXEEXT 4010 127.0.0.1 4020 --log=root.fmt:%m%n $@ 
+> Exiting GRAS
+
+& $SG_TEST_EXENV ./simple_token_node$EXEEXT 4020 127.0.0.1 4030 --log=root.fmt:%m%n $@ 
+> Exiting GRAS
+
+& $SG_TEST_EXENV ./simple_token_node$EXEEXT 4030 127.0.0.1 4040 --log=root.fmt:%m%n $@ 
+> Exiting GRAS
+
+& $SG_TEST_EXENV ./simple_token_node$EXEEXT 4040 127.0.0.1 4050 --log=root.fmt:%m%n $@ 
+> Exiting GRAS
+
+& $SG_TEST_EXENV ./simple_token_node$EXEEXT 4050 127.0.0.1 4000 --log=root.fmt:%m%n $@ 
+> Exiting GRAS
diff --git a/examples/gras/mutual_exclusion/simple_token/test_rl.in b/examples/gras/mutual_exclusion/simple_token/test_rl.in
deleted file mode 100755 (executable)
index ac22b9f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-& $SG_TEST_EXENV ./simple_token_node@EXEEXT@ 4000 127.0.0.1 4010 --create-token --log=root.fmt:%m%n $@ 
-> Create the token (with value 0) and send it to 127.0.0.1:4010
-> Begin a new loop. Still to do: 2
-> Begin a new loop. Still to do: 1
-> Begin a new loop. Still to do: 0
-> Shut down the token-ring. There was 17 hops.
-> Exiting GRAS
-
-& $SG_TEST_EXENV ./simple_token_node@EXEEXT@ 4010 127.0.0.1 4020 --log=root.fmt:%m%n $@ 
-> Exiting GRAS
-
-& $SG_TEST_EXENV ./simple_token_node@EXEEXT@ 4020 127.0.0.1 4030 --log=root.fmt:%m%n $@ 
-> Exiting GRAS
-
-& $SG_TEST_EXENV ./simple_token_node@EXEEXT@ 4030 127.0.0.1 4040 --log=root.fmt:%m%n $@ 
-> Exiting GRAS
-
-& $SG_TEST_EXENV ./simple_token_node@EXEEXT@ 4040 127.0.0.1 4050 --log=root.fmt:%m%n $@ 
-> Exiting GRAS
-
-& $SG_TEST_EXENV ./simple_token_node@EXEEXT@ 4050 127.0.0.1 4000 --log=root.fmt:%m%n $@ 
-> Exiting GRAS
@@ -1,4 +1,4 @@
-$ $SG_TEST_EXENV ./simple_token_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/simple_token.xml 
+$ $SG_TEST_EXENV ./simple_token_simulator$EXEEXT $srcdir/../../../msg/small_platform.xml $srcdir/simple_token.xml 
 > [Tremblay:node:(1) 0.000000] [SimpleToken/INFO] Create the token (with value 0) and send it to Fafard:4000
 > [Tremblay:node:(1) 0.011346] [SimpleToken/INFO] Begin a new loop. Still to do: 2
 > [Tremblay:node:(1) 0.022693] [SimpleToken/INFO] Begin a new loop. Still to do: 1
 > [Tremblay:node:(1) 0.000000] [SimpleToken/INFO] Create the token (with value 0) and send it to Fafard:4000
 > [Tremblay:node:(1) 0.011346] [SimpleToken/INFO] Begin a new loop. Still to do: 2
 > [Tremblay:node:(1) 0.022693] [SimpleToken/INFO] Begin a new loop. Still to do: 1
diff --git a/examples/gras/mutual_exclusion/simple_token/test_sg_64 b/examples/gras/mutual_exclusion/simple_token/test_sg_64
new file mode 100755 (executable)
index 0000000..2f85a82
--- /dev/null
@@ -0,0 +1,12 @@
+$ $SG_TEST_EXENV ./simple_token_simulator$EXEEXT $srcdir/../../../msg/small_platform.xml $srcdir/simple_token.xml 
+> [Tremblay:node:(1) 0.000000] [SimpleToken/INFO] Create the token (with value 0) and send it to Fafard:4000
+> [Tremblay:node:(1) 0.011346] [SimpleToken/INFO] Begin a new loop. Still to do: 2
+> [Tremblay:node:(1) 0.022693] [SimpleToken/INFO] Begin a new loop. Still to do: 1
+> [Tremblay:node:(1) 0.034039] [SimpleToken/INFO] Begin a new loop. Still to do: 0
+> [Tremblay:node:(1) 0.034039] [SimpleToken/INFO] Shut down the token-ring. There was 14 hops.
+> [Fafard:node:(2) 1.028109] [gras/INFO] Exiting GRAS
+> [Jupiter:node:(3) 1.030844] [gras/INFO] Exiting GRAS
+> [Ginette:node:(4) 1.032083] [gras/INFO] Exiting GRAS
+> [Bourassa:node:(5) 1.034039] [gras/INFO] Exiting GRAS
+> [Tremblay:node:(1) 1.034039] [gras/INFO] Exiting GRAS
+
index c309262..799a9d9 100644 (file)
@@ -108,6 +108,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
index 434859c..d530c72 100644 (file)
@@ -129,6 +129,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
index 0c7a3fe..57b63d1 100644 (file)
@@ -124,6 +124,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
index 46deff0..2a0c21e 100644 (file)
@@ -1,5 +1,3 @@
 .deps .libs Makefile  _*.c ping_server ping_client ping_simulator
 .deps .libs Makefile  _*.c ping_server ping_client ping_simulator
-test_sg
-test_rl
 ping.mk
 ping.trace
 ping.mk
 ping.trace
index 4d8f803..8ee2e11 100644 (file)
@@ -1,8 +1,7 @@
 INCLUDES= -I$(top_srcdir)/include
 INCLUDES= -I$(top_srcdir)/include
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
 
 
-EXTRA_DIST=ping.xml ping.h $(TESTS)
+EXTRA_DIST=ping.xml ping.h
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=ping_client ping_server ping_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=ping_client ping_server ping_simulator
index 298b25a..419f79b 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,12 +55,12 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = ping_client$(EXEEXT) ping_server$(EXEEXT) \
-       ping_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = ping_client$(EXEEXT) ping_server$(EXEEXT) \
+       ping_simulator$(EXEEXT)
 subdir = examples/gras/ping
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/ping
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -62,7 +75,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_ping_client_OBJECTS = _ping_client.$(OBJEXT) ping_client.$(OBJEXT) \
        ping_common.$(OBJEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 am_ping_client_OBJECTS = _ping_client.$(OBJEXT) ping_client.$(OBJEXT) \
        ping_common.$(OBJEXT)
@@ -133,6 +146,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -241,9 +256,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = ping.xml ping.h $(TESTS)
+EXTRA_DIST = ping.xml ping.h test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 ping_simulator_SOURCES = _ping_simulator.c ping_server.c ping_client.c ping_common.c
 ping_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 ping_client_SOURCES = _ping_client.c                  ping_client.c ping_common.c
 ping_simulator_SOURCES = _ping_simulator.c ping_server.c ping_client.c ping_common.c
 ping_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 ping_client_SOURCES = _ping_client.c                  ping_client.c ping_common.c
@@ -262,7 +278,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -291,10 +307,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -478,7 +490,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -599,6 +611,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
similarity index 81%
rename from examples/gras/ping/test_rl.in
rename to examples/gras/ping/test_rl
index 268dfd8..41f4679 100755 (executable)
@@ -1,6 +1,6 @@
 
 #! set timeout 20
 
 #! set timeout 20
-& $SG_TEST_ENV ./ping_server@EXEEXT@ 4002 --log=root.fmt=%m%n
+& $SG_TEST_ENV ./ping_server$EXEEXT 4002 --log=root.fmt=%m%n
 > Launch server (port=4002)
 > Messages registered
 > Messages registered
 > Launch server (port=4002)
 > Messages registered
 > Messages registered
@@ -13,7 +13,7 @@
 $ sleep 1
 
 #! set timeout 20
 $ sleep 1
 
 #! set timeout 20
-& $SG_TEST_ENV ./ping_client@EXEEXT@ 127.0.0.1 4002 --log=root.fmt=%m%n
+& $SG_TEST_ENV ./ping_client$EXEEXT 127.0.0.1 4002 --log=root.fmt=%m%n
 > Launch client (server on 127.0.0.1:4002)
 > Connected to 127.0.0.1:4002.
 > Messages registered
 > Launch client (server on 127.0.0.1:4002)
 > Connected to 127.0.0.1:4002.
 > Messages registered
diff --git a/examples/gras/ping/test_sg.in b/examples/gras/ping/test_sg.in
deleted file mode 100755 (executable)
index c31acbe..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-p Runs the 'ping' test within the simulator
-
-$ ./ping_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/ping.xml  --log=root.fmt:"'[%h:%t:(%i) %.2r] [%c/%p] %m%n'"
-> [Tremblay:server:(1) 0.00] [Ping/INFO] Launch server (port=4000)
-> [Tremblay:server:(1) 0.00] [Ping/INFO] Messages registered
-> [Tremblay:server:(1) 0.00] [Ping/INFO] Messages registered
-> [Tremblay:server:(1) 0.00] [Ping/INFO] >>>>>>>> Listening on port 4000 <<<<<<<<
-> [Fafard:client:(2) 0.00] [Ping/INFO] Launch client (server on Tremblay:4000)
-> [Fafard:client:(2) 1.00] [Ping/INFO] Connected to Tremblay:4000.
-> [Fafard:client:(2) 1.00] [Ping/INFO] Messages registered
-> [Fafard:client:(2) 1.00] [Ping/INFO] >>>>>>>> Connected to server which is on Tremblay:4000 <<<<<<<<
-> [Fafard:client:(2) 1.00] [Ping/INFO] >>>>>>>> Message PING(1234) sent to Tremblay:4000 <<<<<<<<
-> [Tremblay:server:(1) 1.00] [Ping/INFO] >>>>>>>> Got message PING(1234) from Fafard:0 <<<<<<<<
-> [Tremblay:server:(1) 1.00] [Ping/INFO] >>>>>>>> Answered with PONG(4321) <<<<<<<<
-> [Tremblay:server:(1) 1.00] [Ping/INFO] Done.
-> [Tremblay:server:(1) 1.00] [gras/INFO] Exiting GRAS
-> [Fafard:client:(2) 1.00] [Ping/INFO] >>>>>>>> Got PONG(4321) from Tremblay:4000 <<<<<<<<
-> [Fafard:client:(2) 1.00] [Ping/INFO] Done.
-> [Fafard:client:(2) 1.00] [gras/INFO] Exiting GRAS
-
diff --git a/examples/gras/ping/test_sg_32 b/examples/gras/ping/test_sg_32
new file mode 100755 (executable)
index 0000000..71b3257
--- /dev/null
@@ -0,0 +1,19 @@
+p Runs the 'ping' test within the simulator (simulation times valid for 32bits architectures)
+
+$ ./ping_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/ping.xml
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] Launch server (port=4000)
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] Messages registered
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] Messages registered
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] >>>>>>>> Listening on port 4000 <<<<<<<<
+> [Fafard:client:(2) 0.000000] [Ping/INFO] Launch client (server on Tremblay:4000)
+> [Fafard:client:(2) 1.000000] [Ping/INFO] Connected to Tremblay:4000.
+> [Fafard:client:(2) 1.000000] [Ping/INFO] Messages registered
+> [Fafard:client:(2) 1.000000] [Ping/INFO] >>>>>>>> Connected to server which is on Tremblay:4000 <<<<<<<<
+> [Fafard:client:(2) 1.001977] [Ping/INFO] >>>>>>>> Message PING(1234) sent to Tremblay:4000 <<<<<<<<
+> [Tremblay:server:(1) 1.001977] [Ping/INFO] >>>>>>>> Got message PING(1234) from Fafard:0 <<<<<<<<
+> [Tremblay:server:(1) 1.003954] [Ping/INFO] >>>>>>>> Answered with PONG(4321) <<<<<<<<
+> [Tremblay:server:(1) 1.003954] [Ping/INFO] Done.
+> [Tremblay:server:(1) 1.003954] [gras/INFO] Exiting GRAS
+> [Fafard:client:(2) 1.003954] [Ping/INFO] >>>>>>>> Got PONG(4321) from Tremblay:4000 <<<<<<<<
+> [Fafard:client:(2) 1.003954] [Ping/INFO] Done.
+> [Fafard:client:(2) 1.003954] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/ping/test_sg_64 b/examples/gras/ping/test_sg_64
new file mode 100755 (executable)
index 0000000..71b3257
--- /dev/null
@@ -0,0 +1,19 @@
+p Runs the 'ping' test within the simulator (simulation times valid for 32bits architectures)
+
+$ ./ping_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/ping.xml
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] Launch server (port=4000)
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] Messages registered
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] Messages registered
+> [Tremblay:server:(1) 0.000000] [Ping/INFO] >>>>>>>> Listening on port 4000 <<<<<<<<
+> [Fafard:client:(2) 0.000000] [Ping/INFO] Launch client (server on Tremblay:4000)
+> [Fafard:client:(2) 1.000000] [Ping/INFO] Connected to Tremblay:4000.
+> [Fafard:client:(2) 1.000000] [Ping/INFO] Messages registered
+> [Fafard:client:(2) 1.000000] [Ping/INFO] >>>>>>>> Connected to server which is on Tremblay:4000 <<<<<<<<
+> [Fafard:client:(2) 1.001977] [Ping/INFO] >>>>>>>> Message PING(1234) sent to Tremblay:4000 <<<<<<<<
+> [Tremblay:server:(1) 1.001977] [Ping/INFO] >>>>>>>> Got message PING(1234) from Fafard:0 <<<<<<<<
+> [Tremblay:server:(1) 1.003954] [Ping/INFO] >>>>>>>> Answered with PONG(4321) <<<<<<<<
+> [Tremblay:server:(1) 1.003954] [Ping/INFO] Done.
+> [Tremblay:server:(1) 1.003954] [gras/INFO] Exiting GRAS
+> [Fafard:client:(2) 1.003954] [Ping/INFO] >>>>>>>> Got PONG(4321) from Tremblay:4000 <<<<<<<<
+> [Fafard:client:(2) 1.003954] [Ping/INFO] Done.
+> [Fafard:client:(2) 1.003954] [gras/INFO] Exiting GRAS
index 20221f9..2b584cf 100644 (file)
@@ -1,5 +1,4 @@
 pmm_master pmm_slave *_simulator
 .deps .libs Makefile  _*.c
 pmm_master pmm_slave *_simulator
 .deps .libs Makefile  _*.c
-test_sg test_rl
 *.mk *.trace
 *.log
 *.mk *.trace
 *.log
index 76e824d..b9d2166 100644 (file)
@@ -1,7 +1,6 @@
 INCLUDES= -I$(top_srcdir)/include
 INCLUDES= -I$(top_srcdir)/include
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
-EXTRA_DIST=pmm.xml  test_sg.in test_rl.in $(TESTS)
+EXTRA_DIST=pmm.xml
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=pmm_slave pmm_master pmm_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=pmm_slave pmm_master pmm_simulator
index 973ca03..39731ad 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,12 +55,12 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = pmm_slave$(EXEEXT) pmm_master$(EXEEXT) \
-       pmm_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = pmm_slave$(EXEEXT) pmm_master$(EXEEXT) \
+       pmm_simulator$(EXEEXT)
 subdir = examples/gras/pmm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/pmm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -62,7 +75,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_pmm_master_OBJECTS = _pmm_master.$(OBJEXT) pmm.$(OBJEXT)
 pmm_master_OBJECTS = $(am_pmm_master_OBJECTS)
 PROGRAMS = $(noinst_PROGRAMS)
 am_pmm_master_OBJECTS = _pmm_master.$(OBJEXT) pmm.$(OBJEXT)
 pmm_master_OBJECTS = $(am_pmm_master_OBJECTS)
@@ -129,6 +142,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -237,9 +252,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = pmm.xml  test_sg.in test_rl.in $(TESTS)
+EXTRA_DIST = pmm.xml test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 pmm_simulator_SOURCES = _pmm_simulator.c pmm.c
 pmm_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 pmm_slave_SOURCES = _pmm_slave.c    pmm.c
 pmm_simulator_SOURCES = _pmm_simulator.c pmm.c
 pmm_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 pmm_slave_SOURCES = _pmm_slave.c    pmm.c
@@ -258,7 +274,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -287,10 +303,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -472,7 +484,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -593,6 +605,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
similarity index 82%
rename from examples/gras/pmm/test_rl.in
rename to examples/gras/pmm/test_rl
index 6b95de1..33e9cdb 100755 (executable)
@@ -2,42 +2,42 @@
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 ! output ignore
 
 ! set timeout 20
 ! output ignore
-& $SG_TEST_EXENV ./pmm_slave@EXEEXT@ 127.0.0.1:4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_slave$EXEEXT 127.0.0.1:4242 --log=root.fmt:%m%n
 
 ! set timeout 20
 
 ! set timeout 20
-& $SG_TEST_EXENV ./pmm_master@EXEEXT@ 4242 --log=root.fmt:%m%n
+& $SG_TEST_EXENV ./pmm_master$EXEEXT 4242 --log=root.fmt:%m%n
 > Wait for peers for 5 sec
 > Got 9 pals
 > Connecting to 127.0.0.1:3000.
 > Wait for peers for 5 sec
 > Got 9 pals
 > Connecting to 127.0.0.1:3000.
diff --git a/examples/gras/pmm/test_sg.in b/examples/gras/pmm/test_sg.in
deleted file mode 100755 (executable)
index b0bd0ae..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-$ $SG_TEST_EXENV ./pmm_simulator@EXEEXT@ @top_srcdir@/examples/msg/msg_platform.xml @srcdir@/pmm.xml --log=root.fmt:"'[%h:%t:(%i) %.2r] [%c/%p] %m%n'"
-> [Jacquelin:master:(1) 0.00] [pmm/INFO] Wait for peers for 5 sec
-> [Boivin:slave:(2) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Jean_Yves:slave:(3) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [TeX:slave:(4) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Geoff:slave:(5) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Disney:slave:(6) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [iRMX:slave:(7) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [McGee:slave:(8) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Gatien:slave:(9) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Laroche:slave:(10) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Tanguay:slave:(11) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Morin:slave:(12) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Ethernet:slave:(13) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Bellemarre:slave:(14) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Kuenning:slave:(15) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Gaston:slave:(16) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Bousquet:slave:(17) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Paul:slave:(18) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [St_Jean:slave:(19) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Jill:slave:(20) 1.00] [pmm/INFO] Sensor starting (on port 3000)
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Got 19 pals
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to Boivin:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to Boivin:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to Jean_Yves:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to Jean_Yves:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to TeX:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to TeX:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to Geoff:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to Geoff:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to Disney:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to Disney:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to iRMX:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to iRMX:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to McGee:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to McGee:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to Gatien:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to Gatien:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connecting to Laroche:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Connected to Laroche:3000.
-> [Jacquelin:master:(1) 5.08] [pmm/INFO] Too much slaves. Killing Tanguay:3000
-> [Jacquelin:master:(1) 5.16] [pmm/INFO] Too much slaves. Killing Morin:3000
-> [Tanguay:slave:(11) 5.16] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.30] [pmm/INFO] Too much slaves. Killing Ethernet:3000
-> [Morin:slave:(12) 5.30] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.38] [pmm/INFO] Too much slaves. Killing Bellemarre:3000
-> [Ethernet:slave:(13) 5.38] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.52] [pmm/INFO] Too much slaves. Killing Kuenning:3000
-> [Bellemarre:slave:(14) 5.52] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.59] [pmm/INFO] Too much slaves. Killing Gaston:3000
-> [Kuenning:slave:(15) 5.59] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.66] [pmm/INFO] Too much slaves. Killing Bousquet:3000
-> [Gaston:slave:(16) 5.66] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.74] [pmm/INFO] Too much slaves. Killing Paul:3000
-> [Bousquet:slave:(17) 5.74] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.84] [pmm/INFO] Too much slaves. Killing St_Jean:3000
-> [Paul:slave:(18) 5.84] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 5.98] [pmm/INFO] Too much slaves. Killing Jill:3000
-> [St_Jean:slave:(19) 5.98] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 6.14] [pmm/INFO] XXXXXXXXXXXXXXXXXXXXXX begin Multiplication
-> [Jill:slave:(20) 6.14] [gras/INFO] Exiting GRAS
-> [Boivin:slave:(2) 7.22] [pmm/INFO] Receive my pos (0,0) and assignment
-> [Boivin:slave:(2) 7.22] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
-> [Boivin:slave:(2) 7.22] [pmm/INFO] LINE:   Send to Geoff:3000
-> [Jean_Yves:slave:(3) 7.30] [pmm/INFO] Receive my pos (0,1) and assignment
-> [Jean_Yves:slave:(3) 7.30] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
-> [Jean_Yves:slave:(3) 7.30] [pmm/INFO] LINE:   Send to Disney:3000
-> [TeX:slave:(4) 7.45] [pmm/INFO] Receive my pos (0,2) and assignment
-> [TeX:slave:(4) 7.45] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
-> [TeX:slave:(4) 7.45] [pmm/INFO] LINE:   Send to iRMX:3000
-> [Geoff:slave:(5) 7.45] [pmm/INFO] Receive my pos (1,0) and assignment
-> [Boivin:slave:(2) 7.53] [pmm/INFO] LINE:   Send to McGee:3000
-> [Geoff:slave:(5) 7.53] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from Boivin:3000
-> [Geoff:slave:(5) 7.53] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
-> [Geoff:slave:(5) 7.53] [pmm/INFO] ROW:   Send to Disney:3000
-> [Disney:slave:(6) 7.60] [pmm/INFO] Receive my pos (1,1) and assignment
-> [Jean_Yves:slave:(3) 7.81] [pmm/INFO] LINE:   Send to Gatien:3000
-> [Disney:slave:(6) 7.81] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from Jean_Yves:3000
-> [iRMX:slave:(7) 7.85] [pmm/INFO] Receive my pos (1,2) and assignment
-> [McGee:slave:(8) 7.92] [pmm/INFO] Receive my pos (2,0) and assignment
-> [Boivin:slave:(2) 7.93] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
-> [Boivin:slave:(2) 7.93] [pmm/INFO] ROW:   Send to Jean_Yves:3000
-> [McGee:slave:(8) 7.93] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from Boivin:3000
-> [McGee:slave:(8) 7.93] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
-> [McGee:slave:(8) 7.93] [pmm/INFO] ROW:   Send to Gatien:3000
-> [Geoff:slave:(5) 7.96] [pmm/INFO] ROW:   Send to iRMX:3000
-> [Disney:slave:(6) 7.96] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from Geoff
-> [Disney:slave:(6) 7.96] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
-> [Disney:slave:(6) 7.96] [pmm/INFO] LINE:   Send to Jean_Yves:3000
-> [Gatien:slave:(9) 8.02] [pmm/INFO] Receive my pos (2,1) and assignment
-> [TeX:slave:(4) 8.10] [pmm/INFO] LINE:   Send to Laroche:3000
-> [iRMX:slave:(7) 8.10] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from TeX:3000
-> [Laroche:slave:(10) 8.17] [pmm/INFO] Receive my pos (2,2) and assignment
-> [Gatien:slave:(9) 8.20] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from Jean_Yves:3000
-> [McGee:slave:(8) 8.23] [pmm/INFO] ROW:   Send to Laroche:3000
-> [Gatien:slave:(9) 8.23] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from McGee
-> [Laroche:slave:(10) 8.32] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from TeX:3000
-> [Geoff:slave:(5) 8.34] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
-> [Geoff:slave:(5) 8.34] [pmm/INFO] LINE:   Send to Boivin:3000
-> [iRMX:slave:(7) 8.34] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from Geoff
-> [iRMX:slave:(7) 8.34] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
-> [iRMX:slave:(7) 8.34] [pmm/INFO] LINE:   Send to TeX:3000
-> [Boivin:slave:(2) 8.35] [pmm/INFO] ROW:   Send to TeX:3000
-> [Jean_Yves:slave:(3) 8.35] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from Boivin
-> [Laroche:slave:(10) 8.40] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from McGee
-> [Disney:slave:(6) 8.57] [pmm/INFO] LINE:   Send to Gatien:3000
-> [Jean_Yves:slave:(3) 8.57] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from Disney:3000
-> [Jean_Yves:slave:(3) 8.57] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
-> [Jean_Yves:slave:(3) 8.57] [pmm/INFO] ROW:   Send to Boivin:3000
-> [iRMX:slave:(7) 8.59] [pmm/INFO] LINE:   Send to Laroche:3000
-> [Disney:slave:(6) 8.67] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
-> [Disney:slave:(6) 8.67] [pmm/INFO] ROW:   Send to Geoff:3000
-> [Gatien:slave:(9) 8.67] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from Disney:3000
-> [Gatien:slave:(9) 8.67] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
-> [Gatien:slave:(9) 8.67] [pmm/INFO] ROW:   Send to McGee:3000
-> [TeX:slave:(4) 8.68] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from Boivin
-> [TeX:slave:(4) 8.68] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from iRMX:3000
-> [Laroche:slave:(10) 8.69] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from iRMX:3000
-> [Gatien:slave:(9) 8.71] [pmm/INFO] ROW:   Send to Laroche:3000
-> [Geoff:slave:(5) 8.76] [pmm/INFO] LINE:   Send to McGee:3000
-> [Boivin:slave:(2) 8.76] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from Geoff:3000
-> [Gatien:slave:(9) 8.81] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
-> [Gatien:slave:(9) 8.81] [pmm/INFO] LINE:   Send to Jean_Yves:3000
-> [Laroche:slave:(10) 8.81] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Gatien
-> [Laroche:slave:(10) 8.81] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
-> [Laroche:slave:(10) 8.81] [pmm/INFO] LINE:   Send to TeX:3000
-> [McGee:slave:(8) 8.83] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from Geoff:3000
-> [McGee:slave:(8) 8.83] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Gatien
-> [McGee:slave:(8) 8.83] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
-> [McGee:slave:(8) 8.83] [pmm/INFO] LINE:   Send to Boivin:3000
-> [Jean_Yves:slave:(3) 8.92] [pmm/INFO] ROW:   Send to TeX:3000
-> [Boivin:slave:(2) 8.92] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Jean_Yves
-> [McGee:slave:(8) 8.93] [pmm/INFO] LINE:   Send to Geoff:3000
-> [Boivin:slave:(2) 8.93] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from McGee:3000
-> [Laroche:slave:(10) 8.96] [pmm/INFO] LINE:   Send to iRMX:3000
-> [Disney:slave:(6) 8.98] [pmm/INFO] ROW:   Send to iRMX:3000
-> [Geoff:slave:(5) 8.98] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Disney
-> [Geoff:slave:(5) 9.05] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from McGee:3000
-> [Laroche:slave:(10) 9.06] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
-> [Laroche:slave:(10) 9.06] [pmm/INFO] ROW:   Send to McGee:3000
-> [Laroche:slave:(10) 9.14] [pmm/INFO] ROW:   Send to Gatien:3000
-> [McGee:slave:(8) 9.14] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from Laroche
-> [TeX:slave:(4) 9.18] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Jean_Yves
-> [TeX:slave:(4) 9.18] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from Laroche:3000
-> [TeX:slave:(4) 9.18] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
-> [TeX:slave:(4) 9.18] [pmm/INFO] ROW:   Send to Boivin:3000
-> [McGee:slave:(8) 9.21] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [TeX:slave:(4) 9.27] [pmm/INFO] ROW:   Send to Jean_Yves:3000
-> [Boivin:slave:(2) 9.27] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from TeX
-> [iRMX:slave:(7) 9.32] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Disney
-> [iRMX:slave:(7) 9.32] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from Laroche:3000
-> [iRMX:slave:(7) 9.32] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
-> [iRMX:slave:(7) 9.32] [pmm/INFO] ROW:   Send to Geoff:3000
-> [Boivin:slave:(2) 9.35] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Gatien:slave:(9) 9.35] [pmm/INFO] LINE:   Send to Disney:3000
-> [Jean_Yves:slave:(3) 9.35] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from Gatien:3000
-> [Disney:slave:(6) 9.46] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from Gatien:3000
-> [iRMX:slave:(7) 9.56] [pmm/INFO] ROW:   Send to Disney:3000
-> [Geoff:slave:(5) 9.56] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from iRMX
-> [Geoff:slave:(5) 9.56] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Gatien:slave:(9) 9.56] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from Laroche
-> [Jean_Yves:slave:(3) 9.57] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from TeX
-> [Laroche:slave:(10) 9.71] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Gatien:slave:(9) 9.81] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Disney:slave:(6) 9.81] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from iRMX
-> [TeX:slave:(4) 9.95] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Jean_Yves:slave:(3) 10.03] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [iRMX:slave:(7) 10.27] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Disney:slave:(6) 10.41] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
-> [Jacquelin:master:(1) 10.41] [pmm/INFO] The Result of Multiplication is :
-> >>> Matrix C:res dump (18 x 18)
->    0.00 18.00 36.00 54.00 72.00 90.00 108.00 126.00 144.00 162.00 180.00 198.00 216.00 234.00 252.00 270.00 288.00 306.00
->    1.00 19.00 37.00 55.00 73.00 91.00 109.00 127.00 145.00 163.00 181.00 199.00 217.00 235.00 253.00 271.00 289.00 307.00
->    2.00 20.00 38.00 56.00 74.00 92.00 110.00 128.00 146.00 164.00 182.00 200.00 218.00 236.00 254.00 272.00 290.00 308.00
->    3.00 21.00 39.00 57.00 75.00 93.00 111.00 129.00 147.00 165.00 183.00 201.00 219.00 237.00 255.00 273.00 291.00 309.00
->    4.00 22.00 40.00 58.00 76.00 94.00 112.00 130.00 148.00 166.00 184.00 202.00 220.00 238.00 256.00 274.00 292.00 310.00
->    5.00 23.00 41.00 59.00 77.00 95.00 113.00 131.00 149.00 167.00 185.00 203.00 221.00 239.00 257.00 275.00 293.00 311.00
->    6.00 24.00 42.00 60.00 78.00 96.00 114.00 132.00 150.00 168.00 186.00 204.00 222.00 240.00 258.00 276.00 294.00 312.00
->    7.00 25.00 43.00 61.00 79.00 97.00 115.00 133.00 151.00 169.00 187.00 205.00 223.00 241.00 259.00 277.00 295.00 313.00
->    8.00 26.00 44.00 62.00 80.00 98.00 116.00 134.00 152.00 170.00 188.00 206.00 224.00 242.00 260.00 278.00 296.00 314.00
->    9.00 27.00 45.00 63.00 81.00 99.00 117.00 135.00 153.00 171.00 189.00 207.00 225.00 243.00 261.00 279.00 297.00 315.00
->    10.00 28.00 46.00 64.00 82.00 100.00 118.00 136.00 154.00 172.00 190.00 208.00 226.00 244.00 262.00 280.00 298.00 316.00
->    11.00 29.00 47.00 65.00 83.00 101.00 119.00 137.00 155.00 173.00 191.00 209.00 227.00 245.00 263.00 281.00 299.00 317.00
->    12.00 30.00 48.00 66.00 84.00 102.00 120.00 138.00 156.00 174.00 192.00 210.00 228.00 246.00 264.00 282.00 300.00 318.00
->    13.00 31.00 49.00 67.00 85.00 103.00 121.00 139.00 157.00 175.00 193.00 211.00 229.00 247.00 265.00 283.00 301.00 319.00
->    14.00 32.00 50.00 68.00 86.00 104.00 122.00 140.00 158.00 176.00 194.00 212.00 230.00 248.00 266.00 284.00 302.00 320.00
->    15.00 33.00 51.00 69.00 87.00 105.00 123.00 141.00 159.00 177.00 195.00 213.00 231.00 249.00 267.00 285.00 303.00 321.00
->    16.00 34.00 52.00 70.00 88.00 106.00 124.00 142.00 160.00 178.00 196.00 214.00 232.00 250.00 268.00 286.00 304.00 322.00
->    17.00 35.00 53.00 71.00 89.00 107.00 125.00 143.00 161.00 179.00 197.00 215.00 233.00 251.00 269.00 287.00 305.00 323.00
-> <<< end_of_matrix C:res dump
-> [Boivin:slave:(2) 10.49] [gras/INFO] Exiting GRAS
-> [Jean_Yves:slave:(3) 10.56] [gras/INFO] Exiting GRAS
-> [TeX:slave:(4) 10.70] [gras/INFO] Exiting GRAS
-> [Geoff:slave:(5) 10.70] [gras/INFO] Exiting GRAS
-> [Disney:slave:(6) 10.84] [gras/INFO] Exiting GRAS
-> [iRMX:slave:(7) 11.08] [gras/INFO] Exiting GRAS
-> [McGee:slave:(8) 11.15] [gras/INFO] Exiting GRAS
-> [Gatien:slave:(9) 11.24] [gras/INFO] Exiting GRAS
-> [Jacquelin:master:(1) 11.38] [gras/INFO] Exiting GRAS
-> [Laroche:slave:(10) 11.38] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/pmm/test_sg_32 b/examples/gras/pmm/test_sg_32
new file mode 100755 (executable)
index 0000000..8e42c5b
--- /dev/null
@@ -0,0 +1,200 @@
+$ $SG_TEST_EXENV ./pmm_simulator$EXEEXT $srcdir/../../msg/msg_platform.xml $srcdir/pmm.xml
+> [Jacquelin:master:(1) 0.000000] [pmm/INFO] Wait for peers for 5 sec
+> [Boivin:slave:(2) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Jean_Yves:slave:(3) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [TeX:slave:(4) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Geoff:slave:(5) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Disney:slave:(6) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [iRMX:slave:(7) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [McGee:slave:(8) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Gatien:slave:(9) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Laroche:slave:(10) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Tanguay:slave:(11) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Morin:slave:(12) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Ethernet:slave:(13) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Bellemarre:slave:(14) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Kuenning:slave:(15) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Gaston:slave:(16) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Bousquet:slave:(17) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Paul:slave:(18) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [St_Jean:slave:(19) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Jill:slave:(20) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Got 19 pals
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Boivin:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Boivin:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Jean_Yves:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Jean_Yves:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to TeX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to TeX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Geoff:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Geoff:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Disney:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Disney:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to iRMX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to iRMX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to McGee:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to McGee:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Gatien:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Gatien:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Laroche:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Laroche:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Too much slaves. Killing Tanguay:3000
+> [Jacquelin:master:(1) 5.159107] [pmm/INFO] Too much slaves. Killing Morin:3000
+> [Tanguay:slave:(11) 5.159107] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.302399] [pmm/INFO] Too much slaves. Killing Ethernet:3000
+> [Morin:slave:(12) 5.302399] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.383890] [pmm/INFO] Too much slaves. Killing Bellemarre:3000
+> [Ethernet:slave:(13) 5.383890] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.523063] [pmm/INFO] Too much slaves. Killing Kuenning:3000
+> [Bellemarre:slave:(14) 5.523063] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.588959] [pmm/INFO] Too much slaves. Killing Gaston:3000
+> [Kuenning:slave:(15) 5.588959] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.662429] [pmm/INFO] Too much slaves. Killing Bousquet:3000
+> [Gaston:slave:(16) 5.662429] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.740421] [pmm/INFO] Too much slaves. Killing Paul:3000
+> [Bousquet:slave:(17) 5.740421] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.844574] [pmm/INFO] Too much slaves. Killing St_Jean:3000
+> [Paul:slave:(18) 5.844574] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.983872] [pmm/INFO] Too much slaves. Killing Jill:3000
+> [St_Jean:slave:(19) 5.983872] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 6.136256] [pmm/INFO] XXXXXXXXXXXXXXXXXXXXXX begin Multiplication
+> [Jill:slave:(20) 6.136256] [gras/INFO] Exiting GRAS
+> [Boivin:slave:(2) 7.222182] [pmm/INFO] Receive my pos (0,0) and assignment
+> [Boivin:slave:(2) 7.222182] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
+> [Boivin:slave:(2) 7.222182] [pmm/INFO] LINE:   Send to Geoff:3000
+> [Jean_Yves:slave:(3) 7.297959] [pmm/INFO] Receive my pos (0,1) and assignment
+> [Jean_Yves:slave:(3) 7.297959] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
+> [Jean_Yves:slave:(3) 7.297959] [pmm/INFO] LINE:   Send to Disney:3000
+> [TeX:slave:(4) 7.446505] [pmm/INFO] Receive my pos (0,2) and assignment
+> [TeX:slave:(4) 7.446505] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
+> [TeX:slave:(4) 7.446505] [pmm/INFO] LINE:   Send to iRMX:3000
+> [Geoff:slave:(5) 7.447170] [pmm/INFO] Receive my pos (1,0) and assignment
+> [Boivin:slave:(2) 7.529819] [pmm/INFO] LINE:   Send to McGee:3000
+> [Geoff:slave:(5) 7.529819] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from Boivin:3000
+> [Geoff:slave:(5) 7.529819] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
+> [Geoff:slave:(5) 7.529819] [pmm/INFO] ROW:   Send to Disney:3000
+> [Disney:slave:(6) 7.596585] [pmm/INFO] Receive my pos (1,1) and assignment
+> [Jean_Yves:slave:(3) 7.812668] [pmm/INFO] LINE:   Send to Gatien:3000
+> [Disney:slave:(6) 7.812668] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from Jean_Yves:3000
+> [iRMX:slave:(7) 7.845903] [pmm/INFO] Receive my pos (1,2) and assignment
+> [McGee:slave:(8) 7.918692] [pmm/INFO] Receive my pos (2,0) and assignment
+> [Boivin:slave:(2) 7.926992] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
+> [Boivin:slave:(2) 7.926992] [pmm/INFO] ROW:   Send to Jean_Yves:3000
+> [McGee:slave:(8) 7.926992] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from Boivin:3000
+> [McGee:slave:(8) 7.926992] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
+> [McGee:slave:(8) 7.926992] [pmm/INFO] ROW:   Send to Gatien:3000
+> [Geoff:slave:(5) 7.956670] [pmm/INFO] ROW:   Send to iRMX:3000
+> [Disney:slave:(6) 7.956670] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from Geoff
+> [Disney:slave:(6) 7.956670] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
+> [Disney:slave:(6) 7.956670] [pmm/INFO] LINE:   Send to Jean_Yves:3000
+> [Gatien:slave:(9) 8.023145] [pmm/INFO] Receive my pos (2,1) and assignment
+> [TeX:slave:(4) 8.098750] [pmm/INFO] LINE:   Send to Laroche:3000
+> [iRMX:slave:(7) 8.098750] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from TeX:3000
+> [Laroche:slave:(10) 8.170600] [pmm/INFO] Receive my pos (2,2) and assignment
+> [Gatien:slave:(9) 8.195738] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from Jean_Yves:3000
+> [McGee:slave:(8) 8.227377] [pmm/INFO] ROW:   Send to Laroche:3000
+> [Gatien:slave:(9) 8.227377] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from McGee
+> [Laroche:slave:(10) 8.325000] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from TeX:3000
+> [Geoff:slave:(5) 8.339386] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
+> [Geoff:slave:(5) 8.339386] [pmm/INFO] LINE:   Send to Boivin:3000
+> [iRMX:slave:(7) 8.339386] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from Geoff
+> [iRMX:slave:(7) 8.339386] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
+> [iRMX:slave:(7) 8.339386] [pmm/INFO] LINE:   Send to TeX:3000
+> [Boivin:slave:(2) 8.350468] [pmm/INFO] ROW:   Send to TeX:3000
+> [Jean_Yves:slave:(3) 8.350468] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from Boivin
+> [Laroche:slave:(10) 8.399620] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from McGee
+> [Disney:slave:(6) 8.566551] [pmm/INFO] LINE:   Send to Gatien:3000
+> [Jean_Yves:slave:(3) 8.566551] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from Disney:3000
+> [Jean_Yves:slave:(3) 8.566551] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
+> [Jean_Yves:slave:(3) 8.566551] [pmm/INFO] ROW:   Send to Boivin:3000
+> [iRMX:slave:(7) 8.592233] [pmm/INFO] LINE:   Send to Laroche:3000
+> [Disney:slave:(6) 8.673563] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
+> [Disney:slave:(6) 8.673563] [pmm/INFO] ROW:   Send to Geoff:3000
+> [Gatien:slave:(9) 8.673563] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from Disney:3000
+> [Gatien:slave:(9) 8.673563] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
+> [Gatien:slave:(9) 8.673563] [pmm/INFO] ROW:   Send to McGee:3000
+> [TeX:slave:(4) 8.681575] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from Boivin
+> [TeX:slave:(4) 8.681575] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from iRMX:3000
+> [Laroche:slave:(10) 8.691003] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from iRMX:3000
+> [Gatien:slave:(9) 8.705202] [pmm/INFO] ROW:   Send to Laroche:3000
+> [Geoff:slave:(5) 8.764224] [pmm/INFO] LINE:   Send to McGee:3000
+> [Boivin:slave:(2) 8.764224] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from Geoff:3000
+> [Gatien:slave:(9) 8.810401] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
+> [Gatien:slave:(9) 8.810401] [pmm/INFO] LINE:   Send to Jean_Yves:3000
+> [Laroche:slave:(10) 8.810401] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Gatien
+> [Laroche:slave:(10) 8.810401] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
+> [Laroche:slave:(10) 8.810401] [pmm/INFO] LINE:   Send to TeX:3000
+> [McGee:slave:(8) 8.834159] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from Geoff:3000
+> [McGee:slave:(8) 8.834159] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Gatien
+> [McGee:slave:(8) 8.834159] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
+> [McGee:slave:(8) 8.834159] [pmm/INFO] LINE:   Send to Boivin:3000
+> [Jean_Yves:slave:(3) 8.918953] [pmm/INFO] ROW:   Send to TeX:3000
+> [Boivin:slave:(2) 8.918953] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Jean_Yves
+> [McGee:slave:(8) 8.927254] [pmm/INFO] LINE:   Send to Geoff:3000
+> [Boivin:slave:(2) 8.927254] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from McGee:3000
+> [Laroche:slave:(10) 8.964800] [pmm/INFO] LINE:   Send to iRMX:3000
+> [Disney:slave:(6) 8.978161] [pmm/INFO] ROW:   Send to iRMX:3000
+> [Geoff:slave:(5) 8.978161] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Disney
+> [Geoff:slave:(5) 9.048096] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from McGee:3000
+> [Laroche:slave:(10) 9.063569] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
+> [Laroche:slave:(10) 9.063569] [pmm/INFO] ROW:   Send to McGee:3000
+> [Laroche:slave:(10) 9.138190] [pmm/INFO] ROW:   Send to Gatien:3000
+> [McGee:slave:(8) 9.138190] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from Laroche
+> [TeX:slave:(4) 9.180015] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Jean_Yves
+> [TeX:slave:(4) 9.180015] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from Laroche:3000
+> [TeX:slave:(4) 9.180015] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
+> [TeX:slave:(4) 9.180015] [pmm/INFO] ROW:   Send to Boivin:3000
+> [McGee:slave:(8) 9.208603] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [TeX:slave:(4) 9.269357] [pmm/INFO] ROW:   Send to Jean_Yves:3000
+> [Boivin:slave:(2) 9.269357] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from TeX
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Disney
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from Laroche:3000
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] ROW:   Send to Geoff:3000
+> [Boivin:slave:(2) 9.352493] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Gatien:slave:(9) 9.352609] [pmm/INFO] LINE:   Send to Disney:3000
+> [Jean_Yves:slave:(3) 9.352609] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from Gatien:3000
+> [Disney:slave:(6) 9.459622] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from Gatien:3000
+> [iRMX:slave:(7) 9.557920] [pmm/INFO] ROW:   Send to Disney:3000
+> [Geoff:slave:(5) 9.557920] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from iRMX
+> [Geoff:slave:(5) 9.558451] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Gatien:slave:(9) 9.564821] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from Laroche
+> [Jean_Yves:slave:(3) 9.567824] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from TeX
+> [Laroche:slave:(10) 9.707543] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Gatien:slave:(9) 9.808558] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Disney:slave:(6) 9.811634] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from iRMX
+> [TeX:slave:(4) 9.952227] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Jean_Yves:slave:(3) 10.025551] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [iRMX:slave:(7) 10.266798] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Disney:slave:(6) 10.411336] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Jacquelin:master:(1) 10.411336] [pmm/INFO] The Result of Multiplication is :
+> >>> Matrix C:res dump (18 x 18)
+>    0.00 18.00 36.00 54.00 72.00 90.00 108.00 126.00 144.00 162.00 180.00 198.00 216.00 234.00 252.00 270.00 288.00 306.00
+>    1.00 19.00 37.00 55.00 73.00 91.00 109.00 127.00 145.00 163.00 181.00 199.00 217.00 235.00 253.00 271.00 289.00 307.00
+>    2.00 20.00 38.00 56.00 74.00 92.00 110.00 128.00 146.00 164.00 182.00 200.00 218.00 236.00 254.00 272.00 290.00 308.00
+>    3.00 21.00 39.00 57.00 75.00 93.00 111.00 129.00 147.00 165.00 183.00 201.00 219.00 237.00 255.00 273.00 291.00 309.00
+>    4.00 22.00 40.00 58.00 76.00 94.00 112.00 130.00 148.00 166.00 184.00 202.00 220.00 238.00 256.00 274.00 292.00 310.00
+>    5.00 23.00 41.00 59.00 77.00 95.00 113.00 131.00 149.00 167.00 185.00 203.00 221.00 239.00 257.00 275.00 293.00 311.00
+>    6.00 24.00 42.00 60.00 78.00 96.00 114.00 132.00 150.00 168.00 186.00 204.00 222.00 240.00 258.00 276.00 294.00 312.00
+>    7.00 25.00 43.00 61.00 79.00 97.00 115.00 133.00 151.00 169.00 187.00 205.00 223.00 241.00 259.00 277.00 295.00 313.00
+>    8.00 26.00 44.00 62.00 80.00 98.00 116.00 134.00 152.00 170.00 188.00 206.00 224.00 242.00 260.00 278.00 296.00 314.00
+>    9.00 27.00 45.00 63.00 81.00 99.00 117.00 135.00 153.00 171.00 189.00 207.00 225.00 243.00 261.00 279.00 297.00 315.00
+>    10.00 28.00 46.00 64.00 82.00 100.00 118.00 136.00 154.00 172.00 190.00 208.00 226.00 244.00 262.00 280.00 298.00 316.00
+>    11.00 29.00 47.00 65.00 83.00 101.00 119.00 137.00 155.00 173.00 191.00 209.00 227.00 245.00 263.00 281.00 299.00 317.00
+>    12.00 30.00 48.00 66.00 84.00 102.00 120.00 138.00 156.00 174.00 192.00 210.00 228.00 246.00 264.00 282.00 300.00 318.00
+>    13.00 31.00 49.00 67.00 85.00 103.00 121.00 139.00 157.00 175.00 193.00 211.00 229.00 247.00 265.00 283.00 301.00 319.00
+>    14.00 32.00 50.00 68.00 86.00 104.00 122.00 140.00 158.00 176.00 194.00 212.00 230.00 248.00 266.00 284.00 302.00 320.00
+>    15.00 33.00 51.00 69.00 87.00 105.00 123.00 141.00 159.00 177.00 195.00 213.00 231.00 249.00 267.00 285.00 303.00 321.00
+>    16.00 34.00 52.00 70.00 88.00 106.00 124.00 142.00 160.00 178.00 196.00 214.00 232.00 250.00 268.00 286.00 304.00 322.00
+>    17.00 35.00 53.00 71.00 89.00 107.00 125.00 143.00 161.00 179.00 197.00 215.00 233.00 251.00 269.00 287.00 305.00 323.00
+> <<< end_of_matrix C:res dump
+> [Boivin:slave:(2) 10.491957] [gras/INFO] Exiting GRAS
+> [Jean_Yves:slave:(3) 10.563063] [gras/INFO] Exiting GRAS
+> [TeX:slave:(4) 10.702385] [gras/INFO] Exiting GRAS
+> [Geoff:slave:(5) 10.702796] [gras/INFO] Exiting GRAS
+> [Disney:slave:(6) 10.842960] [gras/INFO] Exiting GRAS
+> [iRMX:slave:(7) 11.076908] [gras/INFO] Exiting GRAS
+> [McGee:slave:(8) 11.145190] [gras/INFO] Exiting GRAS
+> [Gatien:slave:(9) 11.243148] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 11.381552] [gras/INFO] Exiting GRAS
+> [Laroche:slave:(10) 11.381552] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/pmm/test_sg_64 b/examples/gras/pmm/test_sg_64
new file mode 100755 (executable)
index 0000000..8e42c5b
--- /dev/null
@@ -0,0 +1,200 @@
+$ $SG_TEST_EXENV ./pmm_simulator$EXEEXT $srcdir/../../msg/msg_platform.xml $srcdir/pmm.xml
+> [Jacquelin:master:(1) 0.000000] [pmm/INFO] Wait for peers for 5 sec
+> [Boivin:slave:(2) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Jean_Yves:slave:(3) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [TeX:slave:(4) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Geoff:slave:(5) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Disney:slave:(6) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [iRMX:slave:(7) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [McGee:slave:(8) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Gatien:slave:(9) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Laroche:slave:(10) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Tanguay:slave:(11) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Morin:slave:(12) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Ethernet:slave:(13) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Bellemarre:slave:(14) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Kuenning:slave:(15) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Gaston:slave:(16) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Bousquet:slave:(17) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Paul:slave:(18) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [St_Jean:slave:(19) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Jill:slave:(20) 1.000000] [pmm/INFO] Sensor starting (on port 3000)
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Got 19 pals
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Boivin:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Boivin:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Jean_Yves:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Jean_Yves:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to TeX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to TeX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Geoff:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Geoff:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Disney:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Disney:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to iRMX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to iRMX:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to McGee:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to McGee:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Gatien:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Gatien:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connecting to Laroche:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Connected to Laroche:3000.
+> [Jacquelin:master:(1) 5.082948] [pmm/INFO] Too much slaves. Killing Tanguay:3000
+> [Jacquelin:master:(1) 5.159107] [pmm/INFO] Too much slaves. Killing Morin:3000
+> [Tanguay:slave:(11) 5.159107] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.302399] [pmm/INFO] Too much slaves. Killing Ethernet:3000
+> [Morin:slave:(12) 5.302399] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.383890] [pmm/INFO] Too much slaves. Killing Bellemarre:3000
+> [Ethernet:slave:(13) 5.383890] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.523063] [pmm/INFO] Too much slaves. Killing Kuenning:3000
+> [Bellemarre:slave:(14) 5.523063] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.588959] [pmm/INFO] Too much slaves. Killing Gaston:3000
+> [Kuenning:slave:(15) 5.588959] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.662429] [pmm/INFO] Too much slaves. Killing Bousquet:3000
+> [Gaston:slave:(16) 5.662429] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.740421] [pmm/INFO] Too much slaves. Killing Paul:3000
+> [Bousquet:slave:(17) 5.740421] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.844574] [pmm/INFO] Too much slaves. Killing St_Jean:3000
+> [Paul:slave:(18) 5.844574] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 5.983872] [pmm/INFO] Too much slaves. Killing Jill:3000
+> [St_Jean:slave:(19) 5.983872] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 6.136256] [pmm/INFO] XXXXXXXXXXXXXXXXXXXXXX begin Multiplication
+> [Jill:slave:(20) 6.136256] [gras/INFO] Exiting GRAS
+> [Boivin:slave:(2) 7.222182] [pmm/INFO] Receive my pos (0,0) and assignment
+> [Boivin:slave:(2) 7.222182] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
+> [Boivin:slave:(2) 7.222182] [pmm/INFO] LINE:   Send to Geoff:3000
+> [Jean_Yves:slave:(3) 7.297959] [pmm/INFO] Receive my pos (0,1) and assignment
+> [Jean_Yves:slave:(3) 7.297959] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
+> [Jean_Yves:slave:(3) 7.297959] [pmm/INFO] LINE:   Send to Disney:3000
+> [TeX:slave:(4) 7.446505] [pmm/INFO] Receive my pos (0,2) and assignment
+> [TeX:slave:(4) 7.446505] [pmm/INFO] LINE: step(0) = Myline(0). Broadcast my data (myport=3000).
+> [TeX:slave:(4) 7.446505] [pmm/INFO] LINE:   Send to iRMX:3000
+> [Geoff:slave:(5) 7.447170] [pmm/INFO] Receive my pos (1,0) and assignment
+> [Boivin:slave:(2) 7.529819] [pmm/INFO] LINE:   Send to McGee:3000
+> [Geoff:slave:(5) 7.529819] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from Boivin:3000
+> [Geoff:slave:(5) 7.529819] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
+> [Geoff:slave:(5) 7.529819] [pmm/INFO] ROW:   Send to Disney:3000
+> [Disney:slave:(6) 7.596585] [pmm/INFO] Receive my pos (1,1) and assignment
+> [Jean_Yves:slave:(3) 7.812668] [pmm/INFO] LINE:   Send to Gatien:3000
+> [Disney:slave:(6) 7.812668] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from Jean_Yves:3000
+> [iRMX:slave:(7) 7.845903] [pmm/INFO] Receive my pos (1,2) and assignment
+> [McGee:slave:(8) 7.918692] [pmm/INFO] Receive my pos (2,0) and assignment
+> [Boivin:slave:(2) 7.926992] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
+> [Boivin:slave:(2) 7.926992] [pmm/INFO] ROW:   Send to Jean_Yves:3000
+> [McGee:slave:(8) 7.926992] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from Boivin:3000
+> [McGee:slave:(8) 7.926992] [pmm/INFO] ROW: step(0)=myrow(0). Broadcast my data
+> [McGee:slave:(8) 7.926992] [pmm/INFO] ROW:   Send to Gatien:3000
+> [Geoff:slave:(5) 7.956670] [pmm/INFO] ROW:   Send to iRMX:3000
+> [Disney:slave:(6) 7.956670] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from Geoff
+> [Disney:slave:(6) 7.956670] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
+> [Disney:slave:(6) 7.956670] [pmm/INFO] LINE:   Send to Jean_Yves:3000
+> [Gatien:slave:(9) 8.023145] [pmm/INFO] Receive my pos (2,1) and assignment
+> [TeX:slave:(4) 8.098750] [pmm/INFO] LINE:   Send to Laroche:3000
+> [iRMX:slave:(7) 8.098750] [pmm/INFO] LINE: step(0) <> Myline(1). Receive data from TeX:3000
+> [Laroche:slave:(10) 8.170600] [pmm/INFO] Receive my pos (2,2) and assignment
+> [Gatien:slave:(9) 8.195738] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from Jean_Yves:3000
+> [McGee:slave:(8) 8.227377] [pmm/INFO] ROW:   Send to Laroche:3000
+> [Gatien:slave:(9) 8.227377] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from McGee
+> [Laroche:slave:(10) 8.325000] [pmm/INFO] LINE: step(0) <> Myline(2). Receive data from TeX:3000
+> [Geoff:slave:(5) 8.339386] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
+> [Geoff:slave:(5) 8.339386] [pmm/INFO] LINE:   Send to Boivin:3000
+> [iRMX:slave:(7) 8.339386] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from Geoff
+> [iRMX:slave:(7) 8.339386] [pmm/INFO] LINE: step(1) = Myline(1). Broadcast my data (myport=3000).
+> [iRMX:slave:(7) 8.339386] [pmm/INFO] LINE:   Send to TeX:3000
+> [Boivin:slave:(2) 8.350468] [pmm/INFO] ROW:   Send to TeX:3000
+> [Jean_Yves:slave:(3) 8.350468] [pmm/INFO] ROW: step(0)<>myrow(1). Receive data from Boivin
+> [Laroche:slave:(10) 8.399620] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from McGee
+> [Disney:slave:(6) 8.566551] [pmm/INFO] LINE:   Send to Gatien:3000
+> [Jean_Yves:slave:(3) 8.566551] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from Disney:3000
+> [Jean_Yves:slave:(3) 8.566551] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
+> [Jean_Yves:slave:(3) 8.566551] [pmm/INFO] ROW:   Send to Boivin:3000
+> [iRMX:slave:(7) 8.592233] [pmm/INFO] LINE:   Send to Laroche:3000
+> [Disney:slave:(6) 8.673563] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
+> [Disney:slave:(6) 8.673563] [pmm/INFO] ROW:   Send to Geoff:3000
+> [Gatien:slave:(9) 8.673563] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from Disney:3000
+> [Gatien:slave:(9) 8.673563] [pmm/INFO] ROW: step(1)=myrow(1). Broadcast my data
+> [Gatien:slave:(9) 8.673563] [pmm/INFO] ROW:   Send to McGee:3000
+> [TeX:slave:(4) 8.681575] [pmm/INFO] ROW: step(0)<>myrow(2). Receive data from Boivin
+> [TeX:slave:(4) 8.681575] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from iRMX:3000
+> [Laroche:slave:(10) 8.691003] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from iRMX:3000
+> [Gatien:slave:(9) 8.705202] [pmm/INFO] ROW:   Send to Laroche:3000
+> [Geoff:slave:(5) 8.764224] [pmm/INFO] LINE:   Send to McGee:3000
+> [Boivin:slave:(2) 8.764224] [pmm/INFO] LINE: step(1) <> Myline(0). Receive data from Geoff:3000
+> [Gatien:slave:(9) 8.810401] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
+> [Gatien:slave:(9) 8.810401] [pmm/INFO] LINE:   Send to Jean_Yves:3000
+> [Laroche:slave:(10) 8.810401] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Gatien
+> [Laroche:slave:(10) 8.810401] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
+> [Laroche:slave:(10) 8.810401] [pmm/INFO] LINE:   Send to TeX:3000
+> [McGee:slave:(8) 8.834159] [pmm/INFO] LINE: step(1) <> Myline(2). Receive data from Geoff:3000
+> [McGee:slave:(8) 8.834159] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Gatien
+> [McGee:slave:(8) 8.834159] [pmm/INFO] LINE: step(2) = Myline(2). Broadcast my data (myport=3000).
+> [McGee:slave:(8) 8.834159] [pmm/INFO] LINE:   Send to Boivin:3000
+> [Jean_Yves:slave:(3) 8.918953] [pmm/INFO] ROW:   Send to TeX:3000
+> [Boivin:slave:(2) 8.918953] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Jean_Yves
+> [McGee:slave:(8) 8.927254] [pmm/INFO] LINE:   Send to Geoff:3000
+> [Boivin:slave:(2) 8.927254] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from McGee:3000
+> [Laroche:slave:(10) 8.964800] [pmm/INFO] LINE:   Send to iRMX:3000
+> [Disney:slave:(6) 8.978161] [pmm/INFO] ROW:   Send to iRMX:3000
+> [Geoff:slave:(5) 8.978161] [pmm/INFO] ROW: step(1)<>myrow(0). Receive data from Disney
+> [Geoff:slave:(5) 9.048096] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from McGee:3000
+> [Laroche:slave:(10) 9.063569] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
+> [Laroche:slave:(10) 9.063569] [pmm/INFO] ROW:   Send to McGee:3000
+> [Laroche:slave:(10) 9.138190] [pmm/INFO] ROW:   Send to Gatien:3000
+> [McGee:slave:(8) 9.138190] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from Laroche
+> [TeX:slave:(4) 9.180015] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Jean_Yves
+> [TeX:slave:(4) 9.180015] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from Laroche:3000
+> [TeX:slave:(4) 9.180015] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
+> [TeX:slave:(4) 9.180015] [pmm/INFO] ROW:   Send to Boivin:3000
+> [McGee:slave:(8) 9.208603] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [TeX:slave:(4) 9.269357] [pmm/INFO] ROW:   Send to Jean_Yves:3000
+> [Boivin:slave:(2) 9.269357] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from TeX
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] ROW: step(1)<>myrow(2). Receive data from Disney
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from Laroche:3000
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] ROW: step(2)=myrow(2). Broadcast my data
+> [iRMX:slave:(7) 9.317283] [pmm/INFO] ROW:   Send to Geoff:3000
+> [Boivin:slave:(2) 9.352493] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Gatien:slave:(9) 9.352609] [pmm/INFO] LINE:   Send to Disney:3000
+> [Jean_Yves:slave:(3) 9.352609] [pmm/INFO] LINE: step(2) <> Myline(0). Receive data from Gatien:3000
+> [Disney:slave:(6) 9.459622] [pmm/INFO] LINE: step(2) <> Myline(1). Receive data from Gatien:3000
+> [iRMX:slave:(7) 9.557920] [pmm/INFO] ROW:   Send to Disney:3000
+> [Geoff:slave:(5) 9.557920] [pmm/INFO] ROW: step(2)<>myrow(0). Receive data from iRMX
+> [Geoff:slave:(5) 9.558451] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Gatien:slave:(9) 9.564821] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from Laroche
+> [Jean_Yves:slave:(3) 9.567824] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from TeX
+> [Laroche:slave:(10) 9.707543] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Gatien:slave:(9) 9.808558] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Disney:slave:(6) 9.811634] [pmm/INFO] ROW: step(2)<>myrow(1). Receive data from iRMX
+> [TeX:slave:(4) 9.952227] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Jean_Yves:slave:(3) 10.025551] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [iRMX:slave:(7) 10.266798] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Disney:slave:(6) 10.411336] [pmm/INFO] >>>>>>>> Result sent to Jacquelin:4242 <<<<<<<<
+> [Jacquelin:master:(1) 10.411336] [pmm/INFO] The Result of Multiplication is :
+> >>> Matrix C:res dump (18 x 18)
+>    0.00 18.00 36.00 54.00 72.00 90.00 108.00 126.00 144.00 162.00 180.00 198.00 216.00 234.00 252.00 270.00 288.00 306.00
+>    1.00 19.00 37.00 55.00 73.00 91.00 109.00 127.00 145.00 163.00 181.00 199.00 217.00 235.00 253.00 271.00 289.00 307.00
+>    2.00 20.00 38.00 56.00 74.00 92.00 110.00 128.00 146.00 164.00 182.00 200.00 218.00 236.00 254.00 272.00 290.00 308.00
+>    3.00 21.00 39.00 57.00 75.00 93.00 111.00 129.00 147.00 165.00 183.00 201.00 219.00 237.00 255.00 273.00 291.00 309.00
+>    4.00 22.00 40.00 58.00 76.00 94.00 112.00 130.00 148.00 166.00 184.00 202.00 220.00 238.00 256.00 274.00 292.00 310.00
+>    5.00 23.00 41.00 59.00 77.00 95.00 113.00 131.00 149.00 167.00 185.00 203.00 221.00 239.00 257.00 275.00 293.00 311.00
+>    6.00 24.00 42.00 60.00 78.00 96.00 114.00 132.00 150.00 168.00 186.00 204.00 222.00 240.00 258.00 276.00 294.00 312.00
+>    7.00 25.00 43.00 61.00 79.00 97.00 115.00 133.00 151.00 169.00 187.00 205.00 223.00 241.00 259.00 277.00 295.00 313.00
+>    8.00 26.00 44.00 62.00 80.00 98.00 116.00 134.00 152.00 170.00 188.00 206.00 224.00 242.00 260.00 278.00 296.00 314.00
+>    9.00 27.00 45.00 63.00 81.00 99.00 117.00 135.00 153.00 171.00 189.00 207.00 225.00 243.00 261.00 279.00 297.00 315.00
+>    10.00 28.00 46.00 64.00 82.00 100.00 118.00 136.00 154.00 172.00 190.00 208.00 226.00 244.00 262.00 280.00 298.00 316.00
+>    11.00 29.00 47.00 65.00 83.00 101.00 119.00 137.00 155.00 173.00 191.00 209.00 227.00 245.00 263.00 281.00 299.00 317.00
+>    12.00 30.00 48.00 66.00 84.00 102.00 120.00 138.00 156.00 174.00 192.00 210.00 228.00 246.00 264.00 282.00 300.00 318.00
+>    13.00 31.00 49.00 67.00 85.00 103.00 121.00 139.00 157.00 175.00 193.00 211.00 229.00 247.00 265.00 283.00 301.00 319.00
+>    14.00 32.00 50.00 68.00 86.00 104.00 122.00 140.00 158.00 176.00 194.00 212.00 230.00 248.00 266.00 284.00 302.00 320.00
+>    15.00 33.00 51.00 69.00 87.00 105.00 123.00 141.00 159.00 177.00 195.00 213.00 231.00 249.00 267.00 285.00 303.00 321.00
+>    16.00 34.00 52.00 70.00 88.00 106.00 124.00 142.00 160.00 178.00 196.00 214.00 232.00 250.00 268.00 286.00 304.00 322.00
+>    17.00 35.00 53.00 71.00 89.00 107.00 125.00 143.00 161.00 179.00 197.00 215.00 233.00 251.00 269.00 287.00 305.00 323.00
+> <<< end_of_matrix C:res dump
+> [Boivin:slave:(2) 10.491957] [gras/INFO] Exiting GRAS
+> [Jean_Yves:slave:(3) 10.563063] [gras/INFO] Exiting GRAS
+> [TeX:slave:(4) 10.702385] [gras/INFO] Exiting GRAS
+> [Geoff:slave:(5) 10.702796] [gras/INFO] Exiting GRAS
+> [Disney:slave:(6) 10.842960] [gras/INFO] Exiting GRAS
+> [iRMX:slave:(7) 11.076908] [gras/INFO] Exiting GRAS
+> [McGee:slave:(8) 11.145190] [gras/INFO] Exiting GRAS
+> [Gatien:slave:(9) 11.243148] [gras/INFO] Exiting GRAS
+> [Jacquelin:master:(1) 11.381552] [gras/INFO] Exiting GRAS
+> [Laroche:slave:(10) 11.381552] [gras/INFO] Exiting GRAS
index c464e1c..d563ddf 100644 (file)
@@ -1,5 +1,3 @@
 .deps .libs Makefile _*.c *_server *_client *_simulator *_forwarder
 .deps .libs Makefile _*.c *_server *_client *_simulator *_forwarder
-test_sg
-test_rl
 *.mk
 *.trace
 *.mk
 *.trace
index c816f9e..65d94dc 100644 (file)
@@ -1,8 +1,6 @@
 INCLUDES= -I$(top_srcdir)/include
 INCLUDES= -I$(top_srcdir)/include
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
-
-EXTRA_DIST=rpc.xml $(TESTS)
+EXTRA_DIST=rpc.xml
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=rpc_client rpc_forwarder rpc_server rpc_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=rpc_client rpc_forwarder rpc_server rpc_simulator
index de02165..67e7e25 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,12 +55,12 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = rpc_client$(EXEEXT) rpc_forwarder$(EXEEXT) \
-       rpc_server$(EXEEXT) rpc_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = rpc_client$(EXEEXT) rpc_forwarder$(EXEEXT) \
+       rpc_server$(EXEEXT) rpc_simulator$(EXEEXT)
 subdir = examples/gras/rpc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/rpc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -62,7 +75,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_rpc_client_OBJECTS = _rpc_client.$(OBJEXT) rpc.$(OBJEXT)
 rpc_client_OBJECTS = $(am_rpc_client_OBJECTS)
 PROGRAMS = $(noinst_PROGRAMS)
 am_rpc_client_OBJECTS = _rpc_client.$(OBJEXT) rpc.$(OBJEXT)
 rpc_client_OBJECTS = $(am_rpc_client_OBJECTS)
@@ -132,6 +145,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -240,9 +255,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = rpc.xml $(TESTS)
+EXTRA_DIST = rpc.xml test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 rpc_simulator_SOURCES = _rpc_simulator.c rpc.c
 rpc_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 rpc_client_SOURCES = _rpc_client.c rpc.c
 rpc_simulator_SOURCES = _rpc_simulator.c rpc.c
 rpc_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 rpc_client_SOURCES = _rpc_client.c rpc.c
@@ -263,7 +279,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -292,10 +308,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -481,7 +493,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -602,6 +614,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
similarity index 86%
rename from examples/gras/rpc/test_rl.in
rename to examples/gras/rpc/test_rl
index aea8eac..5acea95 100755 (executable)
@@ -1,4 +1,4 @@
-& $SG_TEST_EXENV ./rpc_server@EXEEXT@ 4002 --log=root.fmt:%m%n $@
+& $SG_TEST_EXENV ./rpc_server$EXEEXT 4002 --log=root.fmt:%m%n $@
 > Launch server (port=4002)
 > Listening on port 4002
 > Got message PING(1234) from 127.0.0.1:0
 > Launch server (port=4002)
 > Listening on port 4002
 > Got message PING(1234) from 127.0.0.1:0
@@ -7,7 +7,7 @@
 > Done.
 > Exiting GRAS
 
 > Done.
 > Exiting GRAS
 
-& $SG_TEST_EXENV ./rpc_forwarder@EXEEXT@ 4003 127.0.0.1 4002 --log=root.fmt:%m%n $@
+& $SG_TEST_EXENV ./rpc_forwarder$EXEEXT 4003 127.0.0.1 4002 --log=root.fmt:%m%n $@
 > Launch forwarder (port=4003)
 > Forward a request
 > Forward a request
 > Launch forwarder (port=4003)
 > Forward a request
 > Forward a request
@@ -18,7 +18,7 @@
 > Done.
 > Exiting GRAS
 
 > Done.
 > Exiting GRAS
 
-& $SG_TEST_EXENV ./rpc_client@EXEEXT@ 127.0.0.1 4002 127.0.0.1 4003 --log=root.fmt:%m%n $@
+& $SG_TEST_EXENV ./rpc_client$EXEEXT 127.0.0.1 4002 127.0.0.1 4003 --log=root.fmt:%m%n $@
 > Launch client (server on 127.0.0.1:4002)
 > Connected to 127.0.0.1:4002.
 > Connected to server which is on 127.0.0.1:4002
 > Launch client (server on 127.0.0.1:4002)
 > Connected to 127.0.0.1:4002.
 > Connected to server which is on 127.0.0.1:4002
similarity index 95%
rename from examples/gras/rpc/test_sg.in
rename to examples/gras/rpc/test_sg_32
index 12aae7e..7677702 100755 (executable)
@@ -1,4 +1,4 @@
-$ $SG_TEST_EXENV ./rpc_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/rpc.xml --log=root.fmt:"'[%h:%t:(%i) %.2r] [%c/%p] %m%n'"
+$ $SG_TEST_EXENV ./rpc_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/rpc.xml --log=root.fmt:"'[%h:%t:(%i) %.2r] [%c/%p] %m%n'"
 > [Tremblay:server:(1) 0.00] [Rpc/INFO] Launch server (port=4000)
 > [Tremblay:server:(1) 0.00] [Rpc/INFO] Listening on port 4000
 > [Ginette:forwarder:(2) 0.00] [Rpc/INFO] Launch forwarder (port=4000)
 > [Tremblay:server:(1) 0.00] [Rpc/INFO] Launch server (port=4000)
 > [Tremblay:server:(1) 0.00] [Rpc/INFO] Listening on port 4000
 > [Ginette:forwarder:(2) 0.00] [Rpc/INFO] Launch forwarder (port=4000)
diff --git a/examples/gras/rpc/test_sg_64 b/examples/gras/rpc/test_sg_64
new file mode 100755 (executable)
index 0000000..7677702
--- /dev/null
@@ -0,0 +1,43 @@
+$ $SG_TEST_EXENV ./rpc_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/rpc.xml --log=root.fmt:"'[%h:%t:(%i) %.2r] [%c/%p] %m%n'"
+> [Tremblay:server:(1) 0.00] [Rpc/INFO] Launch server (port=4000)
+> [Tremblay:server:(1) 0.00] [Rpc/INFO] Listening on port 4000
+> [Ginette:forwarder:(2) 0.00] [Rpc/INFO] Launch forwarder (port=4000)
+> [Fafard:client:(3) 0.00] [Rpc/INFO] Launch client (server on Tremblay:4000)
+> [Fafard:client:(3) 2.00] [Rpc/INFO] Connected to Tremblay:4000.
+> [Fafard:client:(3) 2.00] [Rpc/INFO] Connected to server which is on Tremblay:4000
+> [Tremblay:server:(1) 2.00] [Rpc/INFO] Got message PING(1234) from Fafard:0
+> [Tremblay:server:(1) 2.00] [Rpc/INFO] Answered with PONG(4321)
+> [Fafard:client:(3) 2.00] [Rpc/INFO] The answer to PING(1234) on Tremblay:4000 is PONG(4321)
+> [Fafard:client:(3) 2.00] [Rpc/INFO] Call the exception raising RPC
+> [Fafard:client:(3) 2.01] [Rpc/INFO] Got the expected exception when calling the exception raising RPC
+> [Fafard:client:(3) 2.01] [Rpc/INFO] Called the exception raising RPC
+> [Fafard:client:(3) 2.01] [Rpc/INFO] Call the exception raising RPC (i=0)
+> [Fafard:client:(3) 2.01] [Rpc/INFO] Call the exception raising RPC (i=1)
+> [Fafard:client:(3) 2.02] [Rpc/INFO] Call the exception raising RPC (i=2)
+> [Fafard:client:(3) 2.02] [Rpc/INFO] Call the exception raising RPC (i=3)
+> [Fafard:client:(3) 2.02] [Rpc/INFO] Call the exception raising RPC (i=4)
+> [Fafard:client:(3) 2.03] [Rpc/INFO] Call the exception raising RPC on the forwarder (i=0)
+> [Ginette:forwarder:(2) 2.03] [Rpc/INFO] Forward a request
+> [Fafard:client:(3) 2.03] [Rpc/INFO] Got the expected exception when calling the exception raising RPC
+> [Fafard:client:(3) 2.03] [Rpc/INFO] Call the exception raising RPC on the forwarder (i=1)
+> [Ginette:forwarder:(2) 2.03] [Rpc/INFO] Forward a request
+> [Fafard:client:(3) 2.04] [Rpc/INFO] Got the expected exception when calling the exception raising RPC
+> [Fafard:client:(3) 2.04] [Rpc/INFO] Call the exception raising RPC on the forwarder (i=2)
+> [Ginette:forwarder:(2) 2.04] [Rpc/INFO] Forward a request
+> [Fafard:client:(3) 2.04] [Rpc/INFO] Got the expected exception when calling the exception raising RPC
+> [Fafard:client:(3) 2.04] [Rpc/INFO] Call the exception raising RPC on the forwarder (i=3)
+> [Ginette:forwarder:(2) 2.05] [Rpc/INFO] Forward a request
+> [Fafard:client:(3) 2.05] [Rpc/INFO] Got the expected exception when calling the exception raising RPC
+> [Fafard:client:(3) 2.05] [Rpc/INFO] Call the exception raising RPC on the forwarder (i=4)
+> [Ginette:forwarder:(2) 2.05] [Rpc/INFO] Forward a request
+> [Fafard:client:(3) 2.05] [Rpc/INFO] Got the expected exception when calling the exception raising RPC
+> [Fafard:client:(3) 2.05] [Rpc/INFO] Ask Ginette:4000 to die
+> [Fafard:client:(3) 2.06] [Rpc/INFO] Ask Tremblay:4000 to die
+> [Ginette:forwarder:(2) 2.06] [Rpc/INFO] Asked to die by Fafard:0
+> [Ginette:forwarder:(2) 2.06] [Rpc/INFO] Done.
+> [Ginette:forwarder:(2) 2.06] [gras/INFO] Exiting GRAS
+> [Fafard:client:(3) 2.06] [Rpc/INFO] Done.
+> [Fafard:client:(3) 2.06] [gras/INFO] Exiting GRAS
+> [Tremblay:server:(1) 2.06] [Rpc/INFO] Asked to die by Fafard:0
+> [Tremblay:server:(1) 2.06] [Rpc/INFO] Done.
+> [Tremblay:server:(1) 2.06] [gras/INFO] Exiting GRAS
diff --git a/examples/gras/tests.mk b/examples/gras/tests.mk
new file mode 100644 (file)
index 0000000..3c187ea
--- /dev/null
@@ -0,0 +1,29 @@
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
+if GRAS_ARCH_32_BITS
+  TESTS= test_rl test_sg_32
+test-sg:
+       $(TESTS_ENVIRONMENT) test_sg_32
+else
+  TESTS= test_rl test_sg_64
+test-sg:
+       $(TESTS_ENVIRONMENT) test_sg_32
+endif
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
+TESTS_ENVIRONMENT=srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
+
+
+EXTRA_DIST+=test_rl test_sg_32 test_sg_64
\ No newline at end of file
index caf1745..5bb26fc 100644 (file)
@@ -1,5 +1,3 @@
 .deps .libs Makefile  _*.c timer_client timer_simulator
 .deps .libs Makefile  _*.c timer_client timer_simulator
-test_sg
-test_rl
 timer.mk
 timer.trace
 timer.mk
 timer.trace
index ce2e0cd..a6b26c3 100644 (file)
@@ -1,9 +1,8 @@
 INCLUDES= -I$(top_srcdir)/include
 AM_CFLAGS=-g
 
 INCLUDES= -I$(top_srcdir)/include
 AM_CFLAGS=-g
 
-TESTS= test_rl test_sg
-TESTS_ENVIRONMENT=../../../tools/tesh/tesh
 EXTRA_DIST=$(NAME).xml $(TESTS)
 EXTRA_DIST=$(NAME).xml $(TESTS)
+include $(top_srcdir)/examples/gras/tests.mk
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=timer_client timer_simulator
 
 # AUTOMAKE variable definition
 noinst_PROGRAMS=timer_client timer_simulator
index 2a07ab0..bd8aede 100644 (file)
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
+# This file factorize all the testing infrastructure for the GRAS examples
+#
+# it's made complicated by the facts that:
+#  - we use tesh, we need to find it back
+#  - we don't want to generate the test_* files with configure, so we
+#    have to declare some variables in front of the shell command
+#    running the test
+#  - we want to fully test the surf on the way. So, we have to ask for
+#    full precision timestamps in the tests. On the other hand,
+#    message size differ when we are on 32bits and when we are on
+#    64bits (obviously), so we have to maintain 2 tests per directory
+#    and pick the right one here.
+
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
 # Makefile chunk which allows to display the files which should be included
 # into the distribution.
 
@@ -42,11 +55,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = timer_client$(EXEEXT) timer_simulator$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/test_rl.in $(srcdir)/test_sg.in \
        $(top_srcdir)/acmacro/dist-files.mk \
        $(top_srcdir)/acmacro/dist-files.mk \
+       $(top_srcdir)/examples/gras/tests.mk \
        $(top_srcdir)/examples/temps-gras-stub.mk
        $(top_srcdir)/examples/temps-gras-stub.mk
+noinst_PROGRAMS = timer_client$(EXEEXT) timer_simulator$(EXEEXT)
 subdir = examples/gras/timer
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
 subdir = examples/gras/timer
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acmacro/ac_func_snprintf.m4 \
@@ -61,7 +74,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
-CONFIG_CLEAN_FILES = test_sg test_rl
+CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
 am_timer_client_OBJECTS = _timer_client.$(OBJEXT) timer.$(OBJEXT)
 timer_client_OBJECTS = $(am_timer_client_OBJECTS)
 PROGRAMS = $(noinst_PROGRAMS)
 am_timer_client_OBJECTS = _timer_client.$(OBJEXT) timer.$(OBJEXT)
 timer_client_OBJECTS = $(am_timer_client_OBJECTS)
@@ -124,6 +137,8 @@ FFLAGS = @FFLAGS@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
 FLEXML = @FLEXML@
 GRAMINE_MODE_FALSE = @GRAMINE_MODE_FALSE@
 GRAMINE_MODE_TRUE = @GRAMINE_MODE_TRUE@
+GRAS_ARCH_32_BITS_FALSE = @GRAS_ARCH_32_BITS_FALSE@
+GRAS_ARCH_32_BITS_TRUE = @GRAS_ARCH_32_BITS_TRUE@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
 GRAS_DEP = @GRAS_DEP@
 GREP = @GREP@
 GTNETS_CFLAGS = @GTNETS_CFLAGS@
@@ -232,9 +247,10 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
 target_os = @target_os@
 target_vendor = @target_vendor@
 INCLUDES = -I$(top_srcdir)/include
-TESTS = test_rl test_sg
-TESTS_ENVIRONMENT = ../../../tools/tesh/tesh
-EXTRA_DIST = $(NAME).xml $(TESTS)
+EXTRA_DIST = $(NAME).xml $(TESTS) test_rl test_sg_32 test_sg_64
+@GRAS_ARCH_32_BITS_FALSE@TESTS = test_rl test_sg_64
+@GRAS_ARCH_32_BITS_TRUE@TESTS = test_rl test_sg_32
+TESTS_ENVIRONMENT = srcdir=$(srcdir) EXEEXT=$(EXEEXT) @top_builddir@/tools/tesh/tesh
 timer_simulator_SOURCES = _timer_simulator.c timer.c
 timer_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 timer_client_SOURCES = _timer_client.c timer.c
 timer_simulator_SOURCES = _timer_simulator.c timer.c
 timer_simulator_LDADD = $(top_builddir)/src/libsimgrid.la
 timer_client_SOURCES = _timer_client.c timer.c
@@ -251,7 +267,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/gras/tests.mk $(top_srcdir)/examples/temps-gras-stub.mk $(top_srcdir)/acmacro/dist-files.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -280,10 +296,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-test_sg: $(top_builddir)/config.status $(srcdir)/test_sg.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-test_rl: $(top_builddir)/config.status $(srcdir)/test_rl.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
 
 clean-noinstPROGRAMS:
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -461,7 +473,7 @@ check-TESTS: $(TESTS)
        else :; fi
 
 distdir: $(DISTFILES)
        else :; fi
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples
+       $(mkdir_p) $(distdir)/../../../acmacro $(distdir)/../../../examples $(distdir)/../../../examples/gras
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -582,6 +594,13 @@ uninstall-am: uninstall-info-am
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-info-am
 
+@GRAS_ARCH_32_BITS_TRUE@test-sg:
+@GRAS_ARCH_32_BITS_TRUE@       $(TESTS_ENVIRONMENT) test_sg_32
+@GRAS_ARCH_32_BITS_FALSE@test-sg:
+@GRAS_ARCH_32_BITS_FALSE@      $(TESTS_ENVIRONMENT) test_sg_32
+
+test-rl:
+       $(TESTS_ENVIRONMENT) test_rl
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
 
 $(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _$(NAME)_simulator.c: $(srcdir)/$(NAME).xml $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@
        [ x@EXEEXT@ = x ] || exenv=wine; $$exenv $(top_builddir)/tools/gras/gras_stub_generator@EXEEXT@ $(NAME) $(srcdir)/$(NAME).xml
similarity index 92%
rename from examples/gras/timer/test_rl.in
rename to examples/gras/timer/test_rl
index 1afa26c..1a159de 100755 (executable)
@@ -1,5 +1,5 @@
 ! set timeout 20
 ! set timeout 20
-$ $SG_TEST_EXENV ./timer_client@EXEEXT@ --log=root.fmt:%m%n
+$ $SG_TEST_EXENV ./timer_client$EXEEXT --log=root.fmt:%m%n
 > Programming the repetitive_action with a frequency of 1.000000 sec
 > Programming the delayed_action for after 2.000000 sec
 > Have a rest
 > Programming the repetitive_action with a frequency of 1.000000 sec
 > Programming the delayed_action for after 2.000000 sec
 > Have a rest
similarity index 92%
rename from examples/gras/timer/test_sg.in
rename to examples/gras/timer/test_sg_32
index 45abb4b..b9596f4 100755 (executable)
@@ -1,5 +1,5 @@
 
 
-$ $SG_TEST_EXENV ./timer_simulator@EXEEXT@ @top_srcdir@/examples/msg/small_platform.xml @srcdir@/timer.xml $@
+$ $SG_TEST_EXENV ./timer_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/timer.xml
 > [Fafard:client:(1) 0.000000] [test/INFO] Programming the repetitive_action with a frequency of 1.000000 sec
 > [Fafard:client:(1) 0.000000] [test/INFO] Programming the delayed_action for after 2.000000 sec
 > [Fafard:client:(1) 0.000000] [test/INFO] Have a rest
 > [Fafard:client:(1) 0.000000] [test/INFO] Programming the repetitive_action with a frequency of 1.000000 sec
 > [Fafard:client:(1) 0.000000] [test/INFO] Programming the delayed_action for after 2.000000 sec
 > [Fafard:client:(1) 0.000000] [test/INFO] Have a rest
diff --git a/examples/gras/timer/test_sg_64 b/examples/gras/timer/test_sg_64
new file mode 100755 (executable)
index 0000000..b9596f4
--- /dev/null
@@ -0,0 +1,16 @@
+
+$ $SG_TEST_EXENV ./timer_simulator$EXEEXT $srcdir/../../msg/small_platform.xml $srcdir/timer.xml
+> [Fafard:client:(1) 0.000000] [test/INFO] Programming the repetitive_action with a frequency of 1.000000 sec
+> [Fafard:client:(1) 0.000000] [test/INFO] Programming the delayed_action for after 2.000000 sec
+> [Fafard:client:(1) 0.000000] [test/INFO] Have a rest
+> [Fafard:client:(1) 1.000000] [test/INFO] Canceling the delayed_action.
+> [Fafard:client:(1) 1.000000] [test/INFO] Re-programming the delayed_action for after 2.000000 sec
+> [Fafard:client:(1) 1.000000] [test/INFO] Repetitive_action has nothing to do yet
+> [Fafard:client:(1) 2.000000] [test/INFO] Repetitive_action has nothing to do yet
+> [Fafard:client:(1) 2.000000] [test/INFO] delayed_action setting globals->still_to_do to 5
+> [Fafard:client:(1) 3.000000] [test/INFO] repetitive_action decrementing globals->still_to_do. New value: 4
+> [Fafard:client:(1) 4.000000] [test/INFO] repetitive_action decrementing globals->still_to_do. New value: 3
+> [Fafard:client:(1) 5.000000] [test/INFO] repetitive_action decrementing globals->still_to_do. New value: 2
+> [Fafard:client:(1) 6.000000] [test/INFO] repetitive_action decrementing globals->still_to_do. New value: 1
+> [Fafard:client:(1) 7.000000] [test/INFO] repetitive_action decrementing globals->still_to_do. New value: 0
+> [Fafard:client:(1) 7.000000] [gras/INFO] Exiting GRAS