fixes for cfgv>=2

This commit is contained in:
Anthony Sottile 2019-05-27 13:37:49 -07:00
parent 099f521b7e
commit 625750eeef
5 changed files with 17 additions and 13 deletions

View file

@ -149,10 +149,16 @@ def _entry(modname):
) )
def warn_unknown_keys(extra, orig_keys): def warn_unknown_keys_root(extra, orig_keys, dct):
logger.warning( logger.warning(
'Unexpected config key(s): {}'.format( 'Unexpected key(s) present at root: {}'.format(', '.join(extra)),
', '.join(sorted(extra)), )
def warn_unknown_keys_repo(extra, orig_keys, dct):
logger.warning(
'Unexpected key(s) present on {}: {}'.format(
dct['repo'], ', '.join(extra),
), ),
) )
@ -235,10 +241,7 @@ CONFIG_REPO_DICT = cfgv.Map(
), ),
MigrateShaToRev(), MigrateShaToRev(),
cfgv.WarnAdditionalKeys( cfgv.WarnAdditionalKeys(('repo', 'rev', 'hooks'), warn_unknown_keys_repo),
('repo', 'rev', 'hooks'),
warn_unknown_keys,
),
) )
DEFAULT_LANGUAGE_VERSION = cfgv.Map( DEFAULT_LANGUAGE_VERSION = cfgv.Map(
'DefaultLanguageVersion', None, 'DefaultLanguageVersion', None,
@ -273,7 +276,7 @@ CONFIG_SCHEMA = cfgv.Map(
'fail_fast', 'fail_fast',
'minimum_pre_commit_version', 'minimum_pre_commit_version',
), ),
warn_unknown_keys, warn_unknown_keys_root,
), ),
) )

View file

@ -105,7 +105,7 @@ class Hook(collections.namedtuple('Hook', ('src', 'prefix') + _KEYS)):
extra_keys = set(dct) - set(_KEYS) extra_keys = set(dct) - set(_KEYS)
if extra_keys: if extra_keys:
logger.warning( logger.warning(
'Unexpected keys present on {} => {}: ' 'Unexpected key(s) present on {} => {}: '
'{}'.format(src, dct['id'], ', '.join(sorted(extra_keys))), '{}'.format(src, dct['id'], ', '.join(sorted(extra_keys))),
) )
return cls(src=src, prefix=prefix, **{k: dct[k] for k in _KEYS}) return cls(src=src, prefix=prefix, **{k: dct[k] for k in _KEYS})

View file

@ -25,7 +25,7 @@ classifiers =
packages = find: packages = find:
install_requires = install_requires =
aspy.yaml aspy.yaml
cfgv>=1.4.0 cfgv>=2.0.0
identify>=1.0.0 identify>=1.0.0
importlib-metadata importlib-metadata
nodeenv>=0.11.1 nodeenv>=0.11.1

View file

@ -133,7 +133,8 @@ def test_validate_warn_on_unknown_keys_at_repo_level(tmpdir, caplog):
( (
'pre_commit', 'pre_commit',
logging.WARNING, logging.WARNING,
'Unexpected config key(s): args', 'Unexpected key(s) present on https://gitlab.com/pycqa/flake8: '
'args',
), ),
] ]
@ -155,7 +156,7 @@ def test_validate_warn_on_unknown_keys_at_top_level(tmpdir, caplog):
( (
'pre_commit', 'pre_commit',
logging.WARNING, logging.WARNING,
'Unexpected config key(s): foo', 'Unexpected key(s) present at root: foo',
), ),
] ]

View file

@ -588,7 +588,7 @@ def test_unknown_keys(store, fake_log_handler):
}], }],
} }
_get_hook(config, store, 'too-much') _get_hook(config, store, 'too-much')
expected = 'Unexpected keys present on local => too-much: foo, hello' expected = 'Unexpected key(s) present on local => too-much: foo, hello'
assert fake_log_handler.handle.call_args[0][0].msg == expected assert fake_log_handler.handle.call_args[0][0].msg == expected