Refactor existing tests to use new mixin classes

这个提交包含在:
nmannall
2024-11-25 15:16:15 +00:00
父节点 cb04fe9109
当前提交 b6db6d9700
共有 9 个文件被更改,包括 59 次插入77 次删除

查看文件

@@ -1,6 +1,10 @@
from reframe_tests.tests.base_tests import GprMaxBaseTest
from reframe_tests.tests.mixins import ReceiverMixin
from reframe_tests.tests.mixins import ReceiverMixin, SnapshotMixin
class GprMaxRegressionTest(ReceiverMixin, GprMaxBaseTest):
pass
class GprMaxSnapshotTest(SnapshotMixin, GprMaxBaseTest):
pass

查看文件

@@ -1,7 +1,8 @@
import reframe as rfm
from reframe.core.builtins import parameter
from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest
from reframe_tests.tests.mixins import MpiMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
"""Reframe regression tests for 2D models (TMx, TMy, and TMz)
"""
@@ -33,24 +34,21 @@ class Test2DModelYZ(GprMaxRegressionTest):
@rfm.simple_test
class Test2DModelXYMpi(GprMaxMPIRegressionTest):
class Test2DModelXYMpi(MpiMixin, Test2DModelXY):
tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"}
mpi_layout = parameter([[4, 4, 1]])
serial_dependency = Test2DModelXY
model = serial_dependency.model
test_dependency = "Test2DModelXY"
@rfm.simple_test
class Test2DModelXZMpi(GprMaxMPIRegressionTest):
class Test2DModelXZMpi(MpiMixin, Test2DModelXZ):
tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"}
mpi_layout = parameter([[4, 1, 4]])
serial_dependency = Test2DModelXZ
model = serial_dependency.model
test_dependency = "Test2DModelXZ"
@rfm.simple_test
class Test2DModelYZMpi(GprMaxMPIRegressionTest):
class Test2DModelYZMpi(MpiMixin, Test2DModelYZ):
tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole"}
mpi_layout = parameter([[1, 4, 4]])
serial_dependency = Test2DModelYZ
model = serial_dependency.model
test_dependency = "Test2DModelYZ"

查看文件

@@ -1,7 +1,8 @@
import reframe as rfm
from reframe.core.builtins import parameter, run_before
from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest
from reframe_tests.tests.mixins import AntennaModelMixin, MpiMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
"""Reframe regression tests for models defining geometry
"""
@@ -34,11 +35,10 @@ class TestBoxGeometryNoPml(GprMaxRegressionTest):
@rfm.simple_test
class TestEdgeGeometry(GprMaxRegressionTest):
class TestEdgeGeometry(AntennaModelMixin, GprMaxRegressionTest):
tags = {"test", "serial", "geometry", "edge", "transmission_line", "waveform", "antenna"}
sourcesdir = "src/geometry_tests/edge_geometry"
model = parameter(["antenna_wire_dipole_fs"])
is_antenna_model = True
"""Test MPI Functionality
@@ -46,29 +46,21 @@ class TestEdgeGeometry(GprMaxRegressionTest):
@rfm.simple_test
class TestBoxGeometryDefaultPmlMpi(GprMaxMPIRegressionTest):
class TestBoxGeometryDefaultPmlMpi(MpiMixin, TestBoxGeometryDefaultPml):
tags = {"test", "mpi", "geometery", "box"}
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
serial_dependency = TestBoxGeometryDefaultPml
model = serial_dependency.model
test_dependency = "TestBoxGeometryDefaultPml"
@rfm.simple_test
class TestBoxGeometryNoPmlMpi(GprMaxMPIRegressionTest):
class TestBoxGeometryNoPmlMpi(MpiMixin, TestBoxGeometryNoPml):
tags = {"test", "mpi", "geometery", "box"}
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
serial_dependency = TestBoxGeometryNoPml
model = serial_dependency.model
@run_before("run")
def add_gprmax_commands(self):
self.prerun_cmds.append(f"echo '#pml_cells: 0' >> {self.input_file}")
test_dependency = "TestBoxGeometryNoPml"
@rfm.simple_test
class TestEdgeGeometryMpi(GprMaxMPIRegressionTest):
class TestEdgeGeometryMpi(MpiMixin, TestEdgeGeometry):
tags = {"test", "mpi", "geometry", "edge", "transmission_line", "waveform", "antenna"}
mpi_layout = parameter([[3, 3, 3]])
serial_dependency = TestEdgeGeometry
model = serial_dependency.model
is_antenna_model = True
test_dependency = "TestEdgeGeometry"

查看文件

@@ -1,7 +1,8 @@
import reframe as rfm
from reframe.core.builtins import parameter
from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest
from reframe_tests.tests.mixins import MpiMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
"""Reframe regression tests for each gprMax source
"""
@@ -19,8 +20,7 @@ class TestDispersiveMaterials(GprMaxRegressionTest):
@rfm.simple_test
class TestDispersiveMaterialsMpi(GprMaxMPIRegressionTest):
class TestDispersiveMaterialsMpi(MpiMixin, TestDispersiveMaterials):
tags = {"test", "mpi", "hertzian_dipole", "waveform", "material", "dispersive", "box"}
mpi_layout = parameter([[3, 3, 3]])
serial_dependency = TestDispersiveMaterials
model = serial_dependency.model
test_dependency = "TestDispersiveMaterials"

查看文件

@@ -1,7 +1,8 @@
import reframe as rfm
from reframe.core.builtins import parameter
from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest
from reframe_tests.tests.mixins import MpiMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
"""Reframe regression tests for models defining geometry
"""
@@ -12,7 +13,6 @@ class TestSingleCellPml(GprMaxRegressionTest):
tags = {"test", "serial", "geometery", "box", "pml"}
sourcesdir = "src/pml_tests"
model = parameter(["single_cell_pml_2d"])
rx_outputs = ["Hx"]
"""Test MPI Functionality
@@ -20,9 +20,7 @@ class TestSingleCellPml(GprMaxRegressionTest):
@rfm.simple_test
class TestSingleCellPmlMpi(GprMaxMPIRegressionTest):
class TestSingleCellPmlMpi(MpiMixin, TestSingleCellPml):
tags = {"test", "mpi", "geometery", "box", "pml"}
mpi_layout = parameter([[2, 2, 1], [3, 3, 1]])
serial_dependency = TestSingleCellPml
model = serial_dependency.model
rx_outputs = ["Hx"]
test_dependency = "TestSingleCellPml"

查看文件

@@ -1,33 +1,31 @@
import reframe as rfm
from reframe.core.builtins import parameter
from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest
from reframe_tests.tests.mixins import MpiMixin
from reframe_tests.tests.standard_tests import GprMaxSnapshotTest
@rfm.simple_test
class Test2DSnapshot(GprMaxRegressionTest):
class Test2DSnapshot(GprMaxSnapshotTest):
tags = {"test", "serial", "2d", "waveform", "hertzian_dipole", "snapshot"}
sourcesdir = "src/snapshot_tests"
model = parameter(["whole_domain_2d"])
has_receiver_output = False
snapshots = ["snapshot_0.h5", "snapshot_1.h5", "snapshot_2.h5", "snapshot_3.h5"]
@rfm.simple_test
class TestSnapshot(GprMaxRegressionTest):
class TestSnapshot(GprMaxSnapshotTest):
tags = {"test", "serial", "2d", "waveform", "hertzian_dipole", "snapshot"}
sourcesdir = "src/snapshot_tests"
model = parameter(["whole_domain"])
has_receiver_output = False
snapshots = ["snapshot_0.h5", "snapshot_1.h5", "snapshot_2.h5", "snapshot_3.h5"]
@rfm.simple_test
class Test2DSliceSnapshot(GprMaxRegressionTest):
class Test2DSliceSnapshot(GprMaxSnapshotTest):
tags = {"test", "serial", "2d", "waveform", "hertzian_dipole", "snapshot"}
sourcesdir = "src/snapshot_tests"
model = parameter(["2d_slices"])
has_receiver_output = False
snapshots = [
"snapshot_x_05.h5",
"snapshot_x_35.h5",
@@ -49,15 +47,14 @@ class Test2DSliceSnapshot(GprMaxRegressionTest):
@rfm.simple_test
class Test2DSnapshotMpi(GprMaxMPIRegressionTest):
class Test2DSnapshotMpi(MpiMixin, Test2DSnapshot):
tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"}
mpi_layout = parameter([[2, 2, 1], [3, 3, 1], [4, 4, 1]])
serial_dependency = Test2DSnapshot
model = serial_dependency.model
test_dependency = "Test2DSnapshot"
@rfm.simple_test
class TestSnapshotMpi(GprMaxMPIRegressionTest):
class TestSnapshotMpi(MpiMixin, TestSnapshot):
tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"}
mpi_layout = parameter(
[
@@ -72,12 +69,11 @@ class TestSnapshotMpi(GprMaxMPIRegressionTest):
[4, 4, 4],
]
)
serial_dependency = TestSnapshot
model = serial_dependency.model
test_dependency = "TestSnapshot"
@rfm.simple_test
class Test2DSliceSnapshotMpi(GprMaxMPIRegressionTest):
class Test2DSliceSnapshotMpi(MpiMixin, Test2DSliceSnapshot):
tags = {"test", "mpi", "2d", "waveform", "hertzian_dipole", "snapshot"}
mpi_layout = parameter(
[
@@ -92,5 +88,4 @@ class Test2DSliceSnapshotMpi(GprMaxMPIRegressionTest):
[4, 4, 4],
]
)
serial_dependency = Test2DSliceSnapshot
model = serial_dependency.model
test_dependency = "Test2DSliceSnapshot"

查看文件

@@ -1,7 +1,8 @@
import reframe as rfm
from reframe.core.builtins import parameter
from reframe_tests.tests.base_tests import GprMaxMPIRegressionTest, GprMaxRegressionTest
from reframe_tests.tests.mixins import MpiMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
"""Reframe regression tests for each gprMax source
"""
@@ -33,24 +34,21 @@ class TestTransmissionLineSource(GprMaxRegressionTest):
@rfm.simple_test
class TestHertzianDipoleSourceMpi(GprMaxMPIRegressionTest):
class TestHertzianDipoleSourceMpi(MpiMixin, TestHertzianDipoleSource):
tags = {"test", "mpi", "hertzian_dipole", "waveform"}
mpi_layout = parameter([[3, 3, 3]])
serial_dependency = TestHertzianDipoleSource
model = serial_dependency.model
test_dependency = "TestHertzianDipoleSource"
@rfm.simple_test
class TestMagneticDipoleSourceMpi(GprMaxMPIRegressionTest):
class TestMagneticDipoleSourceMpi(MpiMixin, TestMagneticDipoleSource):
tags = {"test", "mpi", "magnetic_dipole", "waveform"}
mpi_layout = parameter([[3, 3, 3]])
serial_dependency = TestMagneticDipoleSource
model = serial_dependency.model
test_dependency = "TestMagneticDipoleSource"
@rfm.simple_test
class TestTransmissionLineSourceMpi(GprMaxMPIRegressionTest):
class TestTransmissionLineSourceMpi(MpiMixin, TestTransmissionLineSource):
tags = {"test", "mpi", "transmission_line", "waveform"}
mpi_layout = parameter([[3, 3, 3]])
serial_dependency = TestTransmissionLineSource
model = serial_dependency.model
test_dependency = "TestTransmissionLineSource"

查看文件

@@ -1,14 +1,15 @@
import reframe as rfm
from reframe.core.builtins import parameter, run_after
from reframe_tests.tests.base_tests import GprMaxAPIRegressionTest
from reframe_tests.tests.mixins import AntennaModelMixin, PythonApiMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
"""Reframe regression tests for subgrids
"""
@rfm.simple_test
class TestSubgrids(GprMaxAPIRegressionTest):
class TestSubgrids(PythonApiMixin, GprMaxRegressionTest):
tags = {
"test",
"api",
@@ -25,7 +26,7 @@ class TestSubgrids(GprMaxAPIRegressionTest):
@rfm.simple_test
class TestSubgridsWithAntennaModel(GprMaxAPIRegressionTest):
class TestSubgridsWithAntennaModel(AntennaModelMixin, PythonApiMixin, GprMaxRegressionTest):
tags = {
"test",
"api",
@@ -39,7 +40,6 @@ class TestSubgridsWithAntennaModel(GprMaxAPIRegressionTest):
}
sourcesdir = "src/subgrid_tests"
model = parameter(["gssi_400_over_fractal_subsurface"])
is_antenna_model = True
@run_after("init")
def skip_test(self):

查看文件

@@ -1,6 +1,7 @@
import reframe as rfm
from reframe_tests.tests.base_tests import GprMaxTaskfarmRegressionTest
from reframe_tests.tests.mixins import TaskfarmMixin
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
from reframe_tests.tests.test_example_models import TestBscan
"""Reframe regression tests for taskfarm functionality
@@ -8,7 +9,7 @@ from reframe_tests.tests.test_example_models import TestBscan
@rfm.simple_test
class TestSingleNodeTaskfarm(GprMaxTaskfarmRegressionTest):
class TestSingleNodeTaskfarm(TaskfarmMixin, TestBscan):
tags = {
"test",
"mpi",
@@ -22,13 +23,11 @@ class TestSingleNodeTaskfarm(GprMaxTaskfarmRegressionTest):
}
num_tasks = 8
num_tasks_per_node = 8
serial_dependency = TestBscan
model = serial_dependency.model
num_models = serial_dependency.num_models
test_dependency = "TestBscan"
@rfm.simple_test
class TestMultiNodeTaskfarm(GprMaxTaskfarmRegressionTest):
class TestMultiNodeTaskfarm(TaskfarmMixin, TestBscan):
tags = {
"test",
"mpi",
@@ -42,6 +41,4 @@ class TestMultiNodeTaskfarm(GprMaxTaskfarmRegressionTest):
}
num_tasks = 32
num_tasks_per_node = 8
serial_dependency = TestBscan
model = serial_dependency.model
num_models = serial_dependency.num_models
test_dependency = "TestBscan"