X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5c50345529923f31413c7ab878001d5798d6bdf9..d91f48baa379ce88e99b114c5ab9abe4420d7470:/testsuite/run_tests.in diff --git a/testsuite/run_tests.in b/testsuite/run_tests.in index e317166427..57c7ed7cf8 100755 --- a/testsuite/run_tests.in +++ b/testsuite/run_tests.in @@ -1,4 +1,8 @@ #! @BASH@ + +## +## Cleanups of previous executions +## failed_nb=0 success_nb=0 ignored_nb=0 @@ -6,83 +10,117 @@ tests_nb=0 rm -f test.failed test.success test.ignored +## +## 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@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@ \ - \ - gras/trp_tcp_usage gras/trp_file_usage \ - gras/datadesc_usage@EXEEXT@ \ - "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/../testsuite/gras/datadesc.little32" \ - "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/../testsuite/gras/datadesc.little64" \ - "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/../testsuite/gras/datadesc.big32" \ - "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/../testsuite/gras/datadesc.big64" \ - "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/../testsuite/gras/datadesc.aix" \ - "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/../testsuite/gras/datadesc.win32" \ - \ - surf/maxmin_usage@EXEEXT@ surf/maxmin_bench@EXEEXT@ \ - surf/trace_usage@EXEEXT@ \ - surf/surf_usage@EXEEXT@ -do - tests_nb=`expr $tests_nb + 1` - echo "#### Test $test" - dir=`echo $test |sed 's|\([^/]*\)/\(.*\)|\1|'` - cmd=`echo $test |sed 's|\([^/]*\)/\(.*\)|\2|'` - if [ x@EXEEXT@ = x ] ; then - wine= - else - wine=wine - fi - if [ "x$test" = "xdict_crash@EXEEXT@" ] ; then - cd $dir - $wine ./$cmd --gras-log="root.thres=info" 2>&1 - retval=$? - cd .. - else - cd $dir - winesave=$wine - if [ x@EXEEXT@ != x ] ; then - if echo ${cmd} | grep @EXEEXT@ >/dev/null ; then : ; else - echo "This is not a win32 binary, don't use wine" - wine="" - fi + +## +## 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;" + +msg_TESTS=" msg/msg_test@EXEEXT@ --surf-path=@top_srcdir@/examples/msg/;" + +gras_TESTS="gras/trp_tcp_usage; gras/trp_file_usage; \ + gras/datadesc_usage@EXEEXT@; \ + " + +gras_ignored="gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.little32; \ + 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.big64; \ + gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.aix; \ + gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.win32; \ + gras/datadesc_usage@EXEEXT@ --read @srcdir@/gras/datadesc.g5;" \ + +## +## 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 $msg_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 the user defines valgrind while cross-compiling, too bad - $wine $valgrind ./$cmd --gras-log="root.thres=info" 2>&1 + if [ "x$test" = "xdict_crash@EXEEXT@" ] ; then + $wine ./$test --xbt-log="root.thres=info" 2>&1 retval=$? - wine=$winesave - cd .. - fi - if [ $retval != 0 ] ; then if [ $retval != 77 ]; then - echo "## failed. Rerun $test with full details." -# if [ "x$test" = "xdict_crash" ] ; then -# cd $dir -# $wine ./$cmd --gras-log="root.thres=debug" 2>&1 -# cd .. + else + 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 -# cd $dir -# $wine $valgrind ./$cmd --gras-log="root.thres=debug" 2>&1 -# cd .. +# $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" @@ -97,9 +135,9 @@ fi 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 simgrid2-users@listes.ens-lyon.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