你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 15:10:13 +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_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)
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
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",
|
||||
|
在新工单中引用
屏蔽一个用户