mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Don't crash out on OSErrors in subprocess calls
This commit is contained in:
parent
58a16bcf57
commit
03617b2f98
3 changed files with 39 additions and 14 deletions
|
|
@ -9,6 +9,7 @@ from pre_commit.util import clean_path_on_failure
|
|||
from pre_commit.util import cmd_output
|
||||
from pre_commit.util import cmd_output_b
|
||||
from pre_commit.util import cmd_output_p
|
||||
from pre_commit.util import make_executable
|
||||
from pre_commit.util import parse_version
|
||||
from pre_commit.util import rmtree
|
||||
from pre_commit.util import tmpdir
|
||||
|
|
@ -92,6 +93,18 @@ def test_cmd_output_exe_not_found_bytes(fn):
|
|||
assert out == b'Executable `dne` not found'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('fn', (cmd_output_b, cmd_output_p))
|
||||
def test_cmd_output_no_shebang(tmpdir, fn):
|
||||
f = tmpdir.join('f').ensure()
|
||||
make_executable(f)
|
||||
|
||||
# previously this raised `OSError` -- the output is platform specific
|
||||
ret, out, _ = fn(str(f), retcode=None, stderr=subprocess.STDOUT)
|
||||
assert ret == 1
|
||||
assert isinstance(out, bytes)
|
||||
assert out.endswith(b'\n')
|
||||
|
||||
|
||||
def test_parse_version():
|
||||
assert parse_version('0.0') == parse_version('0.0')
|
||||
assert parse_version('0.1') > parse_version('0.0')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue