1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
##
## Copyright (C) by Argonne National Laboratory
## See COPYRIGHT in top-level directory
##
my $mpiexec = "mpiexec";
my $test_count = 0;
system "rm -f mpitests.run";
system "rm -f mpitests.lastrun";
system "touch mpitests.lastrun";
for my $np (2) {
re_run:
my $last_count = $test_count;
open LOG, "> mpitests.run";
open MPIOUT, "$mpiexec $np run_mpitests 2>&1 |" ||
die "Could not launch $mpiexec $np run_mpitests!\n";
read_MPIOUT();
my $rc = close(MPIOUT);
if ($test_count == $last_count) {
die "run_mpitests didn't make progress\n";
}
if ($rc == 0) {
# something wrong
if ($!) {
die "Pipe Failure! OS_ERROR: $!\n";
}
# rerun run_mpitests, it should continue from the next test
goto re_run;
}
}
sub read_MPIOUT {
my ($test_name, $test_time, @test_output);
while (<MPIOUT>) {
}
}
|