X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/81e2987ceb9329c50f0ac8109504aa5c784071e2..b382315f0693083344eb9a25a8fc37b7091bddc7:/teshsuite/smpi/mpich3-test/runtests diff --git a/teshsuite/smpi/mpich3-test/runtests b/teshsuite/smpi/mpich3-test/runtests index 721da48c1f..1e7ce7cbac 100755 --- a/teshsuite/smpi/mpich3-test/runtests +++ b/teshsuite/smpi/mpich3-test/runtests @@ -40,8 +40,8 @@ use File::Path; # Global variables -$MPIMajorVersion = "1"; -$MPIMinorVersion = "1"; +$MPIMajorVersion = "2"; +$MPIMinorVersion = "2"; $mpiexec = "smpirun"; # Name of mpiexec program (including path, if necessary) $testIsStrict = "true"; $MPIhasMPIX = "no"; @@ -72,6 +72,9 @@ $testCount = 0; # Used with batchRun to count tests. $batrundir = "."; # Set to the directory into which to run the examples $execarg=""; +$wrapparg=""; + +$enabled_privatization = 1; # disable tests that need SMPI privatization to run # TAP (Test Anything Protocol) output my $tapoutput = 0; my $tapfile = ''; @@ -154,7 +157,7 @@ foreach $_ (@ARGV) { elsif (/--?maxnp=(.*)/) { $np_max = $1; } elsif (/--?tests=(.*)/) { $listfiles = $1; } elsif (/--?srcdir=(.*)/) { $srcdir = $1; - $mpiexec="$mpiexec -platform ${srcdir}/../../../../examples/platforms/small_platform_with_routers.xml -hostfile ${srcdir}/../../hostfile_coll --log=root.thr:critical --cfg=smpi/running_power:1e9 --cfg=smpi/async_small_thresh:65536"; } + $mpiexec="$mpiexec -platform ${srcdir}/../../../../examples/platforms/small_platform_with_routers.xml -hostfile ${srcdir}/../../hostfile_coll --log=root.thr:critical --cfg=smpi/running-power:1e9 --cfg=smpi/async-small-thresh:65536"; } elsif (/--?verbose/) { $verbose = 1; } elsif (/--?showprogress/) { $showProgress = 1; } elsif (/--?debug/) { $debug = 1; } @@ -162,6 +165,13 @@ foreach $_ (@ARGV) { 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=(.*)/) { + $wrapparg = "-wrapper \"$valgrind $1\""; } elsif (/--?xmlfile=(.*)/) { $xmlfile = $1; if (! ($xmlfile =~ /^\//)) { @@ -207,14 +217,6 @@ foreach $_ (@ARGV) { # we do not know at this point how many tests will be run, so do # not print a test plan line like "1..450" until the very end } - else { - print STDERR "Unrecognized argument $_\n"; - print STDERR "runtests [-tests=testfile] [-np=nprocesses] \ - [-maxnp=max-nprocesses] [-srcdir=location-of-tests] \ - [-xmlfile=filename ] [-noxmlclose] \ - [-verbose] [-showprogress] [-debug] [-batch]\n"; - exit(1); - } } # Perform any post argument processing @@ -268,6 +270,7 @@ if ($batchRun) { else { if ($err_count) { print "$err_count tests failed out of $total_run\n"; + print "Failing tests : $failed_tests\n"; if ($xmloutput) { print "Details in $xmlfullfile\n"; } @@ -366,6 +369,7 @@ sub RunList { my $requiresMPIX = ""; my $progEnv = ""; my $mpiVersion = ""; + my $needs_privatization = 0; my $xfail = ""; if ($#args >= 1) { $np = $args[1]; } # Process the key=value arguments @@ -394,6 +398,9 @@ sub RunList { elsif ($key eq "mpiversion") { $mpiVersion = $value; } + elsif ($key eq "needs_privatization") { + $needs_privatization = $value; + } elsif ($key eq "strict") { $requiresStrict = $value } @@ -415,6 +422,13 @@ sub RunList { # 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; } @@ -602,7 +616,7 @@ sub RunMPIProgram { &$InitForTest(); } print STDOUT "Env includes $progEnv\n" if $verbose; - print STDOUT "$mpiexec $mpiexecArgs $np_arg $np $program_wrapper ./$programname $progArgs\n" if $verbose; + print STDOUT "$mpiexec $wrapparg $mpiexecArgs $np_arg $np $program_wrapper ./$programname $progArgs\n" if $verbose; print STDOUT "." if $showProgress; # Save and restore the environment if necessary before running mpiexec. if ($progEnv ne "") { @@ -616,7 +630,7 @@ sub RunMPIProgram { } } } - open ( MPIOUT, "$mpiexec $np_arg $np $mpiexecArgs $program_wrapper ./$programname $progArgs 2>&1 |" ) || + open ( MPIOUT, "$mpiexec $wrapparg $np_arg $np $mpiexecArgs $program_wrapper ./$programname $progArgs 2>&1 |" ) || die "Could not run ./$programname\n"; if ($progEnv ne "") { %ENV = %saveEnv; @@ -627,7 +641,7 @@ sub RunMPIProgram { } else { if ($verbose) { - $inline = "$mpiexec $np_arg $np $program_wrapper ./$programname\n"; + $inline = "$mpiexec $wrapparg $np_arg $np $program_wrapper ./$programname\n"; } else { $inline = ""; @@ -644,6 +658,8 @@ sub RunMPIProgram { print STDERR "Unexpected output in $programname: $_"; if (!$found_error) { $found_error = 1; + $failed_tests .= $programname; + $failed_tests .= " "; $err_count ++; } } @@ -652,6 +668,8 @@ sub RunMPIProgram { print STDERR "Program $programname exited without No Errors\n"; if (!$found_error) { $found_error = 1; + $failed_tests .= $programname; + $failed_tests .= " "; $err_count ++; } } @@ -667,6 +685,8 @@ sub RunMPIProgram { if ($signal_num != 0) { print STDERR "Program $programname exited with signal $signal_num\n"; } + $failed_tests .= $programname; + $failed_tests .= " "; $found_error = 1; $err_count ++; }