mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-19 09:04:41 +04:00
Add language: fail
This commit is contained in:
parent
cf691e85c8
commit
a6e2e1d4bb
3 changed files with 40 additions and 0 deletions
|
|
@ -2,6 +2,7 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
from pre_commit.languages import docker
|
from pre_commit.languages import docker
|
||||||
from pre_commit.languages import docker_image
|
from pre_commit.languages import docker_image
|
||||||
|
from pre_commit.languages import fail
|
||||||
from pre_commit.languages import golang
|
from pre_commit.languages import golang
|
||||||
from pre_commit.languages import node
|
from pre_commit.languages import node
|
||||||
from pre_commit.languages import pcre
|
from pre_commit.languages import pcre
|
||||||
|
|
@ -54,6 +55,7 @@ from pre_commit.languages import system
|
||||||
languages = {
|
languages = {
|
||||||
'docker': docker,
|
'docker': docker,
|
||||||
'docker_image': docker_image,
|
'docker_image': docker_image,
|
||||||
|
'fail': fail,
|
||||||
'golang': golang,
|
'golang': golang,
|
||||||
'node': node,
|
'node': node,
|
||||||
'pcre': pcre,
|
'pcre': pcre,
|
||||||
|
|
|
||||||
15
pre_commit/languages/fail.py
Normal file
15
pre_commit/languages/fail.py
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from pre_commit.languages import helpers
|
||||||
|
|
||||||
|
|
||||||
|
ENVIRONMENT_DIR = None
|
||||||
|
get_default_version = helpers.basic_get_default_version
|
||||||
|
healthy = helpers.basic_healthy
|
||||||
|
install_environment = helpers.no_install
|
||||||
|
|
||||||
|
|
||||||
|
def run_hook(prefix, hook, file_args):
|
||||||
|
out = hook['entry'].encode('UTF-8') + b'\n\n'
|
||||||
|
out += b'\n'.join(f.encode('UTF-8') for f in file_args) + b'\n'
|
||||||
|
return 1, out, b''
|
||||||
|
|
@ -589,6 +589,29 @@ def test_local_rust_additional_dependencies(store):
|
||||||
assert _norm_out(ret[1]) == b"Hello World!\n"
|
assert _norm_out(ret[1]) == b"Hello World!\n"
|
||||||
|
|
||||||
|
|
||||||
|
def test_fail_hooks(store):
|
||||||
|
config = {
|
||||||
|
'repo': 'local',
|
||||||
|
'hooks': [{
|
||||||
|
'id': 'fail',
|
||||||
|
'name': 'fail',
|
||||||
|
'language': 'fail',
|
||||||
|
'entry': 'make sure to name changelogs as .rst!',
|
||||||
|
'files': r'changelog/.*(?<!\.rst)$',
|
||||||
|
}],
|
||||||
|
}
|
||||||
|
repo = Repository.create(config, store)
|
||||||
|
(_, hook), = repo.hooks
|
||||||
|
ret = repo.run_hook(hook, ('changelog/1234.bugfix', 'changelog/wat'))
|
||||||
|
assert ret[0] == 1
|
||||||
|
assert ret[1] == (
|
||||||
|
b'make sure to name changelogs as .rst!\n'
|
||||||
|
b'\n'
|
||||||
|
b'changelog/1234.bugfix\n'
|
||||||
|
b'changelog/wat\n'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_reinstall(tempdir_factory, store, log_info_mock):
|
def test_reinstall(tempdir_factory, store, log_info_mock):
|
||||||
path = make_repo(tempdir_factory, 'python_hooks_repo')
|
path = make_repo(tempdir_factory, 'python_hooks_repo')
|
||||||
config = make_config_from_repo(path)
|
config = make_config_from_repo(path)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue