Move test input files into folders

Reduces the number of unnecessary files present in the test stage and
output directories.
这个提交包含在:
nmannall
2024-07-16 12:10:43 +01:00
父节点 ddf4a97e5b
当前提交 8af024b496
共有 30 个文件被更改,包括 33 次插入9 次删除

查看文件

@@ -89,7 +89,7 @@ class GprMaxRegressionTest(rfm.RunOnlyRegressionTest):
model = parameter()
is_antenna_model = variable(bool, value=False)
# sourcesdir = required
sourcesdir = required
extra_executable_opts = variable(typ.List[str], value=[])
executable = "time -p python -m gprMax --log-level 10 --hide-progress-bars"
@@ -296,6 +296,7 @@ class GprMaxBScanRegressionTest(GprMaxRegressionTest):
class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest):
serial_dependency: type[GprMaxRegressionTest]
extra_executable_opts = ["-taskfarm"]
sourcesdir = "src"
num_tasks = required
@@ -311,6 +312,11 @@ class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest):
self.depends_on(self._get_variant(), udeps.by_env)
super().inject_dependencies()
@run_after("init")
def setup_source_directory(self):
"""Set the source directory to the same as the serial test"""
self.sourcesdir = str(self.serial_dependency.sourcesdir)
@run_before("run")
def setup_reference_file(self):
"""Add prerun command to load the built Python environment"""
@@ -322,11 +328,12 @@ class GprMaxMPIRegressionTest(GprMaxRegressionTest):
# TODO: Make this a variable
serial_dependency: type[GprMaxRegressionTest]
mpi_layout = parameter()
sourcesdir = "src"
@run_after("setup", always_last=True)
def configure_test_run(self):
self.num_tasks = int(product(self.mpi_layout))
self.extra_executable_opts = ["-mpi", " ".join([str(i) for i in self.mpi_layout])]
self.extra_executable_opts = ["-mpi", *map(str, self.mpi_layout)]
super().configure_test_run()
def _get_variant(self) -> str:
@@ -335,12 +342,20 @@ class GprMaxMPIRegressionTest(GprMaxRegressionTest):
@run_after("init")
def inject_dependencies(self):
"""Test depends on the Python virtual environment building correctly"""
"""Test depends on the specified serial test"""
self.depends_on(self._get_variant(), udeps.by_env)
super().inject_dependencies()
@run_after("init")
def setup_source_directory(self):
"""Set the source directory to the same as the serial test"""
self.sourcesdir = str(self.serial_dependency.sourcesdir)
@run_before("run")
def setup_reference_file(self):
"""Add prerun command to load the built Python environment"""
"""
Set the reference file regression check to the output of the
serial test
"""
target = self.getdep(self._get_variant())
self.reference_file = os.path.join(target.stagedir, str(self.output_file))

查看文件

@@ -29,6 +29,7 @@ class TestAscan(GprMaxRegressionTest):
"box",
"cylinder",
}
sourcesdir = "src/example_models"
model = parameter(["cylinder_Ascan_2D"])
@@ -45,6 +46,7 @@ class TestBscan(GprMaxBScanRegressionTest):
"box",
"cylinder",
}
sourcesdir = "src/bscan_tests"
model = parameter(["cylinder_Bscan_2D"])
num_models = parameter([64])
@@ -92,48 +94,56 @@ class TestMultiNodeTaskfarm(GprMaxTaskfarmRegressionTest):
@rfm.simple_test
class Test2DModelXY(GprMaxRegressionTest):
tags = {"test", "serial", "2d", "waveform", "hertzian_dipole"}
sourcesdir = "src/2d_tests"
model = parameter(["2D_EzHxHy"])
@rfm.simple_test
class Test2DModelXZ(GprMaxRegressionTest):
tags = {"test", "serial", "2d", "waveform", "hertzian_dipole"}
sourcesdir = "src/2d_tests"
model = parameter(["2D_EyHxHz"])
@rfm.simple_test
class Test2DModelYZ(GprMaxRegressionTest):
tags = {"test", "serial", "2d", "waveform", "hertzian_dipole"}
sourcesdir = "src/2d_tests"
model = parameter(["2D_ExHyHz"])
@rfm.simple_test
class TestHertzianDipoleSource(GprMaxRegressionTest):
tags = {"test", "serial", "hertzian_dipole", "waveform"}
sourcesdir = "src/source_tests"
model = parameter(["hertzian_dipole_fs"])
@rfm.simple_test
class TestMagneticDipoleSource(GprMaxRegressionTest):
tags = {"test", "serial", "magnetic_dipole", "waveform"}
sourcesdir = "src/source_tests"
model = parameter(["magnetic_dipole_fs"])
@rfm.simple_test
class TestDispersiveMaterials(GprMaxRegressionTest):
tags = {"test", "serial", "hertzian_dipole", "waveform", "material", "dispersive", "box"}
sourcesdir = "src/material_tests"
model = parameter(["hertzian_dipole_dispersive"])
@rfm.simple_test
class TestTransmissionLineSource(GprMaxRegressionTest):
tags = {"test", "serial", "transmission_line", "waveform"}
sourcesdir = "src/source_tests"
model = parameter(["transmission_line_fs"])
@rfm.simple_test
class TestEdgeGeometry(GprMaxRegressionTest):
tags = {"test", "serial", "geometry", "edge", "transmission_line", "waveform", "antenna"}
sourcesdir = "src/geomtry_tests/edge_geometry"
model = parameter(["antenna_wire_dipole_fs"])
is_antenna_model = True
@@ -151,6 +161,7 @@ class TestSubgrids(GprMaxAPIRegressionTest):
"dispersive",
"cylinder",
}
sourcesdir = "src/subgrid_tests"
model = parameter(["cylinder_fs"])
@@ -167,6 +178,7 @@ class TestSubgridsWithAntennaModel(GprMaxAPIRegressionTest):
"fractal_box",
"add_surface_roughness",
}
sourcesdir = "src/subgrid_tests"
model = parameter(["gssi_400_over_fractal_subsurface"])
is_antenna_model = True
@@ -243,7 +255,7 @@ class TestEdgeGeometryMpi(GprMaxMPIRegressionTest):
@rfm.simple_test
class TestBoxGeometryNoPml(GprMaxRegressionTest):
tags = {"test", "serial", "geometery", "box"}
sourcesdir = "src/box_geometry_tests"
sourcesdir = "src/geometry_tests/box_geometry"
model = parameter(["box_full_model", "box_half_model", "box_single_rank"])
@run_before("run")
@@ -254,7 +266,7 @@ class TestBoxGeometryNoPml(GprMaxRegressionTest):
@rfm.simple_test
class TestBoxGeometryDefaultPml(GprMaxRegressionTest):
tags = {"test", "serial", "geometery", "box"}
sourcesdir = "src/box_geometry_tests"
sourcesdir = "src/geometry_tests/box_geometry"
model = parameter(
[
"box_full_model",
@@ -272,7 +284,6 @@ class TestBoxGeometryNoPmlMpi(GprMaxMPIRegressionTest):
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
serial_dependency = TestBoxGeometryNoPml
model = serial_dependency.model
sourcesdir = "src/box_geometry_tests"
@run_before("run")
def add_gprmax_commands(self):
@@ -285,7 +296,6 @@ class TestBoxGeometryDefaultPmlMpi(GprMaxMPIRegressionTest):
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
serial_dependency = TestBoxGeometryDefaultPml
model = serial_dependency.model
sourcesdir = "src/box_geometry_tests"
@rfm.simple_test
@@ -299,7 +309,6 @@ class TestSingleCellPml(GprMaxRegressionTest):
@rfm.simple_test
class TestSingleCellPmlMpi(GprMaxMPIRegressionTest):
tags = {"test", "mpi", "geometery", "box", "pml"}
sourcesdir = "src/pml_tests"
mpi_layout = parameter([[2, 2, 1], [3, 3, 1]])
serial_dependency = TestSingleCellPml
model = serial_dependency.model