Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Try to make the smpi-mpich-env test more robust in multitasking environments.
[simgrid.git] / teshsuite / smpi / mpich-test / env / runtests
index 21bfe39..75a58bf 100755 (executable)
@@ -17,6 +17,7 @@ MAKE="make --no-print-directory"
 quiet=0
 runtests=1
 makeeach=0
+have_fortran=0
 writesummaryfile=no
 MAKE="make --no-print-directory"
 for arg in "$@" ; do
@@ -27,6 +28,9 @@ for arg in "$@" ; do
     -srcdir=* )
        srcdir=`echo $arg | sed 's/-srcdir=//'`
        ;; 
+       -fort=* )
+       have_fortran=`echo $arg | sed 's/-fort=//'`
+       ;;
        -checkonly )
        runtests=0
        ;;
@@ -75,7 +79,7 @@ fi
 #
 testfiles=""
 if [ $runtests = 1 ] ; then
-#replaced sleep by smpi_sleep to avoid problems with real/simulation powers
+
 #RunTest timers 1 "*** Timer tests ***"
 
 RunTest init 2 "*** MPI_Initialized tests ***"
@@ -116,7 +120,14 @@ RunTest getproc 1 "*** Test Get Processor Name ***"
 #
 # If there was a Unix standard interface to ps, we could check for orphaned
 # processes...
-if ps -fwu $LOGNAME > /dev/null 2>&1 ; then
+if ps --version | grep procps > /dev/null 2>&1 ; then
+   # This is a try to be a better choice than ps -u because it
+   # restricts the list of processes to those of the current session.
+   # The options are known to work with the ps command from the procps
+   # package.
+   SESSION=`ps -o sess= $$`
+   PSPGM="ps -o pid,tname,command -s $SESSION"
+elif ps -fwu $LOGNAME > /dev/null 2>&1 ; then
    # This is a better choice than ps aux because it restricts the list of 
    # processes to those of the running user.  The w is needed on some
    # systems to get a long output for the command
@@ -207,13 +218,13 @@ CleanExe aborttest
 
 #
 # Run Fortran tests ONLY if Fortran available
-if [ 0 = 1 ] ; then 
+if [ $have_fortran -eq "1" ] ; then 
 
-    RunTest errstringsf 1 "*** Tests of Fortran error strings ***"
+#    RunTest errstringsf 1 "*** Tests of Fortran error strings ***"
 
     RunTest getprocf 1 "*** Test MPI_Get_processor_name in Fortran ***"
 
-    RunTest errhandf 1 "*** Tests of error handling in Fortran ***"
+#    RunTest errhandf 1 "*** Tests of error handling in Fortran ***"
 fi
 
 else