# 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 os.path
import pytest
import spack.main
repo = spack.main.SpackCommand('repo')
[docs]def test_help_option():
# Test 'spack repo --help' to check basic import works
# and the command exits successfully
with pytest.raises(SystemExit):
repo('--help')
assert repo.returncode in (None, 0)
[docs]def test_create_add_list_remove(mutable_config, tmpdir):
# Create a new repository and check that the expected
# files are there
repo('create', str(tmpdir), 'mockrepo')
assert os.path.exists(os.path.join(str(tmpdir), 'repo.yaml'))
# Add the new repository and check it appears in the list output
repo('add', '--scope=site', str(tmpdir))
output = repo('list', '--scope=site', output=str)
assert 'mockrepo' in output
# Then remove it and check it's not there
repo('remove', '--scope=site', str(tmpdir))
output = repo('list', '--scope=site', output=str)
assert 'mockrepo' not in output