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
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)
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