Skip to content

Fix preconditioner when using EquationBC #6050

Fix preconditioner when using EquationBC

Fix preconditioner when using EquationBC #6050

GitHub Actions / Firedrake real failed Oct 25, 2024 in 0s

8084 tests run, 7294 passed, 786 skipped, 4 failed.

Annotations

Check failure on line 136 in tests/demos/test_demos_run.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake real

test_demos_run.test_demo_runs[saddle_point_systems.py.rst]

subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_saddle_point_sy0/saddle_point_systems.py']' returned non-zero exit status 1.
Raw output
py_file = '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_saddle_point_sy0/saddle_point_systems.py'
env = {'CI': 'true', 'COMPLEX': '', 'FIREDRAKE_CI_TESTS': '1', 'FIREDRAKE_TSFC_KERNEL_CACHE_DIR': '/__w/firedrake/firedrake_venv/.cache/tsfc', ...}

    @pytest.mark.skipcomplex  # Will need to add a seperate case for a complex demo.
    def test_demo_runs(py_file, env):
        # Add pytest skips for missing imports or packages
        if basename(py_file) in ("stokes.py", "rayleigh-benard.py", "saddle_point_systems.py", "navier_stokes.py", "netgen_mesh.py"):
            if "mumps" not in get_external_packages():
                pytest.skip("MUMPS not installed with PETSc")
    
        if basename(py_file) in ("stokes.py", "rayleigh-benard.py", "saddle_point_systems.py", "qg_1layer_wave.py"):
            if "hypre" not in get_external_packages():
                pytest.skip("hypre not installed with PETSc")
    
        if basename(py_file) == "qgbasinmodes.py":
            try:
                # Do not use `pytest.importorskip` to check for slepc4py:
                # It isn't sufficient to actually detect whether slepc4py
                # is installed. Both petsc4py and slepc4py require
                # `from xy4py import Xy`
                # to actually load the library.
                from slepc4py import SLEPc  # noqa: F401
            except ImportError:
                pytest.skip(reason="SLEPc unavailable, skipping qgbasinmodes.py")
    
        if basename(py_file) in ("DG_advection.py", "qgbasinmodes.py"):
            pytest.importorskip(
                "matplotlib",
                reason=f"Matplotlib unavailable, skipping {basename(py_file)}"
            )
    
        if basename(py_file) == "netgen_mesh.py":
            pytest.importorskip(
                "netgen",
                reason="Netgen unavailable, skipping Netgen test."
            )
            pytest.importorskip(
                "ngsPETSc",
                reason="ngsPETSc unavailable, skipping Netgen test."
            )
            try:
                from slepc4py import SLEPc  # noqa: F401, F811
            except ImportError:
                pytest.skip(reason="SLEPc unavailable, skipping netgen_mesh.py")
    
        if basename(py_file) in VTK_DEMOS:
            try:
                import vtkmodules.vtkCommonDataModel  # noqa: F401
            except ImportError:
                pytest.skip(reason=f"VTK unavailable, skipping {basename(py_file)}")
        if basename(py_file) in parallel_demos:
            if basename(py_file) == "full_waveform_inversion.py":
                processes = 2
            else:
                raise NotImplementedError("You need to specify the number of processes for this test")
    
            executable = ["mpiexec", "-n", str(processes), sys.executable, py_file]
        else:
            executable = [sys.executable, py_file]
    
>       subprocess.check_call(executable, env=env)

/__w/firedrake/firedrake/tests/demos/test_demos_run.py:136: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

popenargs = (['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_saddle_point_sy0/saddle_point_systems.py'],)
kwargs = {'env': {'CI': 'true', 'COMPLEX': '', 'FIREDRAKE_CI_TESTS': '1', 'FIREDRAKE_TSFC_KERNEL_CACHE_DIR': '/__w/firedrake/firedrake_venv/.cache/tsfc', ...}}
retcode = 1
cmd = ['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_saddle_point_sy0/saddle_point_systems.py']

    def check_call(*popenargs, **kwargs):
        """Run command with arguments.  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.
    
        The arguments are the same as for the call function.  Example:
    
        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_saddle_point_sy0/saddle_point_systems.py']' returned non-zero exit status 1.

/usr/lib/python3.12/subprocess.py:413: CalledProcessError

Check failure on line 136 in tests/demos/test_demos_run.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake real

test_demos_run.test_demo_runs[geometric_multigrid.py.rst]

subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_geometric_multi0/geometric_multigrid.py']' returned non-zero exit status 1.
Raw output
py_file = '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_geometric_multi0/geometric_multigrid.py'
env = {'CI': 'true', 'COMPLEX': '', 'FIREDRAKE_CI_TESTS': '1', 'FIREDRAKE_TSFC_KERNEL_CACHE_DIR': '/__w/firedrake/firedrake_venv/.cache/tsfc', ...}

    @pytest.mark.skipcomplex  # Will need to add a seperate case for a complex demo.
    def test_demo_runs(py_file, env):
        # Add pytest skips for missing imports or packages
        if basename(py_file) in ("stokes.py", "rayleigh-benard.py", "saddle_point_systems.py", "navier_stokes.py", "netgen_mesh.py"):
            if "mumps" not in get_external_packages():
                pytest.skip("MUMPS not installed with PETSc")
    
        if basename(py_file) in ("stokes.py", "rayleigh-benard.py", "saddle_point_systems.py", "qg_1layer_wave.py"):
            if "hypre" not in get_external_packages():
                pytest.skip("hypre not installed with PETSc")
    
        if basename(py_file) == "qgbasinmodes.py":
            try:
                # Do not use `pytest.importorskip` to check for slepc4py:
                # It isn't sufficient to actually detect whether slepc4py
                # is installed. Both petsc4py and slepc4py require
                # `from xy4py import Xy`
                # to actually load the library.
                from slepc4py import SLEPc  # noqa: F401
            except ImportError:
                pytest.skip(reason="SLEPc unavailable, skipping qgbasinmodes.py")
    
        if basename(py_file) in ("DG_advection.py", "qgbasinmodes.py"):
            pytest.importorskip(
                "matplotlib",
                reason=f"Matplotlib unavailable, skipping {basename(py_file)}"
            )
    
        if basename(py_file) == "netgen_mesh.py":
            pytest.importorskip(
                "netgen",
                reason="Netgen unavailable, skipping Netgen test."
            )
            pytest.importorskip(
                "ngsPETSc",
                reason="ngsPETSc unavailable, skipping Netgen test."
            )
            try:
                from slepc4py import SLEPc  # noqa: F401, F811
            except ImportError:
                pytest.skip(reason="SLEPc unavailable, skipping netgen_mesh.py")
    
        if basename(py_file) in VTK_DEMOS:
            try:
                import vtkmodules.vtkCommonDataModel  # noqa: F401
            except ImportError:
                pytest.skip(reason=f"VTK unavailable, skipping {basename(py_file)}")
        if basename(py_file) in parallel_demos:
            if basename(py_file) == "full_waveform_inversion.py":
                processes = 2
            else:
                raise NotImplementedError("You need to specify the number of processes for this test")
    
            executable = ["mpiexec", "-n", str(processes), sys.executable, py_file]
        else:
            executable = [sys.executable, py_file]
    
>       subprocess.check_call(executable, env=env)

/__w/firedrake/firedrake/tests/demos/test_demos_run.py:136: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

popenargs = (['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_geometric_multi0/geometric_multigrid.py'],)
kwargs = {'env': {'CI': 'true', 'COMPLEX': '', 'FIREDRAKE_CI_TESTS': '1', 'FIREDRAKE_TSFC_KERNEL_CACHE_DIR': '/__w/firedrake/firedrake_venv/.cache/tsfc', ...}}
retcode = 1
cmd = ['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_geometric_multi0/geometric_multigrid.py']

    def check_call(*popenargs, **kwargs):
        """Run command with arguments.  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.
    
        The arguments are the same as for the call function.  Example:
    
        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/python', '/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_demo_runs_geometric_multi0/geometric_multigrid.py']' returned non-zero exit status 1.

