diff --git a/tests/core/recipes/gaussian_recipes/conftest.py b/tests/core/recipes/gaussian_recipes/conftest.py index 85c6f5d9c6..8ae54ad071 100644 --- a/tests/core/recipes/gaussian_recipes/conftest.py +++ b/tests/core/recipes/gaussian_recipes/conftest.py @@ -1,26 +1,28 @@ from pathlib import Path -from shutil import copy import pytest -from ase.calculators.calculator import FileIOCalculator -from ase.calculators.gaussian import Gaussian -from ase.calculators.lj import LennardJones -from ase.io import read FILE_DIR = Path(__file__).parent GAUSSIAN_DIR = Path(FILE_DIR, "gaussian_run") def mock_execute(self, *args, **kwargs): + from shutil import copy + copy(GAUSSIAN_DIR / "Gaussian.log.gz", "Gaussian.log.gz") @pytest.fixture(autouse=True) def patch_execute(monkeypatch): + from ase.calculators.calculator import FileIOCalculator + monkeypatch.setattr(FileIOCalculator, "execute", mock_execute) def mock_read_results(self, *args, **kwargs): + from ase.calculators.lj import LennardJones + from ase.io import read + atoms = read("Gaussian.com") atoms.calc = LennardJones() atoms.get_potential_energy() @@ -30,4 +32,6 @@ def mock_read_results(self, *args, **kwargs): @pytest.fixture(autouse=True) def patch_read_results(monkeypatch): + from ase.calculators.gaussian import Gaussian + monkeypatch.setattr(Gaussian, "read_results", mock_read_results) diff --git a/tests/core/recipes/gulp_recipes/conftest.py b/tests/core/recipes/gulp_recipes/conftest.py index 4e82677188..a216424043 100644 --- a/tests/core/recipes/gulp_recipes/conftest.py +++ b/tests/core/recipes/gulp_recipes/conftest.py @@ -1,13 +1,8 @@ import os from pathlib import Path -from shutil import copy from unittest import mock import pytest -from ase.calculators.calculator import FileIOCalculator -from ase.calculators.gulp import GULP -from ase.calculators.lj import LennardJones -from ase.io import read FILE_DIR = Path(__file__).parent GULP_DIR = Path(FILE_DIR, "gulp_run") @@ -20,6 +15,8 @@ def mock_settings_env_vars(): def mock_execute(self, *args, **kwargs): + from shutil import copy + copy(GULP_DIR / "gulp.got.gz", "gulp.got.gz") copy(GULP_DIR / "gulp.cif.gz", "gulp.cif.gz") copy(GULP_DIR / "gulp.xyz.gz", "gulp.xyz.gz") @@ -27,10 +24,15 @@ def mock_execute(self, *args, **kwargs): @pytest.fixture(autouse=True) def patch_execute(monkeypatch): + from ase.calculators.calculator import FileIOCalculator + monkeypatch.setattr(FileIOCalculator, "execute", mock_execute) def mock_read_results(self, *args, **kwargs): + from ase.calculators.lj import LennardJones + from ase.io import read + atoms = read("gulp.xyz.gz") atoms.calc = LennardJones() atoms.get_potential_energy() @@ -40,6 +42,8 @@ def mock_read_results(self, *args, **kwargs): @pytest.fixture(autouse=True) def patch_read_results(monkeypatch): + from ase.calculators.gulp import GULP + monkeypatch.setattr(GULP, "read_results", mock_read_results) @@ -54,6 +58,8 @@ def mock_get_opt_state(self, **kwargs): @pytest.fixture(autouse=True) def patch_get_opt_state(monkeypatch): + from ase.calculators.gulp import GULP + # Monkeypatch the .get_opt_state() method of the GULP calculator object so # we aren't fetching the actual state monkeypatch.setattr(GULP, "get_opt_state", mock_get_opt_state) diff --git a/tests/core/recipes/onetep_recipes/conftest.py b/tests/core/recipes/onetep_recipes/conftest.py index 646ba68ace..959577ae71 100644 --- a/tests/core/recipes/onetep_recipes/conftest.py +++ b/tests/core/recipes/onetep_recipes/conftest.py @@ -1,7 +1,4 @@ import pytest -from ase.calculators.emt import EMT -from ase.calculators.onetep import OnetepTemplate -from ase.io import read def mock_execute(self, *args, **kwargs): @@ -10,10 +7,15 @@ def mock_execute(self, *args, **kwargs): @pytest.fixture(autouse=True) def patch_execute(monkeypatch): + from ase.calculators.onetep import OnetepTemplate + monkeypatch.setattr(OnetepTemplate, "execute", mock_execute) def mock_read_results(self, directory, *args, **kwargs): + from ase.calculators.emt import EMT + from ase.io import read + atoms = read(directory / "onetep.dat") atoms.calc = EMT() atoms.get_potential_energy() @@ -22,4 +24,6 @@ def mock_read_results(self, directory, *args, **kwargs): @pytest.fixture(autouse=True) def patch_read_results(monkeypatch): + from ase.calculators.onetep import OnetepTemplate + monkeypatch.setattr(OnetepTemplate, "read_results", mock_read_results) diff --git a/tests/core/recipes/orca_recipes/conftest.py b/tests/core/recipes/orca_recipes/conftest.py index 1a3a5271c3..046db11e82 100644 --- a/tests/core/recipes/orca_recipes/conftest.py +++ b/tests/core/recipes/orca_recipes/conftest.py @@ -1,26 +1,29 @@ from pathlib import Path -from shutil import copy import pytest -from ase.calculators.lj import LennardJones -from ase.calculators.orca import OrcaTemplate -from ase.io import write -from ase.io.orca import read_geom_orcainp FILE_DIR = Path(__file__).parent ORCA_DIR = Path(FILE_DIR, "orca_run") def mock_execute(self, *args, **kwargs): + from shutil import copy + copy(ORCA_DIR / "orca.out.gz", "orca.out.gz") @pytest.fixture(autouse=True) def patch_execute(monkeypatch): + from ase.calculators.orca import OrcaTemplate + monkeypatch.setattr(OrcaTemplate, "execute", mock_execute) def mock_read_results(self, directory, *args, **kwargs): + from ase.calculators.lj import LennardJones + from ase.io import write + from ase.io.orca import read_geom_orcainp + atoms = read_geom_orcainp(directory / "orca.inp") write(directory / "orca.xyz", atoms) atoms.calc = LennardJones() @@ -30,4 +33,6 @@ def mock_read_results(self, directory, *args, **kwargs): @pytest.fixture(autouse=True) def patch_read_results(monkeypatch): + from ase.calculators.orca import OrcaTemplate + monkeypatch.setattr(OrcaTemplate, "read_results", mock_read_results) diff --git a/tests/core/recipes/vasp_recipes/mocked/conftest.py b/tests/core/recipes/vasp_recipes/mocked/conftest.py index 61fdc82514..073699b11c 100644 --- a/tests/core/recipes/vasp_recipes/mocked/conftest.py +++ b/tests/core/recipes/vasp_recipes/mocked/conftest.py @@ -1,10 +1,7 @@ from pathlib import Path import pytest -from ase.calculators.emt import EMT -from ase.io import read, write from emmet.core.tasks import TaskDoc -from monty.os.path import zpath FILE_DIR = Path(__file__).parent PSEUDO_DIR = FILE_DIR / "fake_pseudos" @@ -13,6 +10,8 @@ def mock_run(self, *args, **kwargs): + from ase.io import write + write(Path(self.directory) / "CONTCAR", self.atoms) @@ -25,6 +24,8 @@ def patch_run(monkeypatch): def mock_read_results(self, *args, **kwargs): + from ase.calculators.emt import EMT + atoms = self.atoms atoms.calc = EMT() atoms.get_potential_energy() @@ -39,6 +40,9 @@ def patch_read_results(monkeypatch): def mock_taskdoc(*args, **kwargs): + from ase.io import read + from monty.os.path import zpath + from quacc.atoms.core import check_is_metal MOCK_TASKDOC.output.bandgap = 0.0 if check_is_metal(read(zpath("CONTCAR"))) else 0.5 @@ -47,4 +51,5 @@ def mock_taskdoc(*args, **kwargs): @pytest.fixture(autouse=True) def patch_taskdoc(monkeypatch): + monkeypatch.setattr("quacc.schemas.vasp.TaskDoc.from_directory", mock_taskdoc) diff --git a/tests/dask/conftest.py b/tests/dask/conftest.py index 783608fa86..a273d20f18 100644 --- a/tests/dask/conftest.py +++ b/tests/dask/conftest.py @@ -1,6 +1,4 @@ -import os from pathlib import Path -from shutil import rmtree TEST_RESULTS_DIR = Path(__file__).parent / "_test_results" TEST_SCRATCH_DIR = Path(__file__).parent / "_test_scratch" @@ -15,6 +13,8 @@ if has_import: def pytest_sessionstart(): + import os + from dask.distributed import Client, get_client file_dir = Path(__file__).parent @@ -28,6 +28,8 @@ def pytest_sessionstart(): Client() def pytest_sessionfinish(exitstatus): + from shutil import rmtree + if exitstatus == 0: from dask.distributed import default_client diff --git a/tests/jobflow/conftest.py b/tests/jobflow/conftest.py index 165248105c..a406a61f45 100644 --- a/tests/jobflow/conftest.py +++ b/tests/jobflow/conftest.py @@ -1,4 +1,3 @@ -import os from pathlib import Path TEST_RESULTS_DIR = Path(__file__).parent / "_test_results" @@ -6,6 +5,8 @@ def pytest_sessionstart(): + import os + file_dir = Path(__file__).parent os.environ["QUACC_CONFIG_FILE"] = str(file_dir / "quacc.yaml") os.environ["QUACC_RESULTS_DIR"] = str(TEST_RESULTS_DIR) diff --git a/tests/parsl/conftest.py b/tests/parsl/conftest.py index 695996732f..11f82bcc95 100644 --- a/tests/parsl/conftest.py +++ b/tests/parsl/conftest.py @@ -1,4 +1,3 @@ -import os from pathlib import Path TEST_RESULTS_DIR = Path(__file__).parent / "_test_results" @@ -12,6 +11,8 @@ def pytest_sessionstart(): + import os + if parsl: parsl.load() file_dir = Path(__file__).parent diff --git a/tests/prefect/conftest.py b/tests/prefect/conftest.py index c2cb406875..90c62b72aa 100644 --- a/tests/prefect/conftest.py +++ b/tests/prefect/conftest.py @@ -1,4 +1,3 @@ -import os from pathlib import Path import pytest @@ -14,6 +13,8 @@ if prefect: def pytest_sessionstart(): + import os + from prefect.testing.utilities import prefect_test_harness file_dir = Path(__file__).parent diff --git a/tests/redun/conftest.py b/tests/redun/conftest.py index 165248105c..a406a61f45 100644 --- a/tests/redun/conftest.py +++ b/tests/redun/conftest.py @@ -1,4 +1,3 @@ -import os from pathlib import Path TEST_RESULTS_DIR = Path(__file__).parent / "_test_results" @@ -6,6 +5,8 @@ def pytest_sessionstart(): + import os + file_dir = Path(__file__).parent os.environ["QUACC_CONFIG_FILE"] = str(file_dir / "quacc.yaml") os.environ["QUACC_RESULTS_DIR"] = str(TEST_RESULTS_DIR)