Improve coverage of check_hooks_apply

This commit is contained in:
Anthony Sottile
2018-10-14 14:59:36 -07:00
parent 9c37473256
commit 8e8b962266

View File

@@ -106,15 +106,34 @@ def test_hook_types_excludes_everything(
assert 'check-useless-excludes does not apply to this repository' in out
def test_valid_always_run(capsys, tempdir_factory, mock_store_dir):
def test_valid_exceptions(capsys, tempdir_factory, mock_store_dir):
config = {
'repos': [
{
'repo': 'meta',
'repo': 'local',
'hooks': [
# applies to a file
{
'id': 'check-yaml',
'name': 'check yaml',
'entry': './check-yaml',
'language': 'script',
'files': r'\.yaml$',
},
# Should not be reported as an error due to language: fail
{
'id': 'changelogs-rst',
'name': 'changelogs must be rst',
'entry': 'changelog filenames must end in .rst',
'language': 'fail',
'files': r'changelog/.*(?<!\.rst)$',
},
# Should not be reported as an error due to always_run
{
'id': 'check-useless-excludes',
'id': 'i-always-run',
'name': 'make check',
'entry': 'make check',
'language': 'system',
'files': '^$',
'always_run': True,
},
@@ -131,32 +150,3 @@ def test_valid_always_run(capsys, tempdir_factory, mock_store_dir):
out, _ = capsys.readouterr()
assert out == ''
def test_valid_language_fail(capsys, tempdir_factory, mock_store_dir):
config = {
'repos': [
{
'repo': 'local',
'hooks': [
# Should not be reported as an error due to language: fail
{
'id': 'changelogs-rst',
'name': 'changelogs must be rst',
'entry': 'changelog filenames must end in .rst',
'language': 'fail',
'files': r'changelog/.*(?<!\.rst)$',
},
],
},
],
}
repo = git_dir(tempdir_factory)
add_config_to_repo(repo, config)
with cwd(repo):
assert check_hooks_apply.main(()) == 0
out, _ = capsys.readouterr()
assert out == ''