summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/bolt
diff options
context:
space:
mode:
authorRicharda Butler <39577672+RikkiButler20@users.noreply.github.com>2021-07-21 12:40:14 -0700
committerGitHub <noreply@github.com>2021-07-21 19:40:14 +0000
commitdfc0aa86eead19aaaf54a57c4cb8f2e18c338454 (patch)
tree1b3179a4696ccd4b1507888f8754c8f74eafc8d9 /var/spack/repos/builtin/packages/bolt
parent2db3459e6b041ab46dbc7bb1fa8666839a76fb30 (diff)
downloadspack-dfc0aa86eead19aaaf54a57c4cb8f2e18c338454.tar.gz
spack-dfc0aa86eead19aaaf54a57c4cb8f2e18c338454.tar.bz2
spack-dfc0aa86eead19aaaf54a57c4cb8f2e18c338454.tar.xz
spack-dfc0aa86eead19aaaf54a57c4cb8f2e18c338454.zip
Bolt: Add E4S testsuite stand alone test (#24846)
Diffstat (limited to 'var/spack/repos/builtin/packages/bolt')
-rw-r--r--var/spack/repos/builtin/packages/bolt/package.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/bolt/package.py b/var/spack/repos/builtin/packages/bolt/package.py
index c3f7870f3f..3b7b775ca3 100644
--- a/var/spack/repos/builtin/packages/bolt/package.py
+++ b/var/spack/repos/builtin/packages/bolt/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
+
from spack import *
@@ -27,6 +29,8 @@ class Bolt(CMakePackage):
version("1.0.1", sha256="769e30dfc4042cee7ebbdadd23cf08796c03bcd8b335f516dc8cbc3f8adfa597")
version("1.0", sha256="1c0d2f75597485ca36335d313a73736594e75c8a36123c5a6f54d01b5ba5c384")
+ test_requires_compiler = True
+
depends_on('argobots')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
@@ -40,3 +44,37 @@ class Bolt(CMakePackage):
]
return options
+
+ @run_after('install')
+ def cache_test_sources(self):
+ """Copy the example source files after the package is installed to an
+ install test subdirectory for use during `spack test run`."""
+ self.cache_extra_test_sources(['examples'])
+
+ def run_sample_nested_example(self):
+ """Run stand alone test: sample_nested"""
+
+ test_dir = join_path(self.test_suite.current_test_cache_dir, 'examples')
+
+ if not os.path.exists(test_dir):
+ print('Skipping bolt test')
+ return
+
+ exe = 'sample_nested'
+
+ # TODO: Either change to use self.compiler.cc (so using the build-time compiler)
+ # or add test parts that compile with the different supported compilers.
+ self.run_test('gcc',
+ options=['-lomp', '-o', exe,
+ '-L{0}'.format(join_path(self.prefix, 'lib')),
+ '{0}'.format(join_path(test_dir, 'sample_nested.c'))],
+ purpose='test: compile {0} example'.format(exe),
+ work_dir=test_dir)
+
+ self.run_test(exe,
+ purpose='test: run {0} example'.format(exe),
+ work_dir=test_dir)
+
+ def test(self):
+ print("Running bolt test")
+ self.run_sample_nested_example()