Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not try to run gras yet.
[simgrid.git] / testsuite / run_tests.in
index f2fdbde..ae63dcf 100755 (executable)
 #! @BASH@
 failed_nb=0
 success_nb=0
+ignored_nb=0
 tests_nb=0
-for test in log_usage                           \
-            dynar_int dynar_double dynar_string \
-           dict_usage dict_crash               \
-           config_usage                        \
+
+rm -f test.failed test.success test.ignored
+
+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@ \
+           \
+           surf/maxmin_usage@EXEEXT@       surf/maxmin_bench@EXEEXT@               \
+           "surf/trace_usage@EXEEXT@ --surf-path=@top_srcdir@/testsuite/surf/"              \
+           "surf/surf_usage@EXEEXT@  --surf-path=@top_srcdir@/testsuite/surf/ platform.xml" \
+           "surf/surf_usage2@EXEEXT@ --surf-path=@top_srcdir@/testsuite/surf/ platform.xml" \
            \
-           datadesc_usage
+           "msg/msg_test@EXEEXT@ --surf-path=@top_srcdir@/testsuite/msg/ platform.xml"
+
+#          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"
+#          "gras/datadesc_usage@EXEEXT@ --read @top_srcdir@/testsuite/gras/datadesc.g5"
+
 do                 
   tests_nb=`expr $tests_nb + 1`
   echo "#### Test $test"
-  ./$test --gras-log="root.thres=info" 2>&1
-  if [ $? != 0 ] ; then
+  if [ x@EXEEXT@ = x ] ; then 
+    wine=
+  else
+    wine=wine
+  fi
+  if [ "x$test" = "xdict_crash@EXEEXT@" ] ; then
+    $wine ./$test --gras-log="root.thres=info" 2>&1
+    retval=$?
+  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 --gras-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."
-    ./$test --gras-log="root.thres=debug" 2>&1
+#    if [ "x$test" = "xdict_crash" ] ; then
+#      $wine ./$test --gras-log="root.thres=debug" 2>&1
+#    else 
+#      $wine $valgrind ./$test --gras-log="root.thres=debug" 2>&1
+#    fi
     failed_nb=`expr $failed_nb + 1`
-    failed="$failed $test"
-  else
+    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`
-    success="$success $test"
+    echo "  $test" >> test.success
   fi
 done
-failed=`echo $failed|sed 's|^ ||'`
-success=`echo $success|sed 's|^ ||'`
+
+
 echo
 echo "#### Summary"
-echo "$success_nb tests of $tests_nb successfull ($success)"
+echo "$success_nb tests of $tests_nb successfull:"
+cat test.success
+
+if [ $ignored_nb != 0 ] ; then
+  echo "$failed_nb tests of $tests_nb ignored:"
+  cat test.ignored
+  echo "  (they returned 77, meaning that they are not applicable)"
+fi
 if [ $failed_nb != 0 ] ; then
-  echo "$failed_nb tests of $tests_nb failed ($failed)"
+  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 "   - the file gras.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, if possible."
+  echo "   - the config.log produced by the compilation."
 fi
+
+rm -f test.success test.failed test.ignored
 exit $failed_nb