mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-04-14 17:41:45 +04:00
Fix python 2.6
This commit is contained in:
parent
18249bec8a
commit
1238368f88
3 changed files with 27 additions and 5 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
import contextlib
|
import contextlib
|
||||||
import subprocess
|
|
||||||
|
|
||||||
from pre_commit.languages import helpers
|
from pre_commit.languages import helpers
|
||||||
from pre_commit.languages import python
|
from pre_commit.languages import python
|
||||||
|
from pre_commit.prefixed_command_runner import CalledProcessError
|
||||||
|
|
||||||
|
|
||||||
NODE_ENV = 'node_env'
|
NODE_ENV = 'node_env'
|
||||||
|
|
@ -38,7 +38,7 @@ def install_environment(repo_cmd_runner):
|
||||||
# Try and use the system level node executable first
|
# Try and use the system level node executable first
|
||||||
try:
|
try:
|
||||||
python_env.run('nodeenv -n system {{prefix}}{0}'.format(NODE_ENV))
|
python_env.run('nodeenv -n system {{prefix}}{0}'.format(NODE_ENV))
|
||||||
except subprocess.CalledProcessError:
|
except CalledProcessError:
|
||||||
# TODO: log failure here
|
# TODO: log failure here
|
||||||
# cleanup
|
# cleanup
|
||||||
# TODO: local.path(NODE_ENV).delete()
|
# TODO: local.path(NODE_ENV).delete()
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,27 @@ import os.path
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
class CalledProcessError(RuntimeError):
|
||||||
|
def __init__(self, returncode, cmd, expected_returncode, output=None):
|
||||||
|
self.returncode = returncode
|
||||||
|
self.cmd = cmd
|
||||||
|
self.expected_returncode = expected_returncode
|
||||||
|
self.output = output
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return (
|
||||||
|
'Command: {0!r}\n'
|
||||||
|
'Return code: {1}\n'
|
||||||
|
'Expected return code {2}\n',
|
||||||
|
'Output: {3!r}\n'.format(
|
||||||
|
self.cmd,
|
||||||
|
self.returncode,
|
||||||
|
self.expected_returncode,
|
||||||
|
self.output,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _replace_cmd(cmd, **kwargs):
|
def _replace_cmd(cmd, **kwargs):
|
||||||
return [part.format(**kwargs) for part in cmd]
|
return [part.format(**kwargs) for part in cmd]
|
||||||
|
|
||||||
|
|
@ -40,8 +61,8 @@ class PrefixedCommandRunner(object):
|
||||||
returncode = proc.returncode
|
returncode = proc.returncode
|
||||||
|
|
||||||
if retcode is not None and retcode != returncode:
|
if retcode is not None and retcode != returncode:
|
||||||
raise subprocess.CalledProcessError(
|
raise CalledProcessError(
|
||||||
returncode, replaced_cmd, output=(stdout, stderr),
|
returncode, replaced_cmd, retcode, output=(stdout, stderr),
|
||||||
)
|
)
|
||||||
|
|
||||||
return proc.returncode, stdout, stderr
|
return proc.returncode, stdout, stderr
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import subprocess
|
||||||
from plumbum import local
|
from plumbum import local
|
||||||
|
|
||||||
from pre_commit.prefixed_command_runner import _replace_cmd
|
from pre_commit.prefixed_command_runner import _replace_cmd
|
||||||
|
from pre_commit.prefixed_command_runner import CalledProcessError
|
||||||
from pre_commit.prefixed_command_runner import PrefixedCommandRunner
|
from pre_commit.prefixed_command_runner import PrefixedCommandRunner
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -129,7 +130,7 @@ def test_exists_does_exist(tmpdir):
|
||||||
|
|
||||||
def test_raises_on_error(popen_mock, makedirs_mock):
|
def test_raises_on_error(popen_mock, makedirs_mock):
|
||||||
popen_mock.return_value.returncode = 1
|
popen_mock.return_value.returncode = 1
|
||||||
with pytest.raises(subprocess.CalledProcessError):
|
with pytest.raises(CalledProcessError):
|
||||||
instance = PrefixedCommandRunner(
|
instance = PrefixedCommandRunner(
|
||||||
'.', popen=popen_mock, makedirs=makedirs_mock,
|
'.', popen=popen_mock, makedirs=makedirs_mock,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue