diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/identify_test.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/identify_test.py b/tests/identify_test.py index 8cc5856..f881f0b 100644 --- a/tests/identify_test.py +++ b/tests/identify_test.py @@ -1,8 +1,11 @@ +import builtins +import errno import io import os import socket import stat from tempfile import TemporaryDirectory +from unittest import mock import pytest @@ -330,6 +333,15 @@ def test_parse_shebang_from_file_simple(tmpdir): assert identify.parse_shebang_from_file(x.strpath) == ('python',) +def test_parse_shebang_open_raises_einval(tmpdir): + x = tmpdir.join('f') + x.write('#!/usr/bin/env not-expected\n') + make_executable(x) + error = OSError(errno.EINVAL, f'Invalid argument {x}') + with mock.patch.object(builtins, 'open', side_effect=error): + assert identify.parse_shebang_from_file(x.strpath) == () + + def make_executable(filename): original_mode = os.stat(filename).st_mode os.chmod( |