diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-02-08 04:17:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-02-08 04:17:11 +0000 |
commit | 9139c894a3d5d30791bf7907cf8546e0bc686048 (patch) | |
tree | 3ff3e06ca019571c4ce940af3775a8df7007997a /tests/commands/run_test.py | |
parent | Adding upstream version 3.0.3. (diff) | |
download | pre-commit-9139c894a3d5d30791bf7907cf8546e0bc686048.tar.xz pre-commit-9139c894a3d5d30791bf7907cf8546e0bc686048.zip |
Adding upstream version 3.0.4.upstream/3.0.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/commands/run_test.py')
-rw-r--r-- | tests/commands/run_test.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py index 03d741e..f1085d9 100644 --- a/tests/commands/run_test.py +++ b/tests/commands/run_test.py @@ -766,6 +766,47 @@ def test_lots_of_files(store, tempdir_factory): ) +def test_no_textconv(cap_out, store, repo_with_passing_hook): + # git textconv filters can hide changes from hooks + with open('.gitattributes', 'w') as fp: + fp.write('*.jpeg diff=empty\n') + + with open('.git/config', 'a') as fp: + fp.write('[diff "empty"]\n') + fp.write('textconv = "true"\n') + + config = { + 'repo': 'local', + 'hooks': [ + { + 'id': 'extend-jpeg', + 'name': 'extend-jpeg', + 'language': 'system', + 'entry': ( + f'{shlex.quote(sys.executable)} -c "import sys; ' + 'open(sys.argv[1], \'ab\').write(b\'\\x00\')"' + ), + 'types': ['jpeg'], + }, + ], + } + add_config_to_repo(repo_with_passing_hook, config) + + stage_a_file('example.jpeg') + + _test_run( + cap_out, + store, + repo_with_passing_hook, + {}, + ( + b'Failed', + ), + expected_ret=1, + stage=False, + ) + + def test_stages(cap_out, store, repo_with_passing_hook): config = { 'repo': 'local', |