Source code for spack.test.cmd.gc

# Copyright 2013-2022 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 sys

import pytest

import spack.environment as ev
import spack.main
import spack.spec

gc = spack.main.SpackCommand('gc')

pytestmark = pytest.mark.skipif(sys.platform == "win32",
                                reason="does not run on windows")


[docs]@pytest.mark.db def test_no_packages_to_remove(config, mutable_database, capsys): with capsys.disabled(): output = gc('-y') assert 'There are no unused specs.' in output
[docs]@pytest.mark.db def test_packages_are_removed(config, mutable_database, capsys): s = spack.spec.Spec('simple-inheritance') s.concretize() s.package.do_install(fake=True, explicit=True) with capsys.disabled(): output = gc('-y') assert 'Successfully uninstalled cmake' in output
[docs]@pytest.mark.db def test_gc_with_environment( config, mutable_database, mutable_mock_env_path, capsys ): s = spack.spec.Spec('simple-inheritance') s.concretize() s.package.do_install(fake=True, explicit=True) e = ev.create('test_gc') e.add('cmake') with e: with capsys.disabled(): output = gc('-y') assert 'Restricting the garbage collection' in output assert 'There are no unused specs' in output