summaryrefslogtreecommitdiffstats
path: root/tests/commands
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2021-12-04 03:57:54 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-12-04 03:57:54 +0000
commitfc1651ef0b7ccedc604b28d5893f5cd486cd4091 (patch)
tree3ea033abb546734a46b2e947756e0d9f792b0e80 /tests/commands
parentReleasing debian version 2.15.0-1. (diff)
downloadpre-commit-fc1651ef0b7ccedc604b28d5893f5cd486cd4091.tar.xz
pre-commit-fc1651ef0b7ccedc604b28d5893f5cd486cd4091.zip
Merging upstream version 2.16.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/commands')
-rw-r--r--tests/commands/autoupdate_test.py9
-rw-r--r--tests/commands/install_uninstall_test.py6
-rw-r--r--tests/commands/run_test.py12
3 files changed, 22 insertions, 5 deletions
diff --git a/tests/commands/autoupdate_test.py b/tests/commands/autoupdate_test.py
index b2bad60..7316eb9 100644
--- a/tests/commands/autoupdate_test.py
+++ b/tests/commands/autoupdate_test.py
@@ -5,6 +5,7 @@ import pytest
import yaml
import pre_commit.constants as C
+from pre_commit import envcontext
from pre_commit import git
from pre_commit import util
from pre_commit.commands.autoupdate import _check_hooks_still_exist_at_rev
@@ -176,6 +177,14 @@ def test_autoupdate_out_of_date_repo(out_of_date, tmpdir, store):
assert cfg.read() == fmt.format(out_of_date.path, out_of_date.head_rev)
+def test_autoupdate_with_core_useBuiltinFSMonitor(out_of_date, tmpdir, store):
+ # force the setting on "globally" for git
+ home = tmpdir.join('fakehome').ensure_dir()
+ home.join('.gitconfig').write('[core]\nuseBuiltinFSMonitor = true\n')
+ with envcontext.envcontext((('HOME', str(home)),)):
+ test_autoupdate_out_of_date_repo(out_of_date, tmpdir, store)
+
+
def test_autoupdate_pure_yaml(out_of_date, tmpdir, store):
with mock.patch.object(util, 'Dumper', yaml.SafeDumper):
test_autoupdate_out_of_date_repo(out_of_date, tmpdir, store)
diff --git a/tests/commands/install_uninstall_test.py b/tests/commands/install_uninstall_test.py
index 3c07124..8339903 100644
--- a/tests/commands/install_uninstall_test.py
+++ b/tests/commands/install_uninstall_test.py
@@ -278,11 +278,7 @@ def test_environment_not_sourced(tempdir_factory, store):
hook = os.path.join(path, '.git/hooks/pre-commit')
with open(hook) as f:
src = f.read()
- src = re.sub(
- '\nINSTALL_PYTHON =.*\n',
- '\nINSTALL_PYTHON = "/dne"\n',
- src,
- )
+ src = re.sub('\nINSTALL_PYTHON=.*\n', '\nINSTALL_PYTHON="/dne"\n', src)
with open(hook, 'w') as f:
f.write(src)
diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py
index 8c15395..3a6fa2a 100644
--- a/tests/commands/run_test.py
+++ b/tests/commands/run_test.py
@@ -985,6 +985,18 @@ def test_fail_fast(cap_out, store, repo_with_failing_hook):
assert printed.count(b'Failing hook') == 1
+def test_fail_fast_per_hook(cap_out, store, repo_with_failing_hook):
+ with modify_config() as config:
+ # More than one hook
+ config['repos'][0]['hooks'] *= 2
+ config['repos'][0]['hooks'][0]['fail_fast'] = True
+ stage_a_file()
+
+ ret, printed = _do_run(cap_out, store, repo_with_failing_hook, run_opts())
+ # it should have only run one hook
+ assert printed.count(b'Failing hook') == 1
+
+
def test_classifier_removes_dne():
classifier = Classifier(('this_file_does_not_exist',))
assert classifier.filenames == []