Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Let the hack to make solaris happy work even when bash is not installed, and when...
[simgrid.git] / testsuite / run_tests.in
index 05628c3..27fcd51 100755 (executable)
@@ -10,27 +10,34 @@ tests_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
+# Work around a libtool issue on solaris, making sure that it works even on sh older than tcsh
+LD_LIBRARY_PATH=@top_srcdir@/src/.libs
+if export LD_LIBRARY_PATH ; then 
+  :
+else
+  setenv LD_LIBRARY_PATH @top_srcdir@/src/.libs
+fi
 
 ##
 ## Args parsing (simplistic for now)
 ##
 if [ xvalgrind = "x$1" ] ; then
-  valgrind="libtool --mode=execute valgrind --show-reachable=yes"
+  exenv="libtool --mode=execute valgrind --show-reachable=yes"
 else
-  valgrind=
+  exenv=
 fi
 
 ##
 ## Tests defintions
 ##
-xbt_TESTS=" xbt/log_usage@EXEEXT@;        \
+xbt_TESTS=" xbt/ex_test@EXEEXT@;          \
+            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/multidict_crash@EXEEXT@; \
             xbt/config_usage@EXEEXT@;     \
             xbt/heap_bench@EXEEXT@;"
           
@@ -78,33 +85,35 @@ do
     
     tests_nb=`expr $tests_nb + 1`
     echo "#### Test $test"
-    if [ x@EXEEXT@ = x ] ; then 
-      wine=
+    if [ x@EXEEXT@ = x ] ; then
+      :
     else
-      wine=wine
+      # overwrites "valgrind" as a value, but should be exclusive.
+      exenv=wine  
     fi
-    if [ "x$test" = "xdict_crash@EXEEXT@" ] ; then
-      $wine ./$test --xbt-log="root.thres=info" 2>&1
+    exenvsave=$exenv   
+    if [ "x$test" = "xxbt/dict_crash@EXEEXT@" ] ; then 
+      if echo $exenv | grep valgrind >/dev/null ; then
+       exenv=
+      fi
+      $exenv ./$test --xbt-log="root.thres=info" 2>&1
       retval=$?
     else 
-      winesave=$wine
-      if [ x@EXEEXT@ != x ] ; then 
+      if [ x@EXEEXT@ != x ] && [ x$exenv = xwine ] ; then 
         if echo ${test} | grep @EXEEXT@ >/dev/null ; then : ; else
-#         echo "This is not a win32 binary, don't use wine"
-          wine=""
+          exenv=""
         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
+      $exenv ./$test --xbt-log="root.thres=info" 2>&1
+      retval=$?
     fi
+    exenv=$exenvsave
     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
+#      $exenv ./$test --xbt-log="root.thres=debug" 2>&1
 #    else 
-#      $wine $valgrind ./$test --xbt-log="root.thres=debug" 2>&1
+#      $exenv ./$test --xbt-log="root.thres=debug" 2>&1
 #    fi
       failed_nb=`expr $failed_nb + 1`
       echo "  $test (returned $retval)" >> test.failed
@@ -139,7 +148,7 @@ 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' simgrid.tests.log"
-  echo " and send the following informations to simgrid2-users@listes.ens-lyon.fr:"
+  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."