From ac15861e8d8086fbf8faeccb6d2b39c29bfec822 Mon Sep 17 00:00:00 2001 From: nmannall Date: Mon, 25 Nov 2024 11:33:35 +0000 Subject: [PATCH] Create standard test class using receiver mixin --- .../cylinder_Bscan_2D.h5} | Bin reframe_tests/tests/base_tests.py | 17 +++++++++-------- reframe_tests/tests/mixins.py | 4 ++-- reframe_tests/tests/standard_tests.py | 6 ++++++ reframe_tests/tests/test_example_models.py | 8 ++++---- 5 files changed, 21 insertions(+), 14 deletions(-) rename reframe_tests/regression_checks/{TestBscan_efecb66e.h5 => TestBscan_efecb66e/cylinder_Bscan_2D.h5} (100%) create mode 100644 reframe_tests/tests/standard_tests.py diff --git a/reframe_tests/regression_checks/TestBscan_efecb66e.h5 b/reframe_tests/regression_checks/TestBscan_efecb66e/cylinder_Bscan_2D.h5 similarity index 100% rename from reframe_tests/regression_checks/TestBscan_efecb66e.h5 rename to reframe_tests/regression_checks/TestBscan_efecb66e/cylinder_Bscan_2D.h5 diff --git a/reframe_tests/tests/base_tests.py b/reframe_tests/tests/base_tests.py index 879d1eb4..a9b6581e 100644 --- a/reframe_tests/tests/base_tests.py +++ b/reframe_tests/tests/base_tests.py @@ -96,7 +96,7 @@ class CreatePyenvTest(RunOnlyRegressionTest): ) -class GprMaxRegressionTest(RunOnlyRegressionTest): +class GprMaxBaseTest(RunOnlyRegressionTest): valid_systems = ["archer2:compute"] valid_prog_environs = ["PrgEnv-gnu"] modules = ["cray-python"] @@ -112,7 +112,7 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): test_dependency = variable(type(None), type, value=None) - def get_test_dependency(self) -> Optional["GprMaxRegressionTest"]: + def get_test_dependency(self) -> Optional["GprMaxBaseTest"]: """Get test variant with the same model and number of models""" if self.test_dependency is None: return None @@ -311,16 +311,17 @@ class GprMaxRegressionTest(RunOnlyRegressionTest): return hours * 3600 + minutes * 60 + seconds -class GprMaxAPIRegressionTest(GprMaxRegressionTest): +class GprMaxAPIRegressionTest(GprMaxBaseTest): executable = "time -p python" @run_after("setup", always_last=True) def configure_test_run(self): """Input files for API tests will be python files""" - super().configure_test_run(input_file_ext=".py") + # super().configure_test_run(input_file_ext=".py") + pass -class GprMaxBScanRegressionTest(GprMaxRegressionTest): +class GprMaxBScanRegressionTest(GprMaxBaseTest): num_models = parameter() @run_after("setup", always_last=True) @@ -339,7 +340,7 @@ class GprMaxBScanRegressionTest(GprMaxRegressionTest): class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest): - serial_dependency: type[GprMaxRegressionTest] + serial_dependency: type[GprMaxBaseTest] extra_executable_opts = ["-taskfarm"] sourcesdir = "src" # Necessary so test is not skipped (set later) @@ -376,9 +377,9 @@ class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest): self.snapshot_reference_files = target.snapshot_reference_files -class GprMaxMPIRegressionTest(GprMaxRegressionTest): +class GprMaxMPIRegressionTest(GprMaxBaseTest): # TODO: Make this a variable - serial_dependency: type[GprMaxRegressionTest] + serial_dependency: type[GprMaxBaseTest] mpi_layout = parameter() sourcesdir = "src" # Necessary so test is not skipped (set later) diff --git a/reframe_tests/tests/mixins.py b/reframe_tests/tests/mixins.py index 8b0fff66..0023596a 100644 --- a/reframe_tests/tests/mixins.py +++ b/reframe_tests/tests/mixins.py @@ -6,7 +6,7 @@ from reframe import RegressionMixin from reframe.core.builtins import parameter, required, run_after, variable from typing_extensions import TYPE_CHECKING -from reframe_tests.tests.base_tests import GprMaxRegressionTest +from reframe_tests.tests.base_tests import GprMaxBaseTest from reframe_tests.tests.regression_checks import ( ReceiverRegressionCheck, RegressionCheck, @@ -14,7 +14,7 @@ from reframe_tests.tests.regression_checks import ( ) if TYPE_CHECKING: - GprMaxMixin = GprMaxRegressionTest + GprMaxMixin = GprMaxBaseTest else: GprMaxMixin = RegressionMixin diff --git a/reframe_tests/tests/standard_tests.py b/reframe_tests/tests/standard_tests.py new file mode 100644 index 00000000..4c854a10 --- /dev/null +++ b/reframe_tests/tests/standard_tests.py @@ -0,0 +1,6 @@ +from reframe_tests.tests.base_tests import GprMaxBaseTest +from reframe_tests.tests.mixins import ReceiverMixin + + +class GprMaxRegressionTest(ReceiverMixin, GprMaxBaseTest): + pass diff --git a/reframe_tests/tests/test_example_models.py b/reframe_tests/tests/test_example_models.py index d3a236f6..3029ad48 100644 --- a/reframe_tests/tests/test_example_models.py +++ b/reframe_tests/tests/test_example_models.py @@ -1,15 +1,15 @@ import reframe as rfm from reframe.core.builtins import parameter -from reframe_tests.tests.base_tests import GprMaxBScanRegressionTest, GprMaxRegressionTest -from reframe_tests.tests.mixins import MpiMixin, ReceiverMixin +from reframe_tests.tests.mixins import BScanMixin +from reframe_tests.tests.standard_tests import GprMaxRegressionTest """Reframe regression tests for example models in gprMax documentation """ @rfm.simple_test -class TestAscan(ReceiverMixin, GprMaxRegressionTest): +class TestAscan(GprMaxRegressionTest): tags = { "test", "serial", @@ -26,7 +26,7 @@ class TestAscan(ReceiverMixin, GprMaxRegressionTest): @rfm.simple_test -class TestBscan(GprMaxBScanRegressionTest): +class TestBscan(BScanMixin, GprMaxRegressionTest): tags = { "test", "serial",