Bolt: Add E4S testsuite stand alone test (#24846)

This commit is contained in:
Richarda Butler 2021-07-21 12:40:14 -07:00 committed by GitHub
parent 2db3459e6b
commit dfc0aa86ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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()