diff options
author | Vicente Bolea <vicente.bolea@kitware.com> | 2024-08-19 12:04:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-19 11:04:09 -0500 |
commit | d49f3a0960fd34b3cdbeff8225731231bc7103e6 (patch) | |
tree | cdf4725c1237a4a57e82df85f0050ba71dd566fb | |
parent | 15413c725863209f6f2d00d3186d6eb11dc2cfec (diff) | |
download | spack-d49f3a0960fd34b3cdbeff8225731231bc7103e6.tar.gz spack-d49f3a0960fd34b3cdbeff8225731231bc7103e6.tar.bz2 spack-d49f3a0960fd34b3cdbeff8225731231bc7103e6.tar.xz spack-d49f3a0960fd34b3cdbeff8225731231bc7103e6.zip |
diy: add smoke test (#45749)
Installing examples for running smoke tests for the DIY project.
-rw-r--r-- | var/spack/repos/builtin/packages/diy/package.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/diy/package.py b/var/spack/repos/builtin/packages/diy/package.py index 7b2311d37c..3c8b272c73 100644 --- a/var/spack/repos/builtin/packages/diy/package.py +++ b/var/spack/repos/builtin/packages/diy/package.py @@ -10,6 +10,8 @@ class Diy(CMakePackage): """Data-parallel out-of-core library""" homepage = "https://github.com/diatomic/diy" + maintainers("vicentebolea") + url = "https://github.com/diatomic/diy/archive/3.6.0.tar.gz" git = "https://github.com/diatomic/diy.git" @@ -23,10 +25,42 @@ class Diy(CMakePackage): depends_on("mpi") + # https://gitlab.kitware.com/diatomic/diy/-/merge_requests/82 + patch( + "https://gitlab.kitware.com/diatomic/diy/-/commit/1d85dd5205b9f0035840e1840a49ea7028618d16.diff", + sha256="047bed205c905064923d7ecf1d03e38c07f3ae0baa0f4afe1b234f68315472d3", + when="@3.6:", + ) + def cmake_args(self): args = [ "-Dbuild_examples=off", "-Dbuild_tests=off", + "-Dinstall_examples=on", "-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx, ] return args + + def test_smoke_test(self): + """Build and run ctests""" + spec = self.spec + + if spec.satisfies("@:3.5"): + raise SkipTest("Smoke test requires DIY>=3.6") + + with working_dir("smoke_test_build", create=True): + cmake = Executable(spec["cmake"].prefix.bin.cmake) + ctest = Executable(spec["cmake"].prefix.bin.ctest) + + cmake( + spec["diy"].prefix.share.DIY.examples.smoke_test, + f"-DMPI_HOME={spec['mpi'].prefix}", + f"-DCMAKE_PREFIX_PATH={spec['diy'].prefix}", + ) + cmake("--build", ".") + ctest("--verbose") + + @run_after("install") + @on_package_attributes(run_tests=True) + def build_test(self): + self.test_smoke_test() |