use File::Path;
# Global variables
-$MPIMajorVersion = "2";
-$MPIMinorVersion = "2";
+$MPIMajorVersion = "3";
+$MPIMinorVersion = "1";
$mpiexec = "smpirun"; # Name of mpiexec program (including path, if necessary)
+$platformfile = "../../../../examples/platforms/small_platform_with_routers.xml";
+$hostfile = "../../hostfile_mpich";
$testIsStrict = "true";
$MPIhasMPIX = "no";
$np_arg = "-np"; # Name of argument to specify the number of processes
elsif (/--?np=(.*)/) { $np_default = $1; }
elsif (/--?maxnp=(.*)/) { $np_max = $1; }
elsif (/--?tests=(.*)/) { $listfiles = $1; }
+ elsif (/--?platformfile=(.*)/) { $platformfile = $1; }
+ elsif (/--?hostfile=(.*)/) { $hostfile = $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/host-speed:1e9 --cfg=smpi/async-small-thresh:65536"; }
+ $mpiexec="$mpiexec -platform ${srcdir}/$platformfile -hostfile ${srcdir}/$hostfile --log=root.thr:critical --log=smpi_kernel.thr:warning --cfg=smpi/host-speed:1e9f --cfg=smpi/async-small-thresh:65536 --cfg=smpi/os:1:0.0000003:0.0000002 --cfg=smpi/ois:1:0.0000003:0.0000002"; }
elsif (/--?verbose/) { $verbose = 1; }
elsif (/--?showprogress/) { $showProgress = 1; }
elsif (/--?debug/) { $debug = 1; }
elsif (/--?batchdir=(.*)/) { $batrundir = $1; }
elsif (/--?timeoutarg=(.*)/) { $timeoutArgPattern = $1; }
elsif (/--?execarg=(.*)/) { $execarg = "$execarg $1"; }
- elsif (/--?privatization=(.*)/) {
+ elsif (/--?privatization=(.*)/) {
print STDERR "privatization called\n";
$enabled_privatization = $1; }
- elsif (/VALGRIND_COMMAND=(.*)/) {
- $valgrind = $1; }
- elsif (/VALGRIND_OPTIONS=(.*)/) {
- $wrapparg = "-wrapper \"$valgrind $1\""; }
+ elsif (/--?wrapper=(.*)/) {
+ $wrapparg = "-wrapper \"$1\"" if $1 ne "";
+ }
elsif (/--?xmlfile=(.*)/) {
$xmlfile = $1;
if (! ($xmlfile =~ /^\//)) {
if ($needs_privatization == 1 &&
$enabled_privatization != 1) {
SkippedTest($programname, $np, $workdir, "requires SMPI privatization");
- next;
+ next;
}
if ($np eq "") { $np = $np_default; }
# Skip FORTRAN STOP
if (/FORTRAN STOP/) { next; }
$inline .= $_;
- if (/^==[0-9]+== ?WARNING: ASan doesn't fully support/) {
+ if (m{^==[0-9]+== ?WARNING: ASan doesn't fully support} ||
+ m{^==[0-9]+== ?WARNING: ASan is ignoring requested __asan_handle_no_return: stack } ||
+ m{^False positive error reports may follow$} ||
+ m{^For details see http://code.google.com/p/address-sanitizer/issues/detail\?id=189$} ||
+ m{^For details see https://github.com/google/sanitizers/issues/189$}) {
next;
}
if (/^\s*No [Ee]rrors\s*$/ && $found_noerror == 0) {
if ($ResultTest ne "") {
# This test really needs to be run manually, with this test
- # Eventually, we can update this to include handleing in checktests.
+ # Eventually, we can update this to include handling in checktests.
print STDERR "Run $curdir/$programname with $np processes and use $ResultTest to check the results\n";
return;
}