你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-08 07:24:19 +08:00
Create standard test class using receiver mixin
这个提交包含在:
@@ -96,7 +96,7 @@ class CreatePyenvTest(RunOnlyRegressionTest):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class GprMaxRegressionTest(RunOnlyRegressionTest):
|
class GprMaxBaseTest(RunOnlyRegressionTest):
|
||||||
valid_systems = ["archer2:compute"]
|
valid_systems = ["archer2:compute"]
|
||||||
valid_prog_environs = ["PrgEnv-gnu"]
|
valid_prog_environs = ["PrgEnv-gnu"]
|
||||||
modules = ["cray-python"]
|
modules = ["cray-python"]
|
||||||
@@ -112,7 +112,7 @@ class GprMaxRegressionTest(RunOnlyRegressionTest):
|
|||||||
|
|
||||||
test_dependency = variable(type(None), type, value=None)
|
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"""
|
"""Get test variant with the same model and number of models"""
|
||||||
if self.test_dependency is None:
|
if self.test_dependency is None:
|
||||||
return None
|
return None
|
||||||
@@ -311,16 +311,17 @@ class GprMaxRegressionTest(RunOnlyRegressionTest):
|
|||||||
return hours * 3600 + minutes * 60 + seconds
|
return hours * 3600 + minutes * 60 + seconds
|
||||||
|
|
||||||
|
|
||||||
class GprMaxAPIRegressionTest(GprMaxRegressionTest):
|
class GprMaxAPIRegressionTest(GprMaxBaseTest):
|
||||||
executable = "time -p python"
|
executable = "time -p python"
|
||||||
|
|
||||||
@run_after("setup", always_last=True)
|
@run_after("setup", always_last=True)
|
||||||
def configure_test_run(self):
|
def configure_test_run(self):
|
||||||
"""Input files for API tests will be python files"""
|
"""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()
|
num_models = parameter()
|
||||||
|
|
||||||
@run_after("setup", always_last=True)
|
@run_after("setup", always_last=True)
|
||||||
@@ -339,7 +340,7 @@ class GprMaxBScanRegressionTest(GprMaxRegressionTest):
|
|||||||
|
|
||||||
|
|
||||||
class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest):
|
class GprMaxTaskfarmRegressionTest(GprMaxBScanRegressionTest):
|
||||||
serial_dependency: type[GprMaxRegressionTest]
|
serial_dependency: type[GprMaxBaseTest]
|
||||||
extra_executable_opts = ["-taskfarm"]
|
extra_executable_opts = ["-taskfarm"]
|
||||||
sourcesdir = "src" # Necessary so test is not skipped (set later)
|
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
|
self.snapshot_reference_files = target.snapshot_reference_files
|
||||||
|
|
||||||
|
|
||||||
class GprMaxMPIRegressionTest(GprMaxRegressionTest):
|
class GprMaxMPIRegressionTest(GprMaxBaseTest):
|
||||||
# TODO: Make this a variable
|
# TODO: Make this a variable
|
||||||
serial_dependency: type[GprMaxRegressionTest]
|
serial_dependency: type[GprMaxBaseTest]
|
||||||
mpi_layout = parameter()
|
mpi_layout = parameter()
|
||||||
sourcesdir = "src" # Necessary so test is not skipped (set later)
|
sourcesdir = "src" # Necessary so test is not skipped (set later)
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ from reframe import RegressionMixin
|
|||||||
from reframe.core.builtins import parameter, required, run_after, variable
|
from reframe.core.builtins import parameter, required, run_after, variable
|
||||||
from typing_extensions import TYPE_CHECKING
|
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 (
|
from reframe_tests.tests.regression_checks import (
|
||||||
ReceiverRegressionCheck,
|
ReceiverRegressionCheck,
|
||||||
RegressionCheck,
|
RegressionCheck,
|
||||||
@@ -14,7 +14,7 @@ from reframe_tests.tests.regression_checks import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
GprMaxMixin = GprMaxRegressionTest
|
GprMaxMixin = GprMaxBaseTest
|
||||||
else:
|
else:
|
||||||
GprMaxMixin = RegressionMixin
|
GprMaxMixin = RegressionMixin
|
||||||
|
|
||||||
|
@@ -0,0 +1,6 @@
|
|||||||
|
from reframe_tests.tests.base_tests import GprMaxBaseTest
|
||||||
|
from reframe_tests.tests.mixins import ReceiverMixin
|
||||||
|
|
||||||
|
|
||||||
|
class GprMaxRegressionTest(ReceiverMixin, GprMaxBaseTest):
|
||||||
|
pass
|
@@ -1,15 +1,15 @@
|
|||||||
import reframe as rfm
|
import reframe as rfm
|
||||||
from reframe.core.builtins import parameter
|
from reframe.core.builtins import parameter
|
||||||
|
|
||||||
from reframe_tests.tests.base_tests import GprMaxBScanRegressionTest, GprMaxRegressionTest
|
from reframe_tests.tests.mixins import BScanMixin
|
||||||
from reframe_tests.tests.mixins import MpiMixin, ReceiverMixin
|
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
|
||||||
|
|
||||||
"""Reframe regression tests for example models in gprMax documentation
|
"""Reframe regression tests for example models in gprMax documentation
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
@rfm.simple_test
|
@rfm.simple_test
|
||||||
class TestAscan(ReceiverMixin, GprMaxRegressionTest):
|
class TestAscan(GprMaxRegressionTest):
|
||||||
tags = {
|
tags = {
|
||||||
"test",
|
"test",
|
||||||
"serial",
|
"serial",
|
||||||
@@ -26,7 +26,7 @@ class TestAscan(ReceiverMixin, GprMaxRegressionTest):
|
|||||||
|
|
||||||
|
|
||||||
@rfm.simple_test
|
@rfm.simple_test
|
||||||
class TestBscan(GprMaxBScanRegressionTest):
|
class TestBscan(BScanMixin, GprMaxRegressionTest):
|
||||||
tags = {
|
tags = {
|
||||||
"test",
|
"test",
|
||||||
"serial",
|
"serial",
|
||||||
|
在新工单中引用
屏蔽一个用户