File: mpitests.pl

package info (click to toggle)
mpich 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 251,828 kB
  • sloc: ansic: 1,323,147; cpp: 82,869; f90: 72,420; javascript: 40,763; perl: 28,296; sh: 19,399; python: 16,191; xml: 14,418; makefile: 9,468; fortran: 8,046; java: 4,635; pascal: 352; asm: 324; ruby: 176; awk: 27; lisp: 19; php: 8; sed: 4
file content (41 lines) | stat: -rw-r--r-- 911 bytes parent folder | download
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>) {
    }
}