new hook tests for broken symlinks
This commit is contained in:
parent
5edf945ca5
commit
896c0cfdc0
|
@ -0,0 +1,26 @@
|
|||
from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import os.path
|
||||
|
||||
|
||||
def check_symlinks(argv=None):
|
||||
parser = argparse.ArgumentParser(description='Checks for broken symlinks.')
|
||||
parser.add_argument('filenames', nargs='*', help='Filenames to check')
|
||||
args = parser.parse_args(argv)
|
||||
|
||||
retv = 0
|
||||
|
||||
for filename in args.filenames:
|
||||
if os.path.islink(filename) and not os.path.exists(filename):
|
||||
print('{0}: Broken symlink'.format(filename))
|
||||
retv = 1
|
||||
|
||||
return retv
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
exit(check_symlinks())
|
|
@ -0,0 +1 @@
|
|||
does_not_exist
|
|
@ -0,0 +1 @@
|
|||
does_exist
|
|
@ -0,0 +1,13 @@
|
|||
import pytest
|
||||
|
||||
from pre_commit_hooks.check_symlinks import check_symlinks
|
||||
from testing.util import get_resource_path
|
||||
|
||||
|
||||
@pytest.mark.parametrize(('filename', 'expected_retval'), (
|
||||
('broken_symlink', 1),
|
||||
('working_symlink', 0),
|
||||
))
|
||||
def test_check_symlinks(filename, expected_retval):
|
||||
ret = check_symlinks([get_resource_path(filename)])
|
||||
assert ret == expected_retval
|
Loading…
Reference in New Issue