upgrade mock packages to api v2
This commit is contained in:
parent
56f40cc1c8
commit
e09325fe9f
@ -58,7 +58,7 @@
|
|||||||
repos_path = os.path.join(var_path, "repos")
|
repos_path = os.path.join(var_path, "repos")
|
||||||
test_repos_path = os.path.join(var_path, "test_repos")
|
test_repos_path = os.path.join(var_path, "test_repos")
|
||||||
packages_path = os.path.join(repos_path, "spack_repo", "builtin")
|
packages_path = os.path.join(repos_path, "spack_repo", "builtin")
|
||||||
mock_packages_path = os.path.join(test_repos_path, "builtin.mock")
|
mock_packages_path = os.path.join(test_repos_path, "spack_repo", "builtin_mock")
|
||||||
|
|
||||||
#
|
#
|
||||||
# Writable things in $spack/var/spack
|
# Writable things in $spack/var/spack
|
||||||
|
@ -153,7 +153,7 @@ def compute_loader(self, fullname: str):
|
|||||||
def builtin_repo() -> "Repo":
|
def builtin_repo() -> "Repo":
|
||||||
"""Get the test repo if it is active, otherwise the builtin repo."""
|
"""Get the test repo if it is active, otherwise the builtin repo."""
|
||||||
try:
|
try:
|
||||||
return PATH.get_repo("builtin.mock")
|
return PATH.get_repo("builtin_mock")
|
||||||
except UnknownNamespaceError:
|
except UnknownNamespaceError:
|
||||||
return PATH.get_repo("builtin")
|
return PATH.get_repo("builtin")
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def builder_test_repository(config):
|
def builder_test_repository(config):
|
||||||
builder_test_path = os.path.join(spack.paths.test_repos_path, "builder.test")
|
builder_test_path = os.path.join(spack.paths.test_repos_path, "builder_test")
|
||||||
with spack.repo.use_repositories(builder_test_path) as mock_repo:
|
with spack.repo.use_repositories(builder_test_path) as mock_repo:
|
||||||
yield mock_repo
|
yield mock_repo
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ def test_ci_generate_with_env(ci_generate_test, tmp_path, mock_binary_index):
|
|||||||
- old-gcc-pkgs:
|
- old-gcc-pkgs:
|
||||||
- archive-files
|
- archive-files
|
||||||
- callpath
|
- callpath
|
||||||
# specify ^openblas-with-lapack to ensure that builtin.mock repo flake8
|
# specify ^openblas-with-lapack to ensure that builtin_mock repo flake8
|
||||||
# package (which can also provide lapack) is not chosen, as it violates
|
# package (which can also provide lapack) is not chosen, as it violates
|
||||||
# a package-level check which requires exactly one fetch strategy (this
|
# a package-level check which requires exactly one fetch strategy (this
|
||||||
# is apparently not an issue for other tests that use it).
|
# is apparently not an issue for other tests that use it).
|
||||||
|
@ -886,12 +886,12 @@ def test_env_activate_broken_view(
|
|||||||
with spack.repo.use_repositories(mock_custom_repository):
|
with spack.repo.use_repositories(mock_custom_repository):
|
||||||
wrong_repo = env("activate", "--sh", "test")
|
wrong_repo = env("activate", "--sh", "test")
|
||||||
assert "Warning: could not load runtime environment" in wrong_repo
|
assert "Warning: could not load runtime environment" in wrong_repo
|
||||||
assert "Unknown namespace: builtin.mock" in wrong_repo
|
assert "Unknown namespace: builtin_mock" in wrong_repo
|
||||||
|
|
||||||
# test replacing repo fixes it
|
# test replacing repo fixes it
|
||||||
normal_repo = env("activate", "--sh", "test")
|
normal_repo = env("activate", "--sh", "test")
|
||||||
assert "Warning: could not load runtime environment" not in normal_repo
|
assert "Warning: could not load runtime environment" not in normal_repo
|
||||||
assert "Unknown namespace: builtin.mock" not in normal_repo
|
assert "Unknown namespace: builtin_mock" not in normal_repo
|
||||||
|
|
||||||
|
|
||||||
def test_to_lockfile_dict():
|
def test_to_lockfile_dict():
|
||||||
@ -916,7 +916,7 @@ def test_env_repo():
|
|||||||
|
|
||||||
pkg_cls = e.repo.get_pkg_class("mpileaks")
|
pkg_cls = e.repo.get_pkg_class("mpileaks")
|
||||||
assert pkg_cls.name == "mpileaks"
|
assert pkg_cls.name == "mpileaks"
|
||||||
assert pkg_cls.namespace == "builtin.mock"
|
assert pkg_cls.namespace == "builtin_mock"
|
||||||
|
|
||||||
|
|
||||||
def test_user_removed_spec(environment_from_manifest):
|
def test_user_removed_spec(environment_from_manifest):
|
||||||
|
@ -123,24 +123,24 @@ def test_find_external_cmd_not_buildable(mutable_config, working_env, mock_execu
|
|||||||
["detectable"],
|
["detectable"],
|
||||||
[],
|
[],
|
||||||
[
|
[
|
||||||
"builtin.mock.find-externals1",
|
"builtin_mock.find-externals1",
|
||||||
"builtin.mock.gcc",
|
"builtin_mock.gcc",
|
||||||
"builtin.mock.llvm",
|
"builtin_mock.llvm",
|
||||||
"builtin.mock.intel-oneapi-compilers",
|
"builtin_mock.intel-oneapi-compilers",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
# find --all --exclude find-externals1
|
# find --all --exclude find-externals1
|
||||||
(
|
(
|
||||||
None,
|
None,
|
||||||
["detectable"],
|
["detectable"],
|
||||||
["builtin.mock.find-externals1"],
|
["builtin_mock.find-externals1"],
|
||||||
["builtin.mock.gcc", "builtin.mock.llvm", "builtin.mock.intel-oneapi-compilers"],
|
["builtin_mock.gcc", "builtin_mock.llvm", "builtin_mock.intel-oneapi-compilers"],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
None,
|
None,
|
||||||
["detectable"],
|
["detectable"],
|
||||||
["find-externals1"],
|
["find-externals1"],
|
||||||
["builtin.mock.gcc", "builtin.mock.llvm", "builtin.mock.intel-oneapi-compilers"],
|
["builtin_mock.gcc", "builtin_mock.llvm", "builtin_mock.intel-oneapi-compilers"],
|
||||||
),
|
),
|
||||||
# find cmake (and cmake is not detectable)
|
# find cmake (and cmake is not detectable)
|
||||||
(["cmake"], ["detectable"], [], []),
|
(["cmake"], ["detectable"], [], []),
|
||||||
|
@ -129,7 +129,7 @@ def test_tag2_tag3(parser, specs):
|
|||||||
@pytest.mark.db
|
@pytest.mark.db
|
||||||
def test_namespaces_shown_correctly(args, with_namespace, database):
|
def test_namespaces_shown_correctly(args, with_namespace, database):
|
||||||
"""Test that --namespace(s) works. Old syntax is --namespace"""
|
"""Test that --namespace(s) works. Old syntax is --namespace"""
|
||||||
assert ("builtin.mock.zmpi" in find(*args)) == with_namespace
|
assert ("builtin_mock.zmpi" in find(*args)) == with_namespace
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.db
|
@pytest.mark.db
|
||||||
|
@ -143,13 +143,13 @@ def test_list_count():
|
|||||||
|
|
||||||
def test_list_repos():
|
def test_list_repos():
|
||||||
with spack.repo.use_repositories(
|
with spack.repo.use_repositories(
|
||||||
os.path.join(spack.paths.test_repos_path, "builtin.mock"),
|
os.path.join(spack.paths.test_repos_path, "builtin_mock"),
|
||||||
os.path.join(spack.paths.test_repos_path, "builder.test"),
|
os.path.join(spack.paths.test_repos_path, "builder_test"),
|
||||||
):
|
):
|
||||||
total_pkgs = len(list().strip().split())
|
total_pkgs = len(list().strip().split())
|
||||||
mock_pkgs = len(list("-r", "builtin.mock").strip().split())
|
mock_pkgs = len(list("-r", "builtin_mock").strip().split())
|
||||||
builder_pkgs = len(list("-r", "builder.test").strip().split())
|
builder_pkgs = len(list("-r", "builder_test").strip().split())
|
||||||
both_repos = len(list("-r", "builtin.mock", "-r", "builder.test").strip().split())
|
both_repos = len(list("-r", "builtin_mock", "-r", "builder_test").strip().split())
|
||||||
|
|
||||||
assert total_pkgs > mock_pkgs > builder_pkgs
|
assert total_pkgs > mock_pkgs > builder_pkgs
|
||||||
assert both_repos == total_pkgs
|
assert both_repos == total_pkgs
|
||||||
|
@ -37,9 +37,9 @@ def install(self, spec, prefix):
|
|||||||
# Force all tests to use a git repository *in* the mock packages repo.
|
# Force all tests to use a git repository *in* the mock packages repo.
|
||||||
@pytest.fixture(scope="module")
|
@pytest.fixture(scope="module")
|
||||||
def mock_pkg_git_repo(git, tmp_path_factory):
|
def mock_pkg_git_repo(git, tmp_path_factory):
|
||||||
"""Copy the builtin.mock repo and make a mutable git repo inside it."""
|
"""Copy the builtin_mock repo and make a mutable git repo inside it."""
|
||||||
root_dir = tmp_path_factory.mktemp("mock_pkg_git_repo")
|
root_dir = tmp_path_factory.mktemp("mock_pkg_git_repo")
|
||||||
repo_dir = root_dir / "builtin.mock"
|
repo_dir = root_dir / "builtin_mock"
|
||||||
shutil.copytree(spack.paths.mock_packages_path, str(repo_dir))
|
shutil.copytree(spack.paths.mock_packages_path, str(repo_dir))
|
||||||
|
|
||||||
repo_cache = spack.util.file_cache.FileCache(root_dir / "cache")
|
repo_cache = spack.util.file_cache.FileCache(root_dir / "cache")
|
||||||
@ -90,7 +90,7 @@ def mock_pkg_git_repo(git, tmp_path_factory):
|
|||||||
|
|
||||||
@pytest.fixture(scope="module")
|
@pytest.fixture(scope="module")
|
||||||
def mock_pkg_names():
|
def mock_pkg_names():
|
||||||
repo = spack.repo.PATH.get_repo("builtin.mock")
|
repo = spack.repo.PATH.get_repo("builtin_mock")
|
||||||
|
|
||||||
# Be sure to include virtual packages since packages with stand-alone
|
# Be sure to include virtual packages since packages with stand-alone
|
||||||
# tests may inherit additional tests from the virtuals they provide,
|
# tests may inherit additional tests from the virtuals they provide,
|
||||||
@ -116,7 +116,7 @@ def test_builtin_repo():
|
|||||||
|
|
||||||
|
|
||||||
def test_mock_builtin_repo(mock_packages):
|
def test_mock_builtin_repo(mock_packages):
|
||||||
assert spack.repo.builtin_repo() is spack.repo.PATH.get_repo("builtin.mock")
|
assert spack.repo.builtin_repo() is spack.repo.PATH.get_repo("builtin_mock")
|
||||||
|
|
||||||
|
|
||||||
def test_pkg_add(git, mock_pkg_git_repo):
|
def test_pkg_add(git, mock_pkg_git_repo):
|
||||||
|
@ -48,11 +48,11 @@ def test_resource_list(mock_packages, capfd):
|
|||||||
assert "path:" in out
|
assert "path:" in out
|
||||||
|
|
||||||
assert (
|
assert (
|
||||||
os.path.join("repos", "builtin.mock", "packages", "patch-a-dependency", "libelf.patch")
|
os.path.join("repos", "builtin_mock", "packages", "patch-a-dependency", "libelf.patch")
|
||||||
in out
|
in out
|
||||||
)
|
)
|
||||||
assert "applies to: builtin.mock.libelf" in out
|
assert "applies to: builtin_mock.libelf" in out
|
||||||
assert "patched by: builtin.mock.patch-a-dependency" in out
|
assert "patched by: builtin_mock.patch-a-dependency" in out
|
||||||
|
|
||||||
|
|
||||||
def test_resource_list_only_hashes(mock_packages, capfd):
|
def test_resource_list_only_hashes(mock_packages, capfd):
|
||||||
@ -74,10 +74,10 @@ def test_resource_show(mock_packages, capfd):
|
|||||||
|
|
||||||
assert out.startswith(test_hash)
|
assert out.startswith(test_hash)
|
||||||
assert (
|
assert (
|
||||||
os.path.join("repos", "builtin.mock", "packages", "patch-a-dependency", "libelf.patch")
|
os.path.join("repos", "builtin_mock", "packages", "patch-a-dependency", "libelf.patch")
|
||||||
in out
|
in out
|
||||||
)
|
)
|
||||||
assert "applies to: builtin.mock.libelf" in out
|
assert "applies to: builtin_mock.libelf" in out
|
||||||
assert "patched by: builtin.mock.patch-a-dependency" in out
|
assert "patched by: builtin_mock.patch-a-dependency" in out
|
||||||
|
|
||||||
assert len(out.strip().split("\n")) == 4
|
assert len(out.strip().split("\n")) == 4
|
||||||
|
@ -36,7 +36,7 @@ def test_remote_versions_only():
|
|||||||
@pytest.mark.usefixtures("mock_packages")
|
@pytest.mark.usefixtures("mock_packages")
|
||||||
def test_new_versions_only(monkeypatch):
|
def test_new_versions_only(monkeypatch):
|
||||||
"""Test a package for which new versions should be available."""
|
"""Test a package for which new versions should be available."""
|
||||||
from spack.pkg.builtin.mock.brillig import Brillig # type: ignore[import]
|
from spack.pkg.builtin_mock.brillig import Brillig # type: ignore[import]
|
||||||
|
|
||||||
def mock_fetch_remote_versions(*args, **kwargs):
|
def mock_fetch_remote_versions(*args, **kwargs):
|
||||||
mock_remote_versions = {
|
mock_remote_versions = {
|
||||||
|
@ -29,7 +29,7 @@ def _concretize_with_reuse(*, root_str, reused_str):
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def runtime_repo(mutable_config):
|
def runtime_repo(mutable_config):
|
||||||
repo = os.path.join(spack.paths.test_repos_path, "compiler_runtime.test")
|
repo = os.path.join(spack.paths.test_repos_path, "compiler_runtime_test")
|
||||||
with spack.repo.use_repositories(repo) as mock_repo:
|
with spack.repo.use_repositories(repo) as mock_repo:
|
||||||
yield mock_repo
|
yield mock_repo
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ def binary_compatibility(monkeypatch, request):
|
|||||||
return
|
return
|
||||||
|
|
||||||
if "mock_packages" not in request.fixturenames:
|
if "mock_packages" not in request.fixturenames:
|
||||||
# Only builtin.mock has a mock glibc package
|
# Only builtin_mock has a mock glibc package
|
||||||
return
|
return
|
||||||
|
|
||||||
if "database" in request.fixturenames or "mutable_database" in request.fixturenames:
|
if "database" in request.fixturenames or "mutable_database" in request.fixturenames:
|
||||||
@ -373,11 +373,11 @@ def test_provides_handles_multiple_providers_of_same_version(self):
|
|||||||
# Note that providers are repo-specific, so we don't misinterpret
|
# Note that providers are repo-specific, so we don't misinterpret
|
||||||
# providers, but vdeps are not namespace-specific, so we can
|
# providers, but vdeps are not namespace-specific, so we can
|
||||||
# associate vdeps across repos.
|
# associate vdeps across repos.
|
||||||
assert Spec("builtin.mock.multi-provider-mpi@1.10.3") in providers
|
assert Spec("builtin_mock.multi-provider-mpi@1.10.3") in providers
|
||||||
assert Spec("builtin.mock.multi-provider-mpi@1.10.2") in providers
|
assert Spec("builtin_mock.multi-provider-mpi@1.10.2") in providers
|
||||||
assert Spec("builtin.mock.multi-provider-mpi@1.10.1") in providers
|
assert Spec("builtin_mock.multi-provider-mpi@1.10.1") in providers
|
||||||
assert Spec("builtin.mock.multi-provider-mpi@1.10.0") in providers
|
assert Spec("builtin_mock.multi-provider-mpi@1.10.0") in providers
|
||||||
assert Spec("builtin.mock.multi-provider-mpi@1.8.8") in providers
|
assert Spec("builtin_mock.multi-provider-mpi@1.8.8") in providers
|
||||||
|
|
||||||
def test_different_compilers_get_different_flags(
|
def test_different_compilers_get_different_flags(
|
||||||
self, mutable_config, clang12_with_flags, gcc11_with_flags
|
self, mutable_config, clang12_with_flags, gcc11_with_flags
|
||||||
@ -1715,12 +1715,12 @@ def test_reuse_with_unknown_namespace_dont_raise(
|
|||||||
):
|
):
|
||||||
with spack.repo.use_repositories(mock_custom_repository, override=False):
|
with spack.repo.use_repositories(mock_custom_repository, override=False):
|
||||||
s = spack.concretize.concretize_one("pkg-c")
|
s = spack.concretize.concretize_one("pkg-c")
|
||||||
assert s.namespace != "builtin.mock"
|
assert s.namespace != "builtin_mock"
|
||||||
PackageInstaller([s.package], fake=True, explicit=True).install()
|
PackageInstaller([s.package], fake=True, explicit=True).install()
|
||||||
|
|
||||||
with spack.config.override("concretizer:reuse", True):
|
with spack.config.override("concretizer:reuse", True):
|
||||||
s = spack.concretize.concretize_one("pkg-c")
|
s = spack.concretize.concretize_one("pkg-c")
|
||||||
assert s.namespace == "builtin.mock"
|
assert s.namespace == "builtin_mock"
|
||||||
|
|
||||||
@pytest.mark.regression("45538")
|
@pytest.mark.regression("45538")
|
||||||
def test_reuse_from_other_namespace_no_raise(self, tmpdir, temporary_store, monkeypatch):
|
def test_reuse_from_other_namespace_no_raise(self, tmpdir, temporary_store, monkeypatch):
|
||||||
@ -1751,7 +1751,7 @@ def test_reuse_with_unknown_package_dont_raise(self, tmpdir, temporary_store, mo
|
|||||||
repos.repos[0]._pkg_checker.invalidate()
|
repos.repos[0]._pkg_checker.invalidate()
|
||||||
with spack.config.override("concretizer:reuse", True):
|
with spack.config.override("concretizer:reuse", True):
|
||||||
s = spack.concretize.concretize_one("pkg-c")
|
s = spack.concretize.concretize_one("pkg-c")
|
||||||
assert s.namespace == "builtin.mock"
|
assert s.namespace == "builtin_mock"
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"specs,checks",
|
"specs,checks",
|
||||||
@ -2328,10 +2328,10 @@ def test_reuse_python_from_cli_and_extension_from_db(self, mutable_database):
|
|||||||
"spec_str,expected_namespaces",
|
"spec_str,expected_namespaces",
|
||||||
[
|
[
|
||||||
# Single node with fully qualified namespace
|
# Single node with fully qualified namespace
|
||||||
("builtin.mock.gmake", {"gmake": "builtin.mock"}),
|
("builtin_mock.gmake", {"gmake": "builtin_mock"}),
|
||||||
# Dependency with fully qualified namespace
|
# Dependency with fully qualified namespace
|
||||||
("hdf5 ^builtin.mock.gmake", {"gmake": "builtin.mock", "hdf5": "duplicates.test"}),
|
("hdf5 ^builtin_mock.gmake", {"gmake": "builtin_mock", "hdf5": "duplicates_test"}),
|
||||||
("hdf5 ^gmake", {"gmake": "duplicates.test", "hdf5": "duplicates.test"}),
|
("hdf5 ^gmake", {"gmake": "duplicates_test", "hdf5": "duplicates_test"}),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_select_lower_priority_package_from_repository_stack(
|
def test_select_lower_priority_package_from_repository_stack(
|
||||||
@ -2340,8 +2340,8 @@ def test_select_lower_priority_package_from_repository_stack(
|
|||||||
"""Tests that a user can explicitly select a lower priority, fully qualified dependency
|
"""Tests that a user can explicitly select a lower priority, fully qualified dependency
|
||||||
from cli.
|
from cli.
|
||||||
"""
|
"""
|
||||||
# 'builtin.mock" and "duplicates.test" share a 'gmake' package
|
# 'builtin_mock" and "duplicates_test" share a 'gmake' package
|
||||||
additional_repo = os.path.join(spack.paths.test_repos_path, "duplicates.test")
|
additional_repo = os.path.join(spack.paths.test_repos_path, "duplicates_test")
|
||||||
with spack.repo.use_repositories(additional_repo, override=False):
|
with spack.repo.use_repositories(additional_repo, override=False):
|
||||||
s = spack.concretize.concretize_one(spec_str)
|
s = spack.concretize.concretize_one(spec_str)
|
||||||
|
|
||||||
@ -2585,7 +2585,7 @@ def test_correct_external_is_selected_from_packages_yaml(self, mutable_config):
|
|||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def duplicates_test_repository():
|
def duplicates_test_repository():
|
||||||
repository_path = os.path.join(spack.paths.test_repos_path, "duplicates.test")
|
repository_path = os.path.join(spack.paths.test_repos_path, "duplicates_test")
|
||||||
with spack.repo.use_repositories(repository_path) as mock_repo:
|
with spack.repo.use_repositories(repository_path) as mock_repo:
|
||||||
yield mock_repo
|
yield mock_repo
|
||||||
|
|
||||||
@ -2820,7 +2820,7 @@ def test_adding_specs(self, input_specs, default_mock_concretization):
|
|||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def edges_test_repository():
|
def edges_test_repository():
|
||||||
repository_path = os.path.join(spack.paths.test_repos_path, "edges.test")
|
repository_path = os.path.join(spack.paths.test_repos_path, "edges_test")
|
||||||
with spack.repo.use_repositories(repository_path) as mock_repo:
|
with spack.repo.use_repositories(repository_path) as mock_repo:
|
||||||
yield mock_repo
|
yield mock_repo
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def test_repo(mutable_config, monkeypatch, mock_stage):
|
def test_repo(mutable_config, monkeypatch, mock_stage):
|
||||||
repo_dir = pathlib.Path(spack.paths.test_repos_path) / "flags.test"
|
repo_dir = pathlib.Path(spack.paths.test_repos_path) / "flags_test"
|
||||||
with spack.repo.use_repositories(str(repo_dir)) as mock_repo_path:
|
with spack.repo.use_repositories(str(repo_dir)) as mock_repo_path:
|
||||||
yield mock_repo_path
|
yield mock_repo_path
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ def update_packages_config(conf_str):
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def test_repo(mutable_config, monkeypatch, mock_stage):
|
def test_repo(mutable_config, monkeypatch, mock_stage):
|
||||||
repo_dir = pathlib.Path(spack.paths.test_repos_path) / "requirements.test"
|
repo_dir = pathlib.Path(spack.paths.test_repos_path) / "requirements_test"
|
||||||
with spack.repo.use_repositories(str(repo_dir)) as mock_repo_path:
|
with spack.repo.use_repositories(str(repo_dir)) as mock_repo_path:
|
||||||
yield mock_repo_path
|
yield mock_repo_path
|
||||||
|
|
||||||
|
@ -654,7 +654,7 @@ def mock_pkg_install(monkeypatch):
|
|||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
def mock_packages(mock_repo_path, mock_pkg_install, request):
|
def mock_packages(mock_repo_path, mock_pkg_install, request):
|
||||||
"""Use the 'builtin.mock' repository instead of 'builtin'"""
|
"""Use the 'builtin_mock' repository instead of 'builtin'"""
|
||||||
ensure_configuration_fixture_run_before(request)
|
ensure_configuration_fixture_run_before(request)
|
||||||
with spack.repo.use_repositories(mock_repo_path) as mock_repo:
|
with spack.repo.use_repositories(mock_repo_path) as mock_repo:
|
||||||
yield mock_repo
|
yield mock_repo
|
||||||
@ -1433,7 +1433,7 @@ def mock_git_repository(git, tmpdir_factory):
|
|||||||
of these refers to a repository with a single commit.
|
of these refers to a repository with a single commit.
|
||||||
|
|
||||||
c0, c1, and c2 include information to define explicit versions in the
|
c0, c1, and c2 include information to define explicit versions in the
|
||||||
associated builtin.mock package 'git-test'. c3 is a commit in the
|
associated builtin_mock package 'git-test'. c3 is a commit in the
|
||||||
repository but does not have an associated explicit package version.
|
repository but does not have an associated explicit package version.
|
||||||
"""
|
"""
|
||||||
suburls = []
|
suburls = []
|
||||||
|
@ -60,12 +60,12 @@ def test_package_class_names(self):
|
|||||||
# Below tests target direct imports of spack packages from the
|
# Below tests target direct imports of spack packages from the
|
||||||
# spack.pkg namespace
|
# spack.pkg namespace
|
||||||
def test_import_package(self):
|
def test_import_package(self):
|
||||||
import spack.pkg.builtin.mock.mpich # type: ignore[import] # noqa: F401
|
import spack.pkg.builtin_mock.mpich # type: ignore[import] # noqa: F401
|
||||||
|
|
||||||
def test_import_package_as(self):
|
def test_import_package_as(self):
|
||||||
import spack.pkg.builtin.mock # noqa: F401
|
import spack.pkg.builtin_mock # noqa: F401
|
||||||
import spack.pkg.builtin.mock as m # noqa: F401
|
import spack.pkg.builtin_mock as m # noqa: F401
|
||||||
import spack.pkg.builtin.mock.mpich as mp # noqa: F401
|
import spack.pkg.builtin_mock.mpich as mp # noqa: F401
|
||||||
from spack.pkg.builtin import mock # noqa: F401
|
from spack.pkg.builtin import mock # noqa: F401
|
||||||
|
|
||||||
def test_inheritance_of_directives(self):
|
def test_inheritance_of_directives(self):
|
||||||
@ -98,18 +98,18 @@ def test_inheritance_of_patches(self):
|
|||||||
_ = spack.concretize.concretize_one("patch-inheritance")
|
_ = spack.concretize.concretize_one("patch-inheritance")
|
||||||
|
|
||||||
def test_import_class_from_package(self):
|
def test_import_class_from_package(self):
|
||||||
from spack.pkg.builtin.mock.mpich import Mpich # noqa: F401
|
from spack.pkg.builtin_mock.mpich import Mpich # noqa: F401
|
||||||
|
|
||||||
def test_import_module_from_package(self):
|
def test_import_module_from_package(self):
|
||||||
from spack.pkg.builtin.mock import mpich # noqa: F401
|
from spack.pkg.builtin_mock import mpich # noqa: F401
|
||||||
|
|
||||||
def test_import_namespace_container_modules(self):
|
def test_import_namespace_container_modules(self):
|
||||||
import spack.pkg # noqa: F401
|
import spack.pkg # noqa: F401
|
||||||
import spack.pkg as p # noqa: F401
|
import spack.pkg as p # noqa: F401
|
||||||
import spack.pkg.builtin # noqa: F401
|
import spack.pkg.builtin # noqa: F401
|
||||||
import spack.pkg.builtin as b # noqa: F401
|
import spack.pkg.builtin as b # noqa: F401
|
||||||
import spack.pkg.builtin.mock # noqa: F401
|
import spack.pkg.builtin_mock # noqa: F401
|
||||||
import spack.pkg.builtin.mock as m # noqa: F401
|
import spack.pkg.builtin_mock as m # noqa: F401
|
||||||
from spack import pkg # noqa: F401
|
from spack import pkg # noqa: F401
|
||||||
from spack.pkg import builtin # noqa: F401
|
from spack.pkg import builtin # noqa: F401
|
||||||
from spack.pkg.builtin import mock # noqa: F401
|
from spack.pkg.builtin import mock # noqa: F401
|
||||||
|
@ -360,11 +360,11 @@ def get_patch(spec, ending):
|
|||||||
assert foo_patch.path == os.path.join(package_dir, "foo.patch")
|
assert foo_patch.path == os.path.join(package_dir, "foo.patch")
|
||||||
assert foo_patch.sha256 == foo_sha256
|
assert foo_patch.sha256 == foo_sha256
|
||||||
|
|
||||||
assert bar_patch.owner == "builtin.mock.patch-several-dependencies"
|
assert bar_patch.owner == "builtin_mock.patch-several-dependencies"
|
||||||
assert bar_patch.path == os.path.join(package_dir, "bar.patch")
|
assert bar_patch.path == os.path.join(package_dir, "bar.patch")
|
||||||
assert bar_patch.sha256 == bar_sha256
|
assert bar_patch.sha256 == bar_sha256
|
||||||
|
|
||||||
assert baz_patch.owner == "builtin.mock.patch-several-dependencies"
|
assert baz_patch.owner == "builtin_mock.patch-several-dependencies"
|
||||||
assert baz_patch.path == os.path.join(package_dir, "baz.patch")
|
assert baz_patch.path == os.path.join(package_dir, "baz.patch")
|
||||||
assert baz_patch.sha256 == baz_sha256
|
assert baz_patch.sha256 == baz_sha256
|
||||||
|
|
||||||
@ -376,11 +376,11 @@ def get_patch(spec, ending):
|
|||||||
url1_patch = get_patch(fake, "urlpatch.patch")
|
url1_patch = get_patch(fake, "urlpatch.patch")
|
||||||
url2_patch = get_patch(fake, "urlpatch2.patch.gz")
|
url2_patch = get_patch(fake, "urlpatch2.patch.gz")
|
||||||
|
|
||||||
assert url1_patch.owner == "builtin.mock.patch-several-dependencies"
|
assert url1_patch.owner == "builtin_mock.patch-several-dependencies"
|
||||||
assert url1_patch.url == "http://example.com/urlpatch.patch"
|
assert url1_patch.url == "http://example.com/urlpatch.patch"
|
||||||
assert url1_patch.sha256 == url1_sha256
|
assert url1_patch.sha256 == url1_sha256
|
||||||
|
|
||||||
assert url2_patch.owner == "builtin.mock.patch-several-dependencies"
|
assert url2_patch.owner == "builtin_mock.patch-several-dependencies"
|
||||||
assert url2_patch.url == "http://example.com/urlpatch2.patch.gz"
|
assert url2_patch.url == "http://example.com/urlpatch2.patch.gz"
|
||||||
assert url2_patch.sha256 == url2_sha256
|
assert url2_patch.sha256 == url2_sha256
|
||||||
assert url2_patch.archive_sha256 == url2_archive_sha256
|
assert url2_patch.archive_sha256 == url2_archive_sha256
|
||||||
@ -397,7 +397,7 @@ def test_conditional_patched_deps_with_conditions(mock_packages, config):
|
|||||||
fake = spec["fake"]
|
fake = spec["fake"]
|
||||||
|
|
||||||
check_multi_dependency_patch_specs(
|
check_multi_dependency_patch_specs(
|
||||||
libelf, libdwarf, fake, "builtin.mock.patch-several-dependencies", spec.package.package_dir
|
libelf, libdwarf, fake, "builtin_mock.patch-several-dependencies", spec.package.package_dir
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -417,7 +417,7 @@ def test_write_and_read_sub_dags_with_patched_deps(mock_packages, config):
|
|||||||
|
|
||||||
# make sure we can still read patches correctly for these specs
|
# make sure we can still read patches correctly for these specs
|
||||||
check_multi_dependency_patch_specs(
|
check_multi_dependency_patch_specs(
|
||||||
libelf, libdwarf, fake, "builtin.mock.patch-several-dependencies", spec.package.package_dir
|
libelf, libdwarf, fake, "builtin_mock.patch-several-dependencies", spec.package.package_dir
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,19 +43,19 @@ def extra_repo(tmp_path_factory, request):
|
|||||||
|
|
||||||
def test_repo_getpkg(mutable_mock_repo):
|
def test_repo_getpkg(mutable_mock_repo):
|
||||||
mutable_mock_repo.get_pkg_class("pkg-a")
|
mutable_mock_repo.get_pkg_class("pkg-a")
|
||||||
mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a")
|
mutable_mock_repo.get_pkg_class("builtin_mock.pkg-a")
|
||||||
|
|
||||||
|
|
||||||
def test_repo_multi_getpkg(mutable_mock_repo, extra_repo):
|
def test_repo_multi_getpkg(mutable_mock_repo, extra_repo):
|
||||||
mutable_mock_repo.put_first(extra_repo[0])
|
mutable_mock_repo.put_first(extra_repo[0])
|
||||||
mutable_mock_repo.get_pkg_class("pkg-a")
|
mutable_mock_repo.get_pkg_class("pkg-a")
|
||||||
mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a")
|
mutable_mock_repo.get_pkg_class("builtin_mock.pkg-a")
|
||||||
|
|
||||||
|
|
||||||
def test_repo_multi_getpkgclass(mutable_mock_repo, extra_repo):
|
def test_repo_multi_getpkgclass(mutable_mock_repo, extra_repo):
|
||||||
mutable_mock_repo.put_first(extra_repo[0])
|
mutable_mock_repo.put_first(extra_repo[0])
|
||||||
mutable_mock_repo.get_pkg_class("pkg-a")
|
mutable_mock_repo.get_pkg_class("pkg-a")
|
||||||
mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a")
|
mutable_mock_repo.get_pkg_class("builtin_mock.pkg-a")
|
||||||
|
|
||||||
|
|
||||||
def test_repo_pkg_with_unknown_namespace(mutable_mock_repo):
|
def test_repo_pkg_with_unknown_namespace(mutable_mock_repo):
|
||||||
@ -65,7 +65,7 @@ def test_repo_pkg_with_unknown_namespace(mutable_mock_repo):
|
|||||||
|
|
||||||
def test_repo_unknown_pkg(mutable_mock_repo):
|
def test_repo_unknown_pkg(mutable_mock_repo):
|
||||||
with pytest.raises(spack.repo.UnknownPackageError):
|
with pytest.raises(spack.repo.UnknownPackageError):
|
||||||
mutable_mock_repo.get_pkg_class("builtin.mock.nonexistentpackage")
|
mutable_mock_repo.get_pkg_class("builtin_mock.nonexistentpackage")
|
||||||
|
|
||||||
|
|
||||||
def test_repo_last_mtime(mock_packages):
|
def test_repo_last_mtime(mock_packages):
|
||||||
@ -98,7 +98,7 @@ def test_repo_invisibles(mutable_mock_repo, extra_repo):
|
|||||||
def test_namespace_hasattr(attr_name, exists, mutable_mock_repo):
|
def test_namespace_hasattr(attr_name, exists, mutable_mock_repo):
|
||||||
# Check that we don't fail on 'hasattr' checks because
|
# Check that we don't fail on 'hasattr' checks because
|
||||||
# of a custom __getattr__ implementation
|
# of a custom __getattr__ implementation
|
||||||
nms = spack.repo.SpackNamespace("spack.pkg.builtin.mock")
|
nms = spack.repo.SpackNamespace("spack.pkg.builtin_mock")
|
||||||
assert hasattr(nms, attr_name) == exists
|
assert hasattr(nms, attr_name) == exists
|
||||||
|
|
||||||
|
|
||||||
@ -121,24 +121,24 @@ def test_use_repositories_doesnt_change_class(mock_packages):
|
|||||||
|
|
||||||
|
|
||||||
def test_import_repo_prefixes_as_python_modules(mock_packages):
|
def test_import_repo_prefixes_as_python_modules(mock_packages):
|
||||||
import spack.pkg.builtin.mock
|
import spack.pkg.builtin_mock
|
||||||
|
|
||||||
assert isinstance(spack.pkg, spack.repo.SpackNamespace)
|
assert isinstance(spack.pkg, spack.repo.SpackNamespace)
|
||||||
assert isinstance(spack.pkg.builtin, spack.repo.SpackNamespace)
|
assert isinstance(spack.pkg.builtin, spack.repo.SpackNamespace)
|
||||||
assert isinstance(spack.pkg.builtin.mock, spack.repo.SpackNamespace)
|
assert isinstance(spack.pkg.builtin_mock, spack.repo.SpackNamespace)
|
||||||
|
|
||||||
|
|
||||||
def test_absolute_import_spack_packages_as_python_modules(mock_packages):
|
def test_absolute_import_spack_packages_as_python_modules(mock_packages):
|
||||||
import spack.pkg.builtin.mock.mpileaks
|
import spack.pkg.builtin_mock.mpileaks
|
||||||
|
|
||||||
assert hasattr(spack.pkg.builtin.mock, "mpileaks")
|
assert hasattr(spack.pkg.builtin_mock, "mpileaks")
|
||||||
assert hasattr(spack.pkg.builtin.mock.mpileaks, "Mpileaks")
|
assert hasattr(spack.pkg.builtin_mock.mpileaks, "Mpileaks")
|
||||||
assert isinstance(spack.pkg.builtin.mock.mpileaks.Mpileaks, spack.package_base.PackageMeta)
|
assert isinstance(spack.pkg.builtin_mock.mpileaks.Mpileaks, spack.package_base.PackageMeta)
|
||||||
assert issubclass(spack.pkg.builtin.mock.mpileaks.Mpileaks, spack.package_base.PackageBase)
|
assert issubclass(spack.pkg.builtin_mock.mpileaks.Mpileaks, spack.package_base.PackageBase)
|
||||||
|
|
||||||
|
|
||||||
def test_relative_import_spack_packages_as_python_modules(mock_packages):
|
def test_relative_import_spack_packages_as_python_modules(mock_packages):
|
||||||
from spack.pkg.builtin.mock.mpileaks import Mpileaks
|
from spack.pkg.builtin_mock.mpileaks import Mpileaks
|
||||||
|
|
||||||
assert isinstance(Mpileaks, spack.package_base.PackageMeta)
|
assert isinstance(Mpileaks, spack.package_base.PackageMeta)
|
||||||
assert issubclass(Mpileaks, spack.package_base.PackageBase)
|
assert issubclass(Mpileaks, spack.package_base.PackageBase)
|
||||||
@ -160,7 +160,7 @@ def test_repo_path_handles_package_removal(tmpdir, mock_packages):
|
|||||||
builder.remove("pkg-c")
|
builder.remove("pkg-c")
|
||||||
with spack.repo.use_repositories(builder.root, override=False) as repos:
|
with spack.repo.use_repositories(builder.root, override=False) as repos:
|
||||||
r = repos.repo_for_pkg("pkg-c")
|
r = repos.repo_for_pkg("pkg-c")
|
||||||
assert r.namespace == "builtin.mock"
|
assert r.namespace == "builtin_mock"
|
||||||
|
|
||||||
|
|
||||||
def test_repo_dump_virtuals(tmpdir, mutable_mock_repo, mock_packages, ensure_debug, capsys):
|
def test_repo_dump_virtuals(tmpdir, mutable_mock_repo, mock_packages, ensure_debug, capsys):
|
||||||
@ -185,7 +185,7 @@ def _repo_paths(repos):
|
|||||||
for entry in repos:
|
for entry in repos:
|
||||||
if entry == "mock":
|
if entry == "mock":
|
||||||
repo_paths.append(spack.paths.mock_packages_path)
|
repo_paths.append(spack.paths.mock_packages_path)
|
||||||
namespaces.append("builtin.mock")
|
namespaces.append("builtin_mock")
|
||||||
if entry == "extra":
|
if entry == "extra":
|
||||||
name = "extra_mock"
|
name = "extra_mock"
|
||||||
repo_dir = tmp_path / name
|
repo_dir = tmp_path / name
|
||||||
@ -211,7 +211,7 @@ def test_path_computation_with_names(method_name, mock_repo_path):
|
|||||||
repo_path = spack.repo.RepoPath(mock_repo_path, cache=None)
|
repo_path = spack.repo.RepoPath(mock_repo_path, cache=None)
|
||||||
method = getattr(repo_path, method_name)
|
method = getattr(repo_path, method_name)
|
||||||
unqualified = method("mpileaks")
|
unqualified = method("mpileaks")
|
||||||
qualified = method("builtin.mock.mpileaks")
|
qualified = method("builtin_mock.mpileaks")
|
||||||
assert qualified == unqualified
|
assert qualified == unqualified
|
||||||
|
|
||||||
|
|
||||||
@ -220,11 +220,11 @@ def test_use_repositories_and_import():
|
|||||||
import spack.paths
|
import spack.paths
|
||||||
|
|
||||||
repo_dir = pathlib.Path(spack.paths.test_repos_path)
|
repo_dir = pathlib.Path(spack.paths.test_repos_path)
|
||||||
with spack.repo.use_repositories(str(repo_dir / "compiler_runtime.test")):
|
with spack.repo.use_repositories(str(repo_dir / "compiler_runtime_test")):
|
||||||
import spack.pkg.compiler_runtime.test.gcc_runtime
|
import spack.pkg.compiler_runtime_test.gcc_runtime
|
||||||
|
|
||||||
with spack.repo.use_repositories(str(repo_dir / "builtin.mock")):
|
with spack.repo.use_repositories(str(repo_dir / "builtin_mock")):
|
||||||
import spack.pkg.builtin.mock.cmake
|
import spack.pkg.builtin_mock.cmake
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("nullify_globals")
|
@pytest.mark.usefixtures("nullify_globals")
|
||||||
@ -236,7 +236,7 @@ class TestRepo:
|
|||||||
def test_creation(self, mock_test_cache):
|
def test_creation(self, mock_test_cache):
|
||||||
repo = spack.repo.Repo(spack.paths.mock_packages_path, cache=mock_test_cache)
|
repo = spack.repo.Repo(spack.paths.mock_packages_path, cache=mock_test_cache)
|
||||||
assert repo.config_file.endswith("repo.yaml")
|
assert repo.config_file.endswith("repo.yaml")
|
||||||
assert repo.namespace == "builtin.mock"
|
assert repo.namespace == "builtin_mock"
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"name,expected", [("mpi", True), ("mpich", False), ("mpileaks", False)]
|
"name,expected", [("mpi", True), ("mpich", False), ("mpileaks", False)]
|
||||||
@ -312,12 +312,12 @@ class TestRepoPath:
|
|||||||
def test_creation_from_string(self, mock_test_cache):
|
def test_creation_from_string(self, mock_test_cache):
|
||||||
repo = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=mock_test_cache)
|
repo = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=mock_test_cache)
|
||||||
assert len(repo.repos) == 1
|
assert len(repo.repos) == 1
|
||||||
assert repo.by_namespace["builtin.mock"] is repo.repos[0]
|
assert repo.by_namespace["builtin_mock"] is repo.repos[0]
|
||||||
|
|
||||||
def test_get_repo(self, mock_test_cache):
|
def test_get_repo(self, mock_test_cache):
|
||||||
repo = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=mock_test_cache)
|
repo = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=mock_test_cache)
|
||||||
# builtin.mock is there
|
# builtin_mock is there
|
||||||
assert repo.get_repo("builtin.mock") is repo.repos[0]
|
assert repo.get_repo("builtin_mock") is repo.repos[0]
|
||||||
# foo is not there, raise
|
# foo is not there, raise
|
||||||
with pytest.raises(spack.repo.UnknownNamespaceError):
|
with pytest.raises(spack.repo.UnknownNamespaceError):
|
||||||
repo.get_repo("foo")
|
repo.get_repo("foo")
|
||||||
|
@ -135,16 +135,16 @@ class TestSpecSemantics:
|
|||||||
("libelf@0:2.5%gcc@2:4.6", "libelf@2.1:3%gcc@4.5:4.7", "libelf@2.1:2.5%gcc@4.5:4.6"),
|
("libelf@0:2.5%gcc@2:4.6", "libelf@2.1:3%gcc@4.5:4.7", "libelf@2.1:2.5%gcc@4.5:4.6"),
|
||||||
# Namespaces
|
# Namespaces
|
||||||
("builtin.mpich", "mpich", "builtin.mpich"),
|
("builtin.mpich", "mpich", "builtin.mpich"),
|
||||||
("builtin.mock.mpich", "mpich", "builtin.mock.mpich"),
|
("builtin_mock.mpich", "mpich", "builtin_mock.mpich"),
|
||||||
("builtin.mpich", "builtin.mpich", "builtin.mpich"),
|
("builtin.mpich", "builtin.mpich", "builtin.mpich"),
|
||||||
("mpileaks ^builtin.mock.mpich", "^mpich", "mpileaks ^builtin.mock.mpich"),
|
("mpileaks ^builtin_mock.mpich", "^mpich", "mpileaks ^builtin_mock.mpich"),
|
||||||
# Virtual dependencies are fully resolved during concretization, so we can constrain
|
# Virtual dependencies are fully resolved during concretization, so we can constrain
|
||||||
# abstract specs but that would result in a new node
|
# abstract specs but that would result in a new node
|
||||||
("mpileaks ^builtin.mock.mpich", "^mpi", "mpileaks ^mpi ^builtin.mock.mpich"),
|
("mpileaks ^builtin_mock.mpich", "^mpi", "mpileaks ^mpi ^builtin_mock.mpich"),
|
||||||
(
|
(
|
||||||
"mpileaks ^builtin.mock.mpich",
|
"mpileaks ^builtin_mock.mpich",
|
||||||
"^builtin.mock.mpich",
|
"^builtin_mock.mpich",
|
||||||
"mpileaks ^builtin.mock.mpich",
|
"mpileaks ^builtin_mock.mpich",
|
||||||
),
|
),
|
||||||
# Compilers
|
# Compilers
|
||||||
("foo%gcc", "%gcc", "foo%gcc"),
|
("foo%gcc", "%gcc", "foo%gcc"),
|
||||||
@ -455,8 +455,8 @@ def test_concrete_specs_which_satisfies_abstract(self, lhs, rhs, default_mock_co
|
|||||||
("foo%gcc@4.3", "%gcc@4.4:4.6"),
|
("foo%gcc@4.3", "%gcc@4.4:4.6"),
|
||||||
("foo@4.0%gcc", "@1:3%gcc"),
|
("foo@4.0%gcc", "@1:3%gcc"),
|
||||||
("foo@4.0%gcc@4.5", "@1:3%gcc@4.4:4.6"),
|
("foo@4.0%gcc@4.5", "@1:3%gcc@4.4:4.6"),
|
||||||
("builtin.mock.mpich", "builtin.mpich"),
|
("builtin_mock.mpich", "builtin.mpich"),
|
||||||
("mpileaks ^builtin.mock.mpich", "^builtin.mpich"),
|
("mpileaks ^builtin_mock.mpich", "^builtin.mpich"),
|
||||||
("mpileaks^mpich@1.2", "^mpich@2.0"),
|
("mpileaks^mpich@1.2", "^mpich@2.0"),
|
||||||
("mpileaks^mpich@4.0^callpath@1.5", "^mpich@1:3^callpath@1.4:1.6"),
|
("mpileaks^mpich@4.0^callpath@1.5", "^mpich@1:3^callpath@1.4:1.6"),
|
||||||
("mpileaks^mpich@2.0^callpath@1.7", "^mpich@1:3^callpath@1.4:1.6"),
|
("mpileaks^mpich@2.0^callpath@1.7", "^mpich@1:3^callpath@1.4:1.6"),
|
||||||
@ -476,7 +476,7 @@ def test_concrete_specs_which_satisfies_abstract(self, lhs, rhs, default_mock_co
|
|||||||
("libelf+debug", "libelf~debug"),
|
("libelf+debug", "libelf~debug"),
|
||||||
("libelf+debug~foo", "libelf+debug+foo"),
|
("libelf+debug~foo", "libelf+debug+foo"),
|
||||||
("libelf debug=True", "libelf debug=False"),
|
("libelf debug=True", "libelf debug=False"),
|
||||||
("namespace=builtin.mock", "namespace=builtin"),
|
("namespace=builtin_mock", "namespace=builtin"),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_constraining_abstract_specs_with_empty_intersection(self, lhs, rhs):
|
def test_constraining_abstract_specs_with_empty_intersection(self, lhs, rhs):
|
||||||
@ -609,7 +609,7 @@ def test_indirect_unsatisfied_single_valued_variant(self):
|
|||||||
|
|
||||||
def test_satisfied_namespace(self):
|
def test_satisfied_namespace(self):
|
||||||
spec = spack.concretize.concretize_one("zlib")
|
spec = spack.concretize.concretize_one("zlib")
|
||||||
assert spec.satisfies("namespace=builtin.mock")
|
assert spec.satisfies("namespace=builtin_mock")
|
||||||
assert not spec.satisfies("namespace=builtin")
|
assert not spec.satisfies("namespace=builtin")
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
@ -1185,7 +1185,7 @@ def test_parse_filename_missing_slash_as_spec(specfile_for, tmpdir, filename):
|
|||||||
|
|
||||||
# make sure that only happens when the spec ends in yaml
|
# make sure that only happens when the spec ends in yaml
|
||||||
with pytest.raises(spack.solver.asp.UnsatisfiableSpecError) as exc_info:
|
with pytest.raises(spack.solver.asp.UnsatisfiableSpecError) as exc_info:
|
||||||
spack.concretize.concretize_one(SpecParser("builtin.mock.doesnotexist").next_spec())
|
spack.concretize.concretize_one(SpecParser("builtin_mock.doesnotexist").next_spec())
|
||||||
assert not exc_info.value.long_message or (
|
assert not exc_info.value.long_message or (
|
||||||
"Did you mean to specify a filename with" not in exc_info.value.long_message
|
"Did you mean to specify a filename with" not in exc_info.value.long_message
|
||||||
)
|
)
|
||||||
|
@ -266,7 +266,7 @@ def test_legacy_yaml(tmpdir, install_mockery, mock_packages):
|
|||||||
compiler:
|
compiler:
|
||||||
name: gcc
|
name: gcc
|
||||||
version: 8.3.0
|
version: 8.3.0
|
||||||
namespace: builtin.mock
|
namespace: builtin_mock
|
||||||
parameters:
|
parameters:
|
||||||
bvv: true
|
bvv: true
|
||||||
foo:
|
foo:
|
||||||
@ -296,7 +296,7 @@ def test_legacy_yaml(tmpdir, install_mockery, mock_packages):
|
|||||||
compiler:
|
compiler:
|
||||||
name: gcc
|
name: gcc
|
||||||
version: 8.3.0
|
version: 8.3.0
|
||||||
namespace: builtin.mock
|
namespace: builtin_mock
|
||||||
parameters:
|
parameters:
|
||||||
cflags: []
|
cflags: []
|
||||||
cppflags: []
|
cppflags: []
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: builder.test
|
|
@ -1 +0,0 @@
|
|||||||
../../../repos/spack_repo/builtin/packages/compiler_wrapper
|
|
@ -1 +0,0 @@
|
|||||||
../../../repos/spack_repo/builtin/packages/gcc_runtime
|
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: builtin.mock
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/compiler-wrapper
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc-runtime
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/glibc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gmake
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gnuconfig
|
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: compiler_runtime.test
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/compiler-wrapper
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc-runtime
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/glibc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gnuconfig
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/llvm
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/python-venv
|
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: duplicates.test
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/compiler-wrapper
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc-runtime
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/glibc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gmake
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gnuconfig
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/llvm
|
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: edges.test
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/compiler-wrapper
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc-runtime
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/glibc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gmake/
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gnuconfig
|
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: flags.test
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/compiler-wrapper/
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gcc-runtime
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/glibc
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gmake/
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/gnuconfig
|
|
@ -1 +0,0 @@
|
|||||||
../../builtin.mock/packages/llvm
|
|
@ -1,2 +0,0 @@
|
|||||||
repo:
|
|
||||||
namespace: requirements.test
|
|
@ -3,17 +3,17 @@
|
|||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import spack.pkg.builder.test.callbacks
|
import spack.pkg.builder_test.callbacks
|
||||||
from spack.package import *
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
class Inheritance(spack.pkg.builder.test.callbacks.Callbacks):
|
class Inheritance(spack.pkg.builder_test.callbacks.Callbacks):
|
||||||
"""Package used to verify that inheritance among packages work as expected"""
|
"""Package used to verify that inheritance among packages work as expected"""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class GenericBuilder(spack.pkg.builder.test.callbacks.GenericBuilder):
|
class GenericBuilder(spack.pkg.builder_test.callbacks.GenericBuilder):
|
||||||
def install(self, pkg, spec, prefix):
|
def install(self, pkg, spec, prefix):
|
||||||
super().install(pkg, spec, prefix)
|
super().install(pkg, spec, prefix)
|
||||||
os.environ["INHERITANCE_INSTALL_CALLED"] = "1"
|
os.environ["INHERITANCE_INSTALL_CALLED"] = "1"
|
@ -1,11 +1,11 @@
|
|||||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
import spack.pkg.builder.test.old_style_autotools
|
import spack.pkg.builder_test.old_style_autotools
|
||||||
from spack.package import *
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
class OldStyleDerived(spack.pkg.builder.test.old_style_autotools.OldStyleAutotools):
|
class OldStyleDerived(spack.pkg.builder_test.old_style_autotools.OldStyleAutotools):
|
||||||
"""Package used to verify that old-style packages work correctly when executing the
|
"""Package used to verify that old-style packages work correctly when executing the
|
||||||
installation procedure.
|
installation procedure.
|
||||||
"""
|
"""
|
3
var/spack/test_repos/spack_repo/builder_test/repo.yaml
Normal file
3
var/spack/test_repos/spack_repo/builder_test/repo.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
repo:
|
||||||
|
namespace: builder_test
|
||||||
|
api: v2.0
|
@ -3,7 +3,7 @@
|
|||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
from spack.package import * # noqa: F401
|
from spack.package import * # noqa: F401
|
||||||
from spack.pkg.builtin.mock.cmake_client import CmakeClient
|
from ..cmake_client.package import CmakeClient
|
||||||
|
|
||||||
|
|
||||||
class CmakeClientInheritor(CmakeClient):
|
class CmakeClientInheritor(CmakeClient):
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user