Smoke tests: cmake version checks (#17359)

* Smoke tests: cmake version checks

* Simplified cmake install checks: dict-to-list

Co-authored-by: Greg Becker <becker33@llnl.gov>
This commit is contained in:
Tamara Dahlgren
2020-07-21 18:49:51 -07:00
committed by Tamara Dahlgren
parent da62f89f4a
commit a7c109c3aa

View File

@@ -2,6 +2,8 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import llnl.util.tty as tty
import re
@@ -253,3 +255,23 @@ def install(self, spec, prefix):
filter_file('mpcc_r)', 'mpcc_r mpifcc)', f, string=True)
filter_file('mpc++_r)', 'mpc++_r mpiFCC)', f, string=True)
filter_file('mpifc)', 'mpifc mpifrt)', f, string=True)
def _test_check_versions(self):
"""Perform version checks on installed package binaries."""
spec_vers_str = 'version {0}'.format(self.spec.version)
for exe in ['ccmake', 'cmake', 'cpack', 'ctest']:
reason = 'test version of {0} is {1}'.format(exe, spec_vers_str)
self.run_test(exe, ['--version'], [spec_vers_str],
installed=True, purpose=reason, skip_missing=True)
def test(self):
"""Perform smoke tests on the installed package."""
tty.debug('Expected results currently based on simple cmake builds')
if not self.spec.satisfies('@3.8.2:3.17.3'):
tty.debug('Expected results have not been confirmed for {0} {1}'
.format(self.name, self.spec.version))
# Simple version check tests on known binaries
self._test_check_versions()