/usr/lib/python3.12/subprocess.py:413: CalledProcessError

Check failure on line 35 in tests/demos/test_notebooks_run.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake real

test_notebooks_run.test_notebook_runs[08-composable-solvers.ipynb]

subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/08-composable-solvers.ipynb']' returned non-zero exit status 1.
Raw output
ipynb_file = '/__w/firedrake/firedrake/docs/notebooks/08-composable-solvers.ipynb'
tmpdir = local('/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_notebook_runs_08_composab0')
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f7866925b20>

    @pytest.mark.skipcomplex  # Will need to add a seperate case for a complex tutorial.
    def test_notebook_runs(ipynb_file, tmpdir, monkeypatch):
        import pytest  # Unclear why this needs to be imported again
    
        if os.path.basename(ipynb_file) in ("08-composable-solvers.ipynb", "12-HPC_demo.ipynb"):
            if "mumps" not in get_external_packages():
                pytest.skip("MUMPS not installed with PETSc")
        monkeypatch.chdir(tmpdir)
        pytest = os.path.join(os.environ.get("VIRTUAL_ENV"), "bin", "pytest")
>       subprocess.check_call([pytest, "--nbval-lax", ipynb_file])

/__w/firedrake/firedrake/tests/demos/test_notebooks_run.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

popenargs = (['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/08-composable-solvers.ipynb'],)
kwargs = {}, retcode = 1
cmd = ['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/08-composable-solvers.ipynb']

    def check_call(*popenargs, **kwargs):
        """Run command with arguments.  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.
    
        The arguments are the same as for the call function.  Example:
    
        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/08-composable-solvers.ipynb']' returned non-zero exit status 1.

/usr/lib/python3.12/subprocess.py:413: CalledProcessError

Check failure on line 35 in tests/demos/test_notebooks_run.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake real

test_notebooks_run.test_notebook_runs[07-geometric-multigrid.ipynb]

subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/07-geometric-multigrid.ipynb']' returned non-zero exit status 1.
Raw output
ipynb_file = '/__w/firedrake/firedrake/docs/notebooks/07-geometric-multigrid.ipynb'
tmpdir = local('/tmp/pytest-of-firedrake/pytest-0/popen-gw1/test_notebook_runs_07_geometri0')
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f78669271a0>

    @pytest.mark.skipcomplex  # Will need to add a seperate case for a complex tutorial.
    def test_notebook_runs(ipynb_file, tmpdir, monkeypatch):
        import pytest  # Unclear why this needs to be imported again
    
        if os.path.basename(ipynb_file) in ("08-composable-solvers.ipynb", "12-HPC_demo.ipynb"):
            if "mumps" not in get_external_packages():
                pytest.skip("MUMPS not installed with PETSc")
        monkeypatch.chdir(tmpdir)
        pytest = os.path.join(os.environ.get("VIRTUAL_ENV"), "bin", "pytest")
>       subprocess.check_call([pytest, "--nbval-lax", ipynb_file])

/__w/firedrake/firedrake/tests/demos/test_notebooks_run.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

popenargs = (['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/07-geometric-multigrid.ipynb'],)
kwargs = {}, retcode = 1
cmd = ['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/07-geometric-multigrid.ipynb']

    def check_call(*popenargs, **kwargs):
        """Run command with arguments.  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.
    
        The arguments are the same as for the call function.  Example:
    
        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['/__w/firedrake/firedrake_venv/bin/pytest', '--nbval-lax', '/__w/firedrake/firedrake/docs/notebooks/07-geometric-multigrid.ipynb']' returned non-zero exit status 1.

/usr/lib/python3.12/subprocess.py:413: CalledProcessError