tests/sip: convert to new stand-alone test process (#35693)

This commit is contained in:
Tamara Dahlgren 2023-05-29 01:16:35 -07:00 committed by GitHub
parent 7e13a7dccb
commit 3a5864bcdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,6 +10,7 @@
from llnl.util.filesystem import find, join_path, working_dir from llnl.util.filesystem import find, join_path, working_dir
import spack.builder import spack.builder
import spack.install_test
import spack.package_base import spack.package_base
from spack.directives import build_system, depends_on, extends from spack.directives import build_system, depends_on, extends
from spack.multimethod import when from spack.multimethod import when
@ -30,8 +31,8 @@ class SIPPackage(spack.package_base.PackageBase):
#: Name of private sip module to install alongside package #: Name of private sip module to install alongside package
sip_module = "sip" sip_module = "sip"
#: Callback names for install-time test #: Callback names for install-time testing
install_time_test_callbacks = ["test"] install_time_test_callbacks = ["test_imports"]
#: Legacy buildsystem attribute used to deserialize and install old specs #: Legacy buildsystem attribute used to deserialize and install old specs
legacy_buildsystem = "sip" legacy_buildsystem = "sip"
@ -87,18 +88,20 @@ def python(self, *args, **kwargs):
"""The python ``Executable``.""" """The python ``Executable``."""
inspect.getmodule(self).python(*args, **kwargs) inspect.getmodule(self).python(*args, **kwargs)
def test(self): def test_imports(self):
"""Attempts to import modules of the installed package.""" """Attempts to import modules of the installed package."""
# Make sure we are importing the installed modules, # Make sure we are importing the installed modules,
# not the ones in the source directory # not the ones in the source directory
python = inspect.getmodule(self).python
for module in self.import_modules: for module in self.import_modules:
self.run_test( with spack.install_test.test_part(
inspect.getmodule(self).python.path, self,
["-c", "import {0}".format(module)], "test_imports_{0}".format(module),
purpose="checking import of {0}".format(module), purpose="checking import of {0}".format(module),
work_dir="spack-test", work_dir="spack-test",
) ):
python("-c", "import {0}".format(module))
@spack.builder.builder("sip") @spack.builder.builder("sip")