diff options
author | Jacob Walls <jacobtylerwalls@gmail.com> | 2022-08-09 04:12:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-09 10:12:52 +0200 |
commit | 93ca875a10c4ff84772d77e52f991882309ca7aa (patch) | |
tree | af7d1d8c5edfa29900811942e9b1ed432bc189fc /tests/unittest_modutils.py | |
parent | 4551b579ac91534cc7690974aabd36e51d1572b7 (diff) | |
download | astroid-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.py | 17 |
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() |