From 236b75368f864ec6e9cd228e20cb1bae41c08878 Mon Sep 17 00:00:00 2001 From: mloubout Date: Sun, 14 Apr 2024 11:07:27 -0400 Subject: [PATCH] ci: tweak mpi setup to allow -s and hide output --- conftest.py | 16 ++++++++++++++-- tests/test_linearize.py | 3 +-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/conftest.py b/conftest.py index bc2526c3d7c..768c0bac3e2 100644 --- a/conftest.py +++ b/conftest.py @@ -142,16 +142,28 @@ def parallel(item, m): raise ValueError("Can't run test: unexpected mode `%s`" % m) pyversion = sys.executable + + # Keep all invocation arguments up to test path + params = item.config.invocation_params.args + pyarg = [] + for p in params: + if p.startswith('tests'): + break + else: + pyarg.append(p) + # 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] + + args = ["-n", "1", pyversion, "-m", "pytest", "--no-summary", *pyarg, + "--runxfail", "-qq", testname] if nprocs > 1: args.extend([":", "-n", "%d" % (nprocs - 1), pyversion, "-m", "pytest", - "--runxfail", "--tb=no", "-q", testname]) + "-s", "--runxfail", "--tb=no", "-qq", "--no-summary", 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': diff --git a/tests/test_linearize.py b/tests/test_linearize.py index b236170e9df..088f42f36bc 100644 --- a/tests/test_linearize.py +++ b/tests/test_linearize.py @@ -152,7 +152,7 @@ def test_interpolation_msf(): assert op1.cfunction -@pytest.mark.parallel(mode=[(1, 'diag2')]) +@pytest.mark.parallel(mode=[(2, 'diag2')]) def test_codegen_quality0(mode): grid = Grid(shape=(4, 4)) u = TimeFunction(name='u', grid=grid, space_order=2) @@ -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():