gh-11523: add importorskip(exc=...) kwarg

Fixes #11523
This commit is contained in:
Thomas Grainger 2023-10-19 18:10:41 +01:00 committed by GitHub
parent cdddd6d695
commit dc2080f3be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -249,7 +249,8 @@ def xfail(reason: str = "") -> NoReturn:
def importorskip(
modname: str, minversion: Optional[str] = None, reason: Optional[str] = None
modname: str, minversion: Optional[str] = None, reason: Optional[str] = None,
exc: type[ImportError] = ImportError,
) -> Any:
"""Import and return the requested module ``modname``, or skip the
current test if the module cannot be imported.
@ -282,9 +283,9 @@ def importorskip(
warnings.simplefilter("ignore")
try:
__import__(modname)
except ImportError as exc:
except exc as e:
if reason is None:
reason = f"could not import {modname!r}: {exc}"
reason = f"could not import {modname!r}: {e}"
raise Skipped(reason, allow_module_level=True) from None
mod = sys.modules[modname]
if minversion is None: