From af4d555c2030fa57fc2a0e00d9b558b3633b990e Mon Sep 17 00:00:00 2001 From: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> Date: Fri, 11 Feb 2022 15:02:40 -0800 Subject: Update/caliper stand alone test compiler (#28526) --- .../repos/builtin/packages/caliper/package.py | 38 +++++++++++++--------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py index 30eb7f70b3..a41b1b685b 100644 --- a/var/spack/repos/builtin/packages/caliper/package.py +++ b/var/spack/repos/builtin/packages/caliper/package.py @@ -154,30 +154,36 @@ class Caliper(CMakePackage, CudaPackage): def run_cxx_example_test(self): """Run stand alone test: cxx_example""" - test_dir = join_path(self.test_suite.current_test_cache_dir, 'examples', 'apps') + test_dir = self.test_suite.current_test_cache_dir.examples.apps + exe = 'cxx-example' + source_file = 'cxx-example.cpp' - if not os.path.isfile(join_path(test_dir, 'cxx-example.cpp')): - tty.msg('Skipping caliper test: file does not exist') + if not os.path.isfile(join_path(test_dir, source_file)): + tty.warn('Skipping caliper test:' + '{0} does not exist'.format(source_file)) return - exe = 'cxx-example' - if os.path.exists(self.prefix.lib): lib_dir = self.prefix.lib else: lib_dir = self.prefix.lib64 - self.run_test(exe='gcc', - options=['{0}'.format(join_path(test_dir, 'cxx-example.cpp')), - '-L{0}'.format(lib_dir), - '-I{0}'.format(self.prefix.include), - '-std=c++11', '-lcaliper', '-lstdc++', '-o', exe], - 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) + options = ['-L{0}'.format(lib_dir), + '-I{0}'.format(self.prefix.include), + '{0}'.format(join_path(test_dir, source_file)), + '-o', exe, '-std=c++11', '-lcaliper', '-lstdc++'] + + if not self.run_test(exe=os.environ['CXX'], + options=options, + purpose='test: compile {0} example'.format(exe), + work_dir=test_dir): + tty.warn('Skipping caliper test: failed to compile example') + return + + if not self.run_test(exe, + purpose='test: run {0} example'.format(exe), + work_dir=test_dir): + tty.warn('Skipping caliper test: failed to run example') def test(self): self.run_cxx_example_test() -- cgit v1.2.3-60-g2f50