From b7dff4bab5b28f7b42b9ee4ffef231a70f5e1538 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 18:45:15 +0200 Subject: [PATCH] run multi_area_model as stand-alone test --- packages/wf-multi-area-model/package.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/wf-multi-area-model/package.py b/packages/wf-multi-area-model/package.py index 01ffda36..3485e4a1 100644 --- a/packages/wf-multi-area-model/package.py +++ b/packages/wf-multi-area-model/package.py @@ -28,12 +28,26 @@ class WfMultiAreaModel(Package): depends_on("py-notebook", type="test") def install(self, spec, prefix): - # sanity_check_prefix requires something in the install directory - mkdirp(prefix + "/.spack_test_results") + install_tree(".", join_path(prefix, "notebooks")) + + def _run_notebooks(self, output_dir): + mkdirp(output_dir) + # execute notebook and save + jupyter = Executable("jupyter") + jupyter("nbconvert", + "--ExecutePreprocessor.kernel_name=python3", + "--execute", + "--allow-errors", + "--to", + "notebook", + join_path(self.prefix, "notebooks", "multi-area-model.ipynb"), + "--output", + join_path(output_dir, "multi-area-model.ipynb")) @run_after("install") @on_package_attributes(run_tests=True) def installcheck(self): - # execute notebook and save - jupyter = Executable("jupyter") - jupyter("nbconvert", "--ExecutePreprocessor.kernel_name=python3", "--execute", "--allow-errors", "--to", "notebook", "multi-area-model.ipynb", "--output", prefix+"/.spack_test_results/multi-area-model.ipynb") + self._run_notebooks(join_path(self.prefix, ".spack_test_results")) + + def test(self): + self._run_notebooks(join_path(self.test_suite.stage, self.spec.format("out-{name}-{version}-{hash:7}"))) -- GitLab