Skip to content

Commit 848a73e

Browse files
authored
Merge pull request pre-commit#2658 from pre-commit/remove-pre-commit-validate
remove pre-commit-validate-config and pre-commit-validate-manifest
2 parents d33df92 + 4a50859 commit 848a73e

File tree

7 files changed

+88
-121
lines changed

7 files changed

+88
-121
lines changed

pre_commit/clientlib.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import annotations
22

3-
import argparse
43
import functools
54
import logging
65
import re
@@ -13,12 +12,8 @@
1312
from identify.identify import ALL_TAGS
1413

1514
import pre_commit.constants as C
16-
from pre_commit.color import add_color_option
17-
from pre_commit.commands.validate_config import validate_config
18-
from pre_commit.commands.validate_manifest import validate_manifest
1915
from pre_commit.errors import FatalError
2016
from pre_commit.languages.all import all_languages
21-
from pre_commit.logging_handler import logging_handler
2217
from pre_commit.util import parse_version
2318
from pre_commit.util import yaml_load
2419

@@ -44,14 +39,6 @@ def check_min_version(version: str) -> None:
4439
)
4540

4641

47-
def _make_argparser(filenames_help: str) -> argparse.ArgumentParser:
48-
parser = argparse.ArgumentParser()
49-
parser.add_argument('filenames', nargs='*', help=filenames_help)
50-
parser.add_argument('-V', '--version', action='version', version=C.VERSION)
51-
add_color_option(parser)
52-
return parser
53-
54-
5542
MANIFEST_HOOK_DICT = cfgv.Map(
5643
'Hook', 'id',
5744

@@ -97,19 +84,6 @@ class InvalidManifestError(FatalError):
9784
)
9885

9986

100-
def validate_manifest_main(argv: Sequence[str] | None = None) -> int:
101-
parser = _make_argparser('Manifest filenames.')
102-
args = parser.parse_args(argv)
103-
104-
with logging_handler(args.color):
105-
logger.warning(
106-
'pre-commit-validate-manifest is deprecated -- '
107-
'use `pre-commit validate-manifest` instead.',
108-
)
109-
110-
return validate_manifest(args.filenames)
111-
112-
11387
LOCAL = 'local'
11488
META = 'meta'
11589

@@ -363,16 +337,3 @@ class InvalidConfigError(FatalError):
363337
load_strategy=yaml_load,
364338
exc_tp=InvalidConfigError,
365339
)
366-
367-
368-
def validate_config_main(argv: Sequence[str] | None = None) -> int:
369-
parser = _make_argparser('Config filenames.')
370-
args = parser.parse_args(argv)
371-
372-
with logging_handler(args.color):
373-
logger.warning(
374-
'pre-commit-validate-config is deprecated -- '
375-
'use `pre-commit validate-config` instead.',
376-
)
377-
378-
return validate_config(args.filenames)

pre_commit/commands/validate_config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
from __future__ import annotations
22

3+
from typing import Sequence
4+
35
from pre_commit import clientlib
46

57

6-
def validate_config(filenames: list[str]) -> int:
8+
def validate_config(filenames: Sequence[str]) -> int:
79
ret = 0
810

911
for filename in filenames:

pre_commit/commands/validate_manifest.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
from __future__ import annotations
22

3+
from typing import Sequence
4+
35
from pre_commit import clientlib
46

57

6-
def validate_manifest(filenames: list[str]) -> int:
8+
def validate_manifest(filenames: Sequence[str]) -> int:
79
ret = 0
810

911
for filename in filenames:

setup.cfg

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ exclude =
3434
[options.entry_points]
3535
console_scripts =
3636
pre-commit = pre_commit.main:main
37-
pre-commit-validate-config = pre_commit.clientlib:validate_config_main
38-
pre-commit-validate-manifest = pre_commit.clientlib:validate_manifest_main
3937

4038
[options.package_data]
4139
pre_commit.resources =

tests/clientlib_test.py

Lines changed: 0 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
from pre_commit.clientlib import META_HOOK_DICT
1717
from pre_commit.clientlib import OptionalSensibleRegexAtHook
1818
from pre_commit.clientlib import OptionalSensibleRegexAtTop
19-
from pre_commit.clientlib import validate_config_main
20-
from pre_commit.clientlib import validate_manifest_main
2119
from testing.fixtures import sample_local_config
2220

2321

@@ -111,70 +109,6 @@ def test_config_schema_does_not_contain_defaults():
111109
assert not isinstance(item, cfgv.Optional)
112110

113111

