parent
0438e383e5
commit
b411f9d74f
@ -0,0 +1,37 @@ |
||||
"""Unit tests: remove_stale_links""" |
||||
import os |
||||
import pytest |
||||
|
||||
|
||||
@pytest.mark.parametrize('linked', [True, False]) |
||||
@pytest.mark.parametrize('kind', ['file', 'symlink']) |
||||
def test_remove_stale_links(runner, yadm, tmpdir, kind, linked): |
||||
"""Test remove_stale_links()""" |
||||
|
||||
source_file = tmpdir.join('source_file') |
||||
source_file.write('source file', ensure=True) |
||||
link = tmpdir.join('link') |
||||
|
||||
if kind == 'file': |
||||
link.write('link file', ensure=True) |
||||
else: |
||||
os.system(f'ln -s {source_file} {link}') |
||||
|
||||
alt_linked = '' |
||||
if linked: |
||||
alt_linked = source_file |
||||
|
||||
script = f""" |
||||
YADM_TEST=1 source {yadm} |
||||
possible_alts=({link}) |
||||
alt_linked=({alt_linked}) |
||||
function rm() {{ echo rm "$@"; }} |
||||
remove_stale_links |
||||
""" |
||||
|
||||
run = runner(command=['bash'], inp=script) |
||||
assert run.err == '' |
||||
if kind == 'symlink' and not linked: |
||||
assert f'rm -f {link}' in run.out |
||||
else: |
||||
assert run.out == '' |
Loading…
Reference in new issue