blob: 7de107c9234be2658cd20c0052c754cbd412cabb (
plain) (
tree)
|
|
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import spack.main
import spack.repo
import spack.spec
tags = spack.main.SpackCommand("tags")
def test_tags_bad_options():
out = tags("-a", "tag1", fail_on_error=False)
assert "option OR provide" in out
def test_tags_no_installed(install_mockery, mock_fetch):
out = tags("-i")
assert "No installed" in out
def test_tags_invalid_tag(mock_packages):
out = tags("nosuchtag")
assert "None" in out
def test_tags_all_mock_tags(mock_packages):
out = tags()
for tag in ["tag1", "tag2", "tag3"]:
assert tag in out
def test_tags_all_mock_tag_packages(mock_packages):
out = tags("-a")
for pkg in ["mpich\n", "mpich2\n"]:
assert pkg in out
def test_tags_no_tags(monkeypatch):
class tag_path:
tag_index = dict()
monkeypatch.setattr(spack.repo, "PATH", tag_path)
out = tags()
assert "No tagged" in out
def test_tags_installed(install_mockery, mock_fetch):
s = spack.spec.Spec("mpich").concretized()
s.package.do_install()
out = tags("-i")
for tag in ["tag1", "tag2"]:
assert tag in out
out = tags("-i", "tag1")
assert "mpich" in out
out = tags("-i", "tag3")
assert "No installed" in out
|