summaryrefslogtreecommitdiff
path: root/tests/unittest_modutils.py
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2022-08-09 04:12:52 -0400
committerGitHub <noreply@github.com>2022-08-09 10:12:52 +0200
commit93ca875a10c4ff84772d77e52f991882309ca7aa (patch)
treeaf7d1d8c5edfa29900811942e9b1ed432bc189fc /tests/unittest_modutils.py
parent4551b579ac91534cc7690974aabd36e51d1572b7 (diff)
downloadastroid-git-93ca875a10c4ff84772d77e52f991882309ca7aa.tar.gz
Fix crash in `ExplicitNamespacePackageFinder` (#1714)
* Add skip if no `six` * `urllib3` does appear to be required * Check `submodule_search_locations` Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Diffstat (limited to 'tests/unittest_modutils.py')
-rw-r--r--tests/unittest_modutils.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/unittest_modutils.py b/tests/unittest_modutils.py
index 96418b01..82bb7660 100644
--- a/tests/unittest_modutils.py
+++ b/tests/unittest_modutils.py
@@ -17,6 +17,7 @@ from pathlib import Path
from xml import etree
from xml.etree import ElementTree
+import pytest
from pytest import CaptureFixture, LogCaptureFixture
import astroid
@@ -25,6 +26,13 @@ from astroid.interpreter._import import spec
from . import resources
+try:
+ import urllib3 # pylint: disable=unused-import
+
+ HAS_URLLIB3 = True
+except ImportError:
+ HAS_URLLIB3 = False
+
def _get_file_from_object(obj) -> str:
return modutils._path_from_filename(obj.__file__)
@@ -439,5 +447,14 @@ class ExtensionPackageWhitelistTest(unittest.TestCase):
)
+@pytest.mark.skipif(not HAS_URLLIB3, reason="This test requires urllib3.")
+def test_file_info_from_modpath__SixMetaPathImporter() -> None:
+ pytest.raises(
+ ImportError,
+ modutils.file_info_from_modpath,
+ ["urllib3.packages.six.moves.http_client"],
+ )
+
+
if __name__ == "__main__":
unittest.main()