#! @BASH@
+
+##
+## Cleanups of previous executions
+##
failed_nb=0
success_nb=0
ignored_nb=0
rm -f test.failed test.success test.ignored
+# Work around a libtool issue on solaris
+export LD_LIBRARY_PATH=@top_srcdir@/src/.libs
+
+##
+## Args parsing (simplistic for now)
+##
if [ xvalgrind = "x$1" ] ; then
valgrind="libtool --mode=execute valgrind --show-reachable=yes"
else
valgrind=
fi
-for test in xbt/log_usage \
- xbt/dynar_int xbt/dynar_double xbt/dynar_string \
- xbt/dict_usage xbt/dict_crash \
- xbt/config_usage \
- xbt/heap_bench \
- \
- gras/trp_tcp_usage gras/trp_file_usage \
- gras/datadesc_usage \
- "gras/datadesc_usage --read @srcdir@/gras/datadesc.little32" \
- "gras/datadesc_usage --read @srcdir@/gras/datadesc.little64" \
- "gras/datadesc_usage --read @srcdir@/gras/datadesc.big32" \
- "gras/datadesc_usage --read @srcdir@/gras/datadesc.big64" \
- "gras/datadesc_usage --read @srcdir@/gras/datadesc.aix"
-do
- tests_nb=`expr $tests_nb + 1`
- echo "#### Test $test"
- if [ "x$test" = "xdict_crash" ] ; then
- ./$test --gras-log="root.thres=info" 2>&1
- else
- $valgrind ./$test --gras-log="root.thres=info" 2>&1
- fi
- retval=$?
- if [ $retval != 0 ] ; then if [ $retval != 77 ]; then
- echo "## failed. Rerun $test with full details."
- if [ "x$test" = "xdict_crash" ] ; then
- ./$test --gras-log="root.thres=debug" 2>&1
+
+##
+## Tests defintions
+##
+xbt_TESTS=" xbt/log_usage@EXEEXT@; \
+ xbt/dynar_int@EXEEXT@; \
+ xbt/dynar_double@EXEEXT@; \
+ xbt/dynar_string@EXEEXT@; \
+ xbt/dict_usage@EXEEXT@; \
+ xbt/dict_crash@EXEEXT@; \
+ xbt/config_usage@EXEEXT@; \
+ xbt/heap_bench@EXEEXT@;"
+
+surf_TESTS="surf/maxmin_usage@EXEEXT@; \
+ surf/maxmin_bench@EXEEXT@; \
+ surf/trace_usage@EXEEXT@ --surf-path=@srcdir@/surf/; \
+ surf/surf_usage@EXEEXT@ --surf-path=@srcdir@/surf/ platform.xml; \
+ surf/surf_usage2@EXEEXT@ --surf-path=@srcdir@/surf/ platform.xml;"
+
+gras_TESTS="gras/trp_tcp_usage; gras/trp_file_usage; \
+ gras/datadesc_usage@EXEEXT@; \
+ gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.little32; \
+ gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.little32_4;\
+ gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.little64; \
+ gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.big32; \
+ gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.big32_8_4; \
+ gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.big32_2;"
+
+# Data sets still to regenerate:
+#
+# gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.big32_4; \
+# gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.big64;"
+
+##
+## Loop on all tests to run them
+##
+
+# we split tests on ';' so that they can contain spaces (test=accumulator)
+test=""
+
+for testpart in $xbt_TESTS $gras_TESTS $surf_TESTS
+do
+ test="$test $testpart"
+ if echo $test | grep ';' ; then
+ # end of test declaration found.
+
+ # we must have a space after the ;
+ if echo $test | egrep ';[^ ]' ; then
+ echo "$0.in broken: you should add a space after each ';'"
+ exit 1
+ fi
+
+ # Cleanup test declaration, run it.
+ test=`echo $test | sed 's/;//'`
+
+ tests_nb=`expr $tests_nb + 1`
+ echo "#### Test $test"
+ if [ x@EXEEXT@ = x ] ; then
+ wine=
+ else
+ wine=wine
+ fi
+ if [ "x$test" = "xdict_crash@EXEEXT@" ] ; then
+ $wine ./$test --xbt-log="root.thres=info" 2>&1
+ retval=$?
else
- $valgrind ./$test --gras-log="root.thres=debug" 2>&1
+ winesave=$wine
+ if [ x@EXEEXT@ != x ] ; then
+ if echo ${test} | grep @EXEEXT@ >/dev/null ; then : ; else
+# echo "This is not a win32 binary, don't use wine"
+ wine=""
+ fi
+ fi
+ # if the user defines valgrind while cross-compiling, too bad
+ $wine $valgrind ./$test --xbt-log="root.thres=info" 2>&1
+ retval=$?
+ wine=$winesave
+ fi
+ if [ $retval != 0 ] ; then if [ $retval != 77 ]; then
+ echo "## failed" # . Rerun $test with full details."
+# if [ "x$test" = "xdict_crash" ] ; then
+# $wine ./$test --xbt-log="root.thres=debug" 2>&1
+# else
+# $wine $valgrind ./$test --xbt-log="root.thres=debug" 2>&1
+# fi
+ failed_nb=`expr $failed_nb + 1`
+ echo " $test (returned $retval)" >> test.failed
+ else # retval == 77
+ echo "## Ignored since it returned 77"
+ ignored_nb=`expr $ignored_nb + 1`
+ echo " $test" >> test.ignored
+ fi else
+ echo "## Success"
+ success_nb=`expr $success_nb + 1`
+ echo " $test" >> test.success
fi
- failed_nb=`expr $failed_nb + 1`
- echo " $test (returned $retval)" >> test.failed
- else # retval == 77
- echo "## Ignored since it returned 77"
- ignored_nb=`expr $ignored_nb + 1`
- echo " $test" >> test.ignored
- fi else
- echo "## Success"
- success_nb=`expr $success_nb + 1`
- echo " $test" >> test.success
- fi
+ test=""
+ fi # end of ';' found in test declaration => run it
done
+###
+### Display summary
+###
echo
echo "#### Summary"
if [ $failed_nb != 0 ] ; then
echo "$failed_nb tests of $tests_nb failed: "
cat test.failed
- echo "Rerun the tests using the following command: script -c 'make test' gras.tests.log"
- echo " and send the following informations to martin.quinson@ens-lyon.fr:"
- echo " - the file gras.tests.log produced by this command."
+ echo "Rerun the tests using the following command: script -c 'make test' simgrid.tests.log"
+ echo " and send the following informations to simgrid-devel@lists.gforge.inria.fr:"
+ echo " - the file simgrid.tests.log produced by this command."
echo " - a short description of the target platform (arch, OS, distrib, compiler)."
echo " - the config.log produced by the compilation."
fi