summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Ciesko <jan.ciesko@gmail.com>2021-03-22 12:51:59 -0600
committerGitHub <noreply@github.com>2021-03-22 12:51:59 -0600
commit364b359c6830e6b46b822c4a716cac284fada363 (patch)
tree94d9fb10a094796baaeb3b51e998ddea2684b32c
parent623edc6674ed9400a65b9d5ecb7faa76910fcd17 (diff)
downloadspack-364b359c6830e6b46b822c4a716cac284fada363.tar.gz
spack-364b359c6830e6b46b822c4a716cac284fada363.tar.bz2
spack-364b359c6830e6b46b822c4a716cac284fada363.tar.xz
spack-364b359c6830e6b46b822c4a716cac284fada363.zip
Add Kokkos smoke test support (#22071)
Co-authored-by: Jan Ciesko (-EXP) <jciesko@sandia.gov> Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
-rw-r--r--var/spack/repos/builtin/packages/kokkos/package.py55
1 files changed, 52 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py
index 189d6c50d1..c611bb4807 100644
--- a/var/spack/repos/builtin/packages/kokkos/package.py
+++ b/var/spack/repos/builtin/packages/kokkos/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+import os.path
class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
@@ -11,12 +12,15 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/kokkos/kokkos"
git = "https://github.com/kokkos/kokkos.git"
- url = "https://github.com/kokkos/kokkos/archive/3.1.01.tar.gz"
+ url = "https://github.com/kokkos/kokkos/archive/3.3.01.tar.gz"
- maintainers = ['jjwilke']
+ test_requires_compiler = True
+
+ maintainers = ['jjwilke', 'jciesko']
- version('develop', branch='develop')
version('master', branch='master')
+ version('develop', branch='develop')
+ version('3.3.01', sha256='4919b00bb7b6eb80f6c335a32f98ebe262229d82e72d3bae6dd91aaf3d234c37')
version('3.2.00', sha256='05e1b4dd1ef383ca56fe577913e1ff31614764e65de6d6f2a163b2bddb60b3e9')
version('3.1.01', sha256='ff5024ebe8570887d00246e2793667e0d796b08c77a8227fe271127d36eec9dd')
version('3.1.00', sha256="b935c9b780e7330bcb80809992caa2b66fd387e3a1c261c955d622dae857d878")
@@ -284,3 +288,48 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
options.append('-DBUILD_SHARED_LIBS=%s' % ('+shared' in self.spec))
return options
+
+ test_script_relative_path = "scripts/spack_test"
+
+ @run_after('install')
+ def setup_build_tests(self):
+ # Skip if unsupported version
+ cmake_source_path = join_path(self.stage.source_path,
+ self.test_script_relative_path)
+ if not os.path.exists(cmake_source_path):
+ return
+ """Copy test."""
+ cmake_out_path = join_path(self.test_script_relative_path, 'out')
+ cmake_args = [cmake_source_path,
+ "-DSPACK_PACKAGE_SOURCE_DIR:PATH={0}".
+ format(self.stage.source_path),
+ "-DSPACK_PACKAGE_TEST_ROOT_DIR:PATH={0}".
+ format(join_path(self.install_test_root, cmake_out_path)),
+ "-DSPACK_PACKAGE_INSTALL_DIR:PATH={0}".format(self.prefix)]
+ cmake(*cmake_args)
+ self.cache_extra_test_sources(cmake_out_path)
+
+ def build_tests(self):
+ """Build test."""
+ cmake_path = join_path(self.install_test_root,
+ self.test_script_relative_path, 'out')
+ cmake_args = [cmake_path, '-DEXECUTABLE_OUTPUT_PATH=' + cmake_path]
+ cmake(*cmake_args)
+ make()
+
+ def run_tests(self):
+ """Run test."""
+ reason = 'Checking ability to execute.'
+ run_path = join_path(self.install_test_root,
+ self.test_script_relative_path, 'out')
+ self.run_test('make', [run_path, 'test'], [], installed=False, purpose=reason)
+
+ def test(self):
+ # Skip if unsupported version
+ cmake_path = join_path(self.install_test_root,
+ self.test_script_relative_path, 'out')
+ if not os.path.exists(cmake_path):
+ print('Skipping smoke tests: {0} is missing'.format(cmake_path))
+ return
+ self.build_tests()
+ self.run_tests()