summaryrefslogtreecommitdiffstats
path: root/tests/identify_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/identify_test.py')
-rw-r--r--tests/identify_test.py12
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(