1
0
Fork 0
mirror of synced 2024-11-18 23:25:35 -05:00
yadm/test/test_unit_issue_legacy_path_warning.py
Erik Flodin 5e9c5cf66c
Issue legacy path warnings to stderr
To make it possible to ignore the warning e.g. when running yadm
introspect repo in the bash completion.
2020-12-27 22:33:15 +01:00

41 lines
1.2 KiB
Python

"""Unit tests: issue_legacy_path_warning"""
import pytest
@pytest.mark.parametrize(
'legacy_path', [
None,
'repo.git',
'files.gpg',
],
)
@pytest.mark.parametrize(
'override', [True, False], ids=['override', 'no-override'])
@pytest.mark.parametrize(
'upgrade', [True, False], ids=['upgrade', 'no-upgrade'])
def test_legacy_warning(tmpdir, runner, yadm, upgrade, override, legacy_path):
"""Use issue_legacy_path_warning"""
home = tmpdir.mkdir('home')
if legacy_path:
home.ensure(f'.config/yadm/{str(legacy_path)}')
override = 'YADM_OVERRIDE_REPO=override' if override else ''
main_args = 'MAIN_ARGS=("upgrade")' if upgrade else ''
script = f"""
XDG_CONFIG_HOME=
XDG_DATA_HOME=
HOME={home}
YADM_TEST=1 source {yadm}
{main_args}
{override}
set_yadm_dirs
issue_legacy_path_warning
"""
run = runner(command=['bash'], inp=script)
assert run.success
assert run.out == ''
if legacy_path and (not upgrade) and (not override):
assert 'Legacy paths have been detected' in run.err
else:
assert 'Legacy paths have been detected' not in run.err