Change test dependency to be a string

This allows it to be a reframe variable
这个提交包含在:
nmannall
2024-11-25 15:07:08 +00:00
父节点 e4358613df
当前提交 8b1688c1f8

查看文件

@@ -110,15 +110,14 @@ class GprMaxBaseTest(RunOnlyRegressionTest):
regression_checks = variable(typ.List[RegressionCheck], value=[]) regression_checks = variable(typ.List[RegressionCheck], value=[])
test_dependency = variable(type(None), type, value=None) test_dependency = variable(type(None), str, value=None)
def get_test_dependency(self) -> Optional["GprMaxBaseTest"]: 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
else: else:
variant = self.test_dependency.variant_name(self.test_dependency.param_variant) return self.getdep(self.test_dependency)
return self.getdep(variant)
def build_reference_filepath(self, name: Union[str, os.PathLike]) -> Path: def build_reference_filepath(self, name: Union[str, os.PathLike]) -> Path:
target = self.get_test_dependency() target = self.get_test_dependency()
@@ -149,8 +148,7 @@ class GprMaxBaseTest(RunOnlyRegressionTest):
"""Test depends on the Python virtual environment building correctly""" """Test depends on the Python virtual environment building correctly"""
self.depends_on("CreatePyenvTest", udeps.by_env) self.depends_on("CreatePyenvTest", udeps.by_env)
if self.test_dependency is not None: if self.test_dependency is not None:
variant = self.test_dependency.variant_name(self.test_dependency.param_variant) self.depends_on(self.test_dependency, udeps.by_env)
self.depends_on(variant, udeps.by_env)
@require_deps @require_deps
def get_pyenv_path(self, CreatePyenvTest): def get_pyenv_path(self, CreatePyenvTest):
@@ -259,10 +257,14 @@ class GprMaxBaseTest(RunOnlyRegressionTest):
error_messages = [] error_messages = []
for check in self.regression_checks: for check in self.regression_checks:
if not check.reference_file_exists(): if not check.reference_file_exists():
if check.create_reference_file(): if check.create_reference_file() and self.test_dependency is None:
error_messages.append( error_messages.append(
f"Reference file does not exist. Creating... '{check.reference_file}'" f"Reference file does not exist. Creating... '{check.reference_file}'"
) )
elif self.test_dependency is not None:
error_messages.append(
f"ERROR: Test dependency did not create reference file: '{check.reference_file}'"
)
else: else:
error_messages.append( error_messages.append(
f"ERROR: Unable to create reference file: '{check.reference_file}'" f"ERROR: Unable to create reference file: '{check.reference_file}'"