示例#1
0
def test_packages_needed_to_bootstrap_compiler_none(install_mockery):
    spec = spack.spec.Spec('trivial-install-test-package')
    spec.concretize()
    assert spec.concrete

    packages = inst._packages_needed_to_bootstrap_compiler(spec.package)
    assert not packages
示例#2
0
文件: installer.py 项目: vitodb/spack
def test_packages_needed_to_bootstrap_compiler(install_mockery, monkeypatch):
    """Test to cover most of _packages_needed_to_boostrap_compiler."""

    # TODO: More work is needed to go beyond the dependency check
    def _no_compilers(pkg, arch_spec):
        return []

    # Test path where no compiler packages returned
    spec = spack.spec.Spec('trivial-install-test-package')
    spec.concretize()
    assert spec.concrete
    packages = inst._packages_needed_to_bootstrap_compiler(spec.package)
    assert not packages

    # Test up to the dependency check
    monkeypatch.setattr(spack.compilers, 'compilers_for_spec', _no_compilers)
    with pytest.raises(spack.repo.UnknownPackageError, matches='not found'):
        inst._packages_needed_to_bootstrap_compiler(spec.package)
示例#3
0
def test_packages_needed_to_bootstrap_compiler_packages(
        install_mockery, monkeypatch):
    spec = spack.spec.Spec('trivial-install-test-package')
    spec.concretize()

    def _conc_spec(compiler):
        return spack.spec.Spec('a').concretized()

    # Ensure we can get past functions that are precluding obtaining
    # packages.
    monkeypatch.setattr(spack.compilers, 'compilers_for_spec', _none)
    monkeypatch.setattr(spack.compilers, 'pkg_spec_for_compiler', _conc_spec)
    monkeypatch.setattr(spack.spec.Spec, 'concretize', _noop)

    packages = inst._packages_needed_to_bootstrap_compiler(spec.package)
    assert packages