114-
def test_validate_manifest_main_ok():
115-
assert not validate_manifest_main(('.pre-commit-hooks.yaml',))
116-
117-
118-
def test_validate_config_main_ok():
119-
assert not validate_config_main(('.pre-commit-config.yaml',))
120-
121-
122-
def test_validate_warn_on_unknown_keys_at_repo_level(tmpdir, caplog):
123-
f = tmpdir.join('cfg.yaml')
124-
f.write(
125-
'repos:\n'
126-
'- repo: https://gitlab.com/pycqa/flake8\n'
127-
' rev: 3.7.7\n'
128-
' hooks:\n'
129-
' - id: flake8\n'
130-
' args: [--some-args]\n',
131-
)
132-
ret_val = validate_config_main((f.strpath,))
133-
assert not ret_val
134-
assert caplog.record_tuples == [
135-
(
136-
'pre_commit',
137-
logging.WARNING,
138-
'pre-commit-validate-config is deprecated -- '
139-
'use `pre-commit validate-config` instead.',
140-
),
141-
(
142-
'pre_commit',
143-
logging.WARNING,
144-
'Unexpected key(s) present on https://gitlab.com/pycqa/flake8: '
145-
'args',
146-
),
147-
]
148-
149-
150-
def test_validate_warn_on_unknown_keys_at_top_level(tmpdir, caplog):
151-
f = tmpdir.join('cfg.yaml')
152-
f.write(
153-
'repos:\n'
154-
'- repo: https://gitlab.com/pycqa/flake8\n'
155-
' rev: 3.7.7\n'
156-
' hooks:\n'
157-
' - id: flake8\n'
158-
'foo:\n'
159-
' id: 1.0.0\n',
160-
)
161-
ret_val = validate_config_main((f.strpath,))
162-
assert not ret_val
163-
assert caplog.record_tuples == [
164-
(
165-
'pre_commit',
166-
logging.WARNING,
167-
'pre-commit-validate-config is deprecated -- '
168-
'use `pre-commit validate-config` instead.',
169-
),
170-
(
171-
'pre_commit',
172-
logging.WARNING,
173-
'Unexpected key(s) present at root: foo',
174-
),
175-
]
176-
177-
178112
def test_ci_map_key_allowed_at_top_level(caplog):
179113
cfg = {
180114
'ci': {'skip': ['foo']},
@@ -361,18 +295,6 @@ def test_validate_optional_sensible_regex_at_top_level(caplog, regex, warning):
361295
assert caplog.record_tuples == [('pre_commit', logging.WARNING, warning)]
362296

363297

364-
@pytest.mark.parametrize('fn', (validate_config_main, validate_manifest_main))
365-
def test_mains_not_ok(tmpdir, fn):
366-
not_yaml = tmpdir.join('f.notyaml')
367-
not_yaml.write('{')
368-
not_schema = tmpdir.join('notconfig.yaml')
369-
not_schema.write('{}')
370-
371-
assert fn(('does-not-exist',))
372-
assert fn((not_yaml.strpath,))
373-
assert fn((not_schema.strpath,))
374-
375-
376298
@pytest.mark.parametrize(
377299
('manifest_obj', 'expected'),
378300
(
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
from __future__ import annotations
2+
3+
import logging
4+
5+
from pre_commit.commands.validate_config import validate_config
6+
7+
8+
def test_validate_config_ok():
9+
assert not validate_config(('.pre-commit-config.yaml',))
10+
11+
12+
def test_validate_warn_on_unknown_keys_at_repo_level(tmpdir, caplog):
13+
f = tmpdir.join('cfg.yaml')
14+
f.write(
15+
'repos:\n'
16+
'- repo: https://gitlab.com/pycqa/flake8\n'
17+
' rev: 3.7.7\n'
18+
' hooks:\n'
19+
' - id: flake8\n'
20+
' args: [--some-args]\n',
21+
)
22+
ret_val = validate_config((f.strpath,))
23+
assert not ret_val
24+
assert caplog.record_tuples == [
25+
(
26+
'pre_commit',
27+
logging.WARNING,
28+
'Unexpected key(s) present on https://gitlab.com/pycqa/flake8: '
29+
'args',
30+
),
31+
]
32+
33+
34+
def test_validate_warn_on_unknown_keys_at_top_level(tmpdir, caplog):
35+
f = tmpdir.join('cfg.yaml')
36+
f.write(
37+
'repos:\n'
38+
'- repo: https://gitlab.com/pycqa/flake8\n'
39+
' rev: 3.7.7\n'
40+
' hooks:\n'
41+
' - id: flake8\n'
42+
'foo:\n'
43+
' id: 1.0.0\n',
44+
)
45+
ret_val = validate_config((f.strpath,))
46+
assert not ret_val
47+
assert caplog.record_tuples == [
48+
(
49+
'pre_commit',
50+
logging.WARNING,
51+
'Unexpected key(s) present at root: foo',
52+
),
53+
]
54+
55+
56+
def test_mains_not_ok(tmpdir):
57+
not_yaml = tmpdir.join('f.notyaml')
58+
not_yaml.write('{')
59+
not_schema = tmpdir.join('notconfig.yaml')
60+
not_schema.write('{}')
61+
62+
assert validate_config(('does-not-exist',))
63+
assert validate_config((not_yaml.strpath,))
64+
assert validate_config((not_schema.strpath,))
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from __future__ import annotations
2+
3+
from pre_commit.commands.validate_manifest import validate_manifest
4+
5+
6+
def test_validate_manifest_ok():
7+
assert not validate_manifest(('.pre-commit-hooks.yaml',))
8+
9+
10+
def test_not_ok(tmpdir):
11+
not_yaml = tmpdir.join('f.notyaml')
12+
not_yaml.write('{')
13+
not_schema = tmpdir.join('notconfig.yaml')
14+
not_schema.write('{}')
15+
16+
assert validate_manifest(('does-not-exist',))
17+
assert validate_manifest((not_yaml.strpath,))
18+
assert validate_manifest((not_schema.strpath,))

0 commit comments

Comments
 (0)