Bolt: Add E4S testsuite stand alone test (#24846)
This commit is contained in:
parent
2db3459e6b
commit
dfc0aa86ee
@ -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 @@ def cmake_args(self):
|
||||
]
|
||||
|
||||
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()
|
||||
|
Loading…
Reference in New Issue
Block a user