55import io
66import os .path
77import re
8- import subprocess
98import sys
109
1110import mock
@@ -121,30 +120,28 @@ def _get_commit_output(tempdir_factory, touch_file='foo', **kwargs):
121120 cmd_output ('git' , 'add' , touch_file )
122121 return git_commit (
123122 fn = cmd_output_mocked_pre_commit_home ,
124- # git commit puts pre-commit to stderr
125- stderr = subprocess .STDOUT ,
126123 retcode = None ,
127124 tempdir_factory = tempdir_factory ,
128125 ** kwargs
129- )[: 2 ]
126+ )
130127
131128
132129# osx does this different :(
133130FILES_CHANGED = (
134131 r'('
135- r' 1 file changed, 0 insertions\(\+\), 0 deletions\(-\)\r?\ n'
132+ r' 1 file changed, 0 insertions\(\+\), 0 deletions\(-\)\n'
136133 r'|'
137- r' 0 files changed\r?\ n'
134+ r' 0 files changed\n'
138135 r')'
139136)
140137
141138
142139NORMAL_PRE_COMMIT_RUN = re .compile (
143- r'^\[INFO\] Initializing environment for .+\.\r?\ n'
144- r'Bash hook\.+Passed\r?\ n'
145- r'\[master [a-f0-9]{7}\] commit!\r?\ n' +
140+ r'^\[INFO\] Initializing environment for .+\.\n'
141+ r'Bash hook\.+Passed\n'
142+ r'\[master [a-f0-9]{7}\] commit!\n' +
146143 FILES_CHANGED +
147- r' create mode 100644 foo\r?\ n$' ,
144+ r' create mode 100644 foo\n$' ,
148145)
149146
150147
@@ -265,7 +262,7 @@ def test_environment_not_sourced(tempdir_factory, store):
265262
266263 # Use a specific homedir to ignore --user installs
267264 homedir = tempdir_factory .get ()
268- ret , stdout , stderr = git_commit (
265+ ret , out = git_commit (
269266 env = {
270267 'HOME' : homedir ,
271268 'PATH' : _path_without_us (),
@@ -278,22 +275,21 @@ def test_environment_not_sourced(tempdir_factory, store):
278275 retcode = None ,
279276 )
280277 assert ret == 1
281- assert stdout == ''
282- assert stderr .replace ('\r \n ' , '\n ' ) == (
278+ assert out == (
283279 '`pre-commit` not found. '
284280 'Did you forget to activate your virtualenv?\n '
285281 )
286282
287283
288284FAILING_PRE_COMMIT_RUN = re .compile (
289- r'^\[INFO\] Initializing environment for .+\.\r?\ n'
290- r'Failing hook\.+Failed\r?\ n'
291- r'- hook id: failing_hook\r?\ n'
292- r'- exit code: 1\r?\ n'
293- r'\r?\ n'
294- r'Fail\r?\ n'
295- r'foo\r?\ n'
296- r'\r?\ n$' ,
285+ r'^\[INFO\] Initializing environment for .+\.\n'
286+ r'Failing hook\.+Failed\n'
287+ r'- hook id: failing_hook\n'
288+ r'- exit code: 1\n'
289+ r'\n'
290+ r'Fail\n'
291+ r'foo\n'
292+ r'\n$' ,
297293)
298294
299295
@@ -308,10 +304,10 @@ def test_failing_hooks_returns_nonzero(tempdir_factory, store):
308304
309305
310306EXISTING_COMMIT_RUN = re .compile (
311- r'^legacy hook\r?\ n'
312- r'\[master [a-f0-9]{7}\] commit!\r?\ n' +
307+ r'^legacy hook\n'
308+ r'\[master [a-f0-9]{7}\] commit!\n' +
313309 FILES_CHANGED +
314- r' create mode 100644 baz\r?\ n$' ,
310+ r' create mode 100644 baz\n$' ,
315311)
316312
317313
@@ -369,9 +365,9 @@ def test_install_existing_hook_no_overwrite_idempotent(tempdir_factory, store):
369365
370366
371367FAIL_OLD_HOOK = re .compile (
372- r'fail!\r?\ n'
373- r'\[INFO\] Initializing environment for .+\.\r?\ n'
374- r'Bash hook\.+Passed\r?\ n' ,
368+ r'fail!\n'
369+ r'\[INFO\] Initializing environment for .+\.\n'
370+ r'Bash hook\.+Passed\n' ,
375371)
376372
377373
@@ -465,10 +461,10 @@ def test_uninstall_doesnt_remove_not_our_hooks(in_git_dir):
465461
466462
467463PRE_INSTALLED = re .compile (
468- r'Bash hook\.+Passed\r?\ n'
469- r'\[master [a-f0-9]{7}\] commit!\r?\ n' +
464+ r'Bash hook\.+Passed\n'
465+ r'\[master [a-f0-9]{7}\] commit!\n' +
470466 FILES_CHANGED +
471- r' create mode 100644 foo\r?\ n$' ,
467+ r' create mode 100644 foo\n$' ,
472468)
473469
474470
@@ -527,8 +523,6 @@ def test_installed_from_venv(tempdir_factory, store):
527523def _get_push_output (tempdir_factory , opts = ()):
528524 return cmd_output_mocked_pre_commit_home (
529525 'git' , 'push' , 'origin' , 'HEAD:new_branch' , * opts ,
530- # git push puts pre-commit to stderr
531- stderr = subprocess .STDOUT ,
532526 tempdir_factory = tempdir_factory ,
533527 retcode = None
534528 )[:2 ]
@@ -648,7 +642,7 @@ def test_commit_msg_integration_failing(
648642 install (C .CONFIG_FILE , store , hook_types = ['commit-msg' ])
649643 retc , out = _get_commit_output (tempdir_factory )
650644 assert retc == 1
651- assert out . replace ( ' \r ' , '' ) == '''\
645+ assert out == '''\
652646 Must have "Signed off by:"...............................................Failed
653647- hook id: must-have-signoff
654648- exit code: 1
@@ -695,7 +689,7 @@ def test_prepare_commit_msg_integration_failing(
695689 install (C .CONFIG_FILE , store , hook_types = ['prepare-commit-msg' ])
696690 retc , out = _get_commit_output (tempdir_factory )
697691 assert retc == 1
698- assert out . replace ( ' \r ' , '' ) == '''\
692+ assert out == '''\
699693 Add "Signed off by:".....................................................Failed
700694- hook id: add-signoff
701695- exit code: 1
0 commit comments