diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 91e6b74dbda3b7314ff0c38a3141f7d467cfd593..75a708de9c37bfcdd4bdc0de5205906c1706901b 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -1733,6 +1733,16 @@ def build(self, spec, prefix): def install(self, spec, prefix): inspect.getmodule(self).make('install') + @PackageBase.sanity_check('build') + @PackageBase.on_package_attributes(run_tests=True) + def _run_default_function(self): + try: + fn = getattr(self, 'check') + tty.msg('Trying default sanity checks [check]') + fn() + except AttributeError: + tty.msg('Skipping default sanity checks [method `check` not implemented]') # NOQA: ignore=E501 + # This will be used as a registration decorator in user # packages, if need be PackageBase.sanity_check('install')(PackageBase.sanity_check_prefix) @@ -1792,6 +1802,16 @@ def install(self, spec, prefix): with working_dir(self.wdir()): inspect.getmodule(self).make('install') + @PackageBase.sanity_check('build') + @PackageBase.on_package_attributes(run_tests=True) + def _run_default_function(self): + try: + fn = getattr(self, 'check') + tty.msg('Trying default sanity checks [check]') + fn() + except AttributeError: + tty.msg('Skipping default sanity checks [method `check` not implemented]') # NOQA: ignore=E501 + PackageBase.sanity_check('install')(PackageBase.sanity_check_prefix) diff --git a/var/spack/repos/builtin/packages/autoconf/package.py b/var/spack/repos/builtin/packages/autoconf/package.py index 5eb7f3347b797019cd5c2b4bbe203cdc078adafd..b6aba8c03f61dfe0b6a431680edde523565edbac 100644 --- a/var/spack/repos/builtin/packages/autoconf/package.py +++ b/var/spack/repos/builtin/packages/autoconf/package.py @@ -25,10 +25,8 @@ from spack import * -class Autoconf(Package): - """ - Autoconf -- system configuration part of autotools - """ +class Autoconf(AutotoolsPackage): + """Autoconf -- system configuration part of autotools""" homepage = 'https://www.gnu.org/software/autoconf/' url = 'http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz' @@ -54,8 +52,3 @@ def setup_dependent_package(self, module, dependent_spec): 'ifnames'] for name in executables: setattr(module, name, self._make_executable(name)) - - def install(self, spec, prefix): - configure("--prefix=%s" % prefix) - make() - make("install") diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index 6b18aa4ab8de0aba4501d8040e2e8a343bd6586d..c92ed284bbab4b56dd0d8ac12aad96a490e1c7e6 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -143,9 +143,7 @@ def configure_args(self): return ["--with-zlib=%s" % spec['zlib'].prefix] + extra_args - @AutotoolsPackage.sanity_check('install') - @AutotoolsPackage.on_package_attributes(run_tests=True) - def check_install(self): + def check(self): "Build and run a small program to test the installed HDF5 library" spec = self.spec print("Checking HDF5 installation...") diff --git a/var/spack/repos/builtin/packages/lzo/package.py b/var/spack/repos/builtin/packages/lzo/package.py index dc8f316a72123246b6d63593ed655310d2da455b..05229b6a621662084ed75c8aad53a233ccabce5b 100644 --- a/var/spack/repos/builtin/packages/lzo/package.py +++ b/var/spack/repos/builtin/packages/lzo/package.py @@ -43,8 +43,6 @@ def configure_args(self): '--enable-shared' ] - @AutotoolsPackage.sanity_check('build') - @AutotoolsPackage.on_package_attributes(run_tests=True) def check(self): make('check') make('test') diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py index e221bf15527b8dccb225de60bd96ed8deecd524a..3816b377eb3d1f759b2736c7de666191b0fdd998 100644 --- a/var/spack/repos/builtin/packages/qhull/package.py +++ b/var/spack/repos/builtin/packages/qhull/package.py @@ -45,7 +45,5 @@ class Qhull(CMakePackage): depends_on('cmake@2.6:', type='build') - @CMakePackage.sanity_check('build') - @CMakePackage.on_package_attributes(run_tests=True) def check(self): make('test')