Skip to content

Commit

Permalink
ci: tweak mpi setup to allow -s and hide output
Browse files Browse the repository at this point in the history
  • Loading branch information
mloubout committed Apr 15, 2024
1 parent 42cce7e commit 0a003ce
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
19 changes: 14 additions & 5 deletions conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import pytest
from sympy import Add

from devito import Eq, configuration, Revolver # noqa
from devito import Eq, configuration, Revolver, switchconfig # noqa
from devito.checkpointing import NoopRevolver
from devito.finite_differences.differentiable import EvalDerivative
from devito.arch import Cpu64, Device, sniff_mpi_distro, Arm
Expand Down Expand Up @@ -141,17 +141,26 @@ def parallel(item, m):
else:
raise ValueError("Can't run test: unexpected mode `%s`" % m)

# Don't waste time with subprocess for single rank
if nprocs == 1:
with switchconfig(mpi=scheme):
try:
item.runtest()
return True
except:
return False

pyversion = sys.executable
pyarg = item.config.invocation_params.args[0]
# Only spew tracebacks on rank 0.
# Run xfailing tests to ensure that errors are reported to calling process
if item.cls is not None:
testname = "%s::%s::%s" % (item.fspath, item.cls.__name__, item.name)
else:
testname = "%s::%s" % (item.fspath, item.name)
args = ["-n", "1", pyversion, "-m", "pytest", "--runxfail", "-q", testname]
if nprocs > 1:
args.extend([":", "-n", "%d" % (nprocs - 1), pyversion, "-m", "pytest",
"--runxfail", "--tb=no", "-q", testname])

args = ["-n", str(nprocs), pyversion, "-m", "pytest", "--no-summary", pyarg,
"--runxfail", "-qq", testname]
# OpenMPI requires an explicit flag for oversubscription. We need it as some
# of the MPI tests will spawn lots of processes
if mpi_distro == 'OpenMPI':
Expand Down
1 change: 0 additions & 1 deletion tests/test_linearize.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,6 @@ def test_codegen_quality0(mode):
# for the efunc args
# (the other three obviously are _POSIX_C_SOURCE, START, STOP)
assert len(op._headers) == 6
return "bonjour"


def test_codegen_quality1():
Expand Down

0 comments on commit 0a003ce

Please sign in to comment.