Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions test_autofit/graphical/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,33 @@

import autofit.mapper.variable
from autofit import graphical as graph
from autonerves import conf


@pytest.fixture
def output_directory(tmp_path):
"""Each test owns its output, even when model identifiers coincide."""
return tmp_path / "output"


@pytest.fixture(autouse=True)
def set_config_path(test_directory, output_directory):
previous_configs = conf.instance.configs
previous_output = conf.instance.output_path
conf.instance.push(
new_path=str(test_directory / "config"),
output_path=str(output_directory),
)
yield
conf.instance.configs = previous_configs
conf.instance.output_path = previous_output


@pytest.fixture(autouse=True)
def do_remove_output():
# tmp_path owns cleanup. The parent fixture removes the shared output tree,
# which may belong to another worker running a non-graphical test.
yield


@pytest.fixture(autouse=True)
Expand Down
3 changes: 0 additions & 3 deletions test_autofit/graphical/gaussian/test_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import autofit as af
import autofit.graphical as g
from autonerves.conf import output_path_for_test
from autofit.graphical.utils import Status
from test_autofit.graphical.gaussian.model import Analysis

Expand Down Expand Up @@ -50,7 +49,6 @@ def _test_set_model_identifier(dynesty, prior_model, analysis):

class TestDynesty:
@pytest.mark.filterwarnings("ignore::RuntimeWarning")
@output_path_for_test()
def test_optimisation(self, factor_model, laplace, dynesty):
factor_model.optimiser = dynesty
factor_model.optimise(laplace)
Expand All @@ -66,7 +64,6 @@ def test_null_paths(self, factor_model):
assert isinstance(status, Status)

@pytest.mark.filterwarnings("ignore::RuntimeWarning")
@output_path_for_test()
def test_optimise(self, factor_model, dynesty):
result, status = dynesty.optimise(
factor_model.mean_field_approximation().factor_approximation(factor_model)
Expand Down
Loading