Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't run some mpich3 fortran tests when there is no privatization
authordegomme <augustin.degomme@unibas.ch>
Mon, 16 May 2016 14:50:40 +0000 (16:50 +0200)
committerdegomme <augustin.degomme@unibas.ch>
Mon, 16 May 2016 14:50:40 +0000 (16:50 +0200)
We don't provide manual way of privatizing global variables in Fortran anymore.
So on some (BSD) systems, these tests would fail.

teshsuite/smpi/mpich3-test/f77/pt2pt/testlist
teshsuite/smpi/mpich3-test/f77/rma/testlist
teshsuite/smpi/mpich3-test/f90/pt2pt/testlist
teshsuite/smpi/mpich3-test/f90/rma/testlist
teshsuite/smpi/mpich3-test/runtests
tools/cmake/Tests.cmake

index fe7ad6b..b71a61f 100644 (file)
@@ -1,4 +1,4 @@
 statusesf 1
 #greqf 1
 statusesf 1
 #greqf 1
-allpairf 2
+allpairf 2 needs_privatization=1
 mprobef 2 mpiversion=3.0
 mprobef 2 mpiversion=3.0
index 1e3dac2..f3cf47b 100644 (file)
@@ -1,6 +1,6 @@
-winscale1f 4
-winfencef 4
-wingetf   5
+winscale1f 4 needs_privatization=1
+winfencef 4 needs_privatization=1
+wingetf   5 needs_privatization=1
 #Needs win_test
 #winscale2f 4
 #Needs win error handling
 #Needs win_test
 #winscale2f 4
 #Needs win error handling
@@ -8,7 +8,7 @@ wingetf   5
 winnamef 1
 #Needs win get group
 #wingroupf 4
 winnamef 1
 #Needs win get group
 #wingroupf 4
-winaccf 4
+winaccf 4 needs_privatization=1
 #Needs mpi_win_f2c
 c2f2cwinf 1
 #Needs attr
 #Needs mpi_win_f2c
 c2f2cwinf 1
 #Needs attr
index 920fba2..d7a4b64 100644 (file)
@@ -1,5 +1,5 @@
 # This file generated by f77tof90
 statusesf90 1
 #greqf90 1
 # This file generated by f77tof90
 statusesf90 1
 #greqf90 1
-allpairf90 2
+allpairf90 2 needs_privatization=1
 mprobef90 2 mpiversion=3.0
 mprobef90 2 mpiversion=3.0
index 337fe31..1dddb0c 100644 (file)
@@ -1,13 +1,13 @@
 # This file generated by f77tof90
 #See ../../f77/rma/testlist for reasons of deactivation
 # This file generated by f77tof90
 #See ../../f77/rma/testlist for reasons of deactivation
-winscale1f90 4
-winfencef90 4
-wingetf90 5
+winscale1f90 4 needs_privatization=1
+winfencef90 4 needs_privatization=1
+wingetf90 5 needs_privatization=1
 #winscale2f90 4
 #winerrf90 1
 winnamef90 1
 #wingroupf90 4
 #winscale2f90 4
 #winerrf90 1
 winnamef90 1
 #wingroupf90 4
-winaccf90 4
+winaccf90 4 needs_privatization=1
 c2f2cwinf90 1
 #baseattrwinf90 1
 #winattrf90 1
 c2f2cwinf90 1
 #baseattrwinf90 1
 #winattrf90 1
index 1e35c24..5b0f88e 100755 (executable)
@@ -73,6 +73,8 @@ $batrundir = ".";        # Set to the directory into which to run the examples
 
 $execarg="";
 $wrapparg="";
 
 $execarg="";
 $wrapparg="";
+
+$enabled_privatization = 1; # disable tests that need SMPI privatization to run
 # TAP (Test Anything Protocol) output
 my $tapoutput = 0;
 my $tapfile = '';
 # TAP (Test Anything Protocol) output
 my $tapoutput = 0;
 my $tapfile = '';
@@ -163,6 +165,9 @@ foreach $_ (@ARGV) {
     elsif (/--?batchdir=(.*)/) { $batrundir = $1; }
     elsif (/--?timeoutarg=(.*)/) { $timeoutArgPattern = $1; }
     elsif (/--?execarg=(.*)/) { $execarg = "$execarg $1"; }
     elsif (/--?batchdir=(.*)/) { $batrundir = $1; }
     elsif (/--?timeoutarg=(.*)/) { $timeoutArgPattern = $1; }
     elsif (/--?execarg=(.*)/) { $execarg = "$execarg $1"; }
+    elsif (/--?privatization=(.*)/) { 
+print STDERR "privatization called\n";
+$enabled_privatization = $1; }
     elsif (/VALGRIND_COMMAND=(.*)/) { 
         $valgrind = $1; }
     elsif (/VALGRIND_OPTIONS=(.*)/) {
     elsif (/VALGRIND_COMMAND=(.*)/) { 
         $valgrind = $1; }
     elsif (/VALGRIND_OPTIONS=(.*)/) {
@@ -363,6 +368,7 @@ sub RunList {
        my $requiresMPIX   = "";
        my $progEnv    = "";
        my $mpiVersion = "";
        my $requiresMPIX   = "";
        my $progEnv    = "";
        my $mpiVersion = "";
+        my $needs_privatization = 0;
         my $xfail = "";
        if ($#args >= 1) { $np = $args[1]; }
        # Process the key=value arguments
         my $xfail = "";
        if ($#args >= 1) { $np = $args[1]; }
        # Process the key=value arguments
@@ -391,6 +397,9 @@ sub RunList {
                elsif ($key eq "mpiversion") {
                    $mpiVersion = $value;
                }
                elsif ($key eq "mpiversion") {
                    $mpiVersion = $value;
                }
+               elsif ($key eq "needs_privatization") {
+                   $needs_privatization = $value;
+               }
                elsif ($key eq "strict") {
                    $requiresStrict = $value
                }
                elsif ($key eq "strict") {
                    $requiresStrict = $value
                }
@@ -412,6 +421,13 @@ sub RunList {
        # skip empty lines
        if ($programname eq "") { next; }
 
        # skip empty lines
        if ($programname eq "") { next; }
 
+       #if privatization is disabled, and if the test needs it, ignore it
+       if ($needs_privatization == 1 &&
+               $enabled_privatization != 1) {
+                SkippedTest($programname, $np, $workdir, "requires SMPI privatization");
+               next; 
+       }
+
        if ($np eq "") { $np = $np_default; }
        if ($np_max > 0 && $np > $np_max) { $np = $np_max; }
 
        if ($np eq "") { $np = $np_default; }
        if ($np_max > 0 && $np > $np_max) { $np = $np_max; }
 
index f98eb40..953fabd 100644 (file)
@@ -71,9 +71,9 @@ IF(HAVE_MC)
 ENDIF()
 
 IF(enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN AND HAVE_THREAD_CONTEXTS)
 ENDIF()
 
 IF(enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN AND HAVE_THREAD_CONTEXTS)
-  ADD_TEST(test-smpi-mpich3-thread-f77     ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -execarg=--cfg=contexts/stack_size:8000 -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION})
+  ADD_TEST(test-smpi-mpich3-thread-f77     ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -privatization=${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/stack_size:8000 -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION})
   SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
   SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
-  ADD_TEST(test-smpi-mpich3-thread-f90     ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/factory:thread)
+  ADD_TEST(test-smpi-mpich3-thread-f90     ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests ${TESH_OPTION} -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -privatization=${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/privatize-global-variables:${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/factory:thread)
   SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
 ENDIF()
 
   SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
 ENDIF()