Skip to content

Commit ea28d2b

Browse files
Apply suggestions from code review
Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent e160e5c commit ea28d2b

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

Lib/test/test_import/test_lazy_imports.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -393,14 +393,14 @@ def test_dunder_lazy_import_used(self):
393393
import test.test_import.data.lazy_imports.dunder_lazy_import_used
394394
self.assertIn("test.test_import.data.lazy_imports.basic2", sys.modules)
395395

396-
def test_dunder_lazy_import_non_string_name(self):
397-
"""__lazy_import__ should reject non-string name arguments."""
398-
with self.assertRaises(TypeError):
399-
__lazy_import__(b"")
400-
with self.assertRaises(TypeError):
401-
__lazy_import__(123)
402-
with self.assertRaises(TypeError):
403-
__lazy_import__(None)
396+
def test_dunder_lazy_import_invalid_arguments(self):
397+
"""__lazy_import__ should reject invalid arguments."""
398+
for invalid_name in (b"", 123, None):
399+
with self.assertRaises(TypeError):
400+
__lazy_import__(invalid_name)
401+
402+
with self.assertRaises(ValueError):
403+
__lazy_import__("sys", level=-1)
404404

405405
def test_dunder_lazy_import_builtins(self):
406406
"""__lazy_import__ should use module's __builtins__ for __import__."""

Python/import.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4473,8 +4473,8 @@ _PyImport_LazyImportModuleLevelObject(PyThreadState *tstate,
44734473
return NULL;
44744474
}
44754475
if (!PyUnicode_Check(name)) {
4476-
_PyErr_SetString(tstate, PyExc_TypeError,
4477-
"module name must be a string");
4476+
_PyErr_Format(tstate, PyExc_TypeError,
4477+
"module name must be a string, got %T", name);
44784478
return NULL;
44794479
}
44804480
if (level < 0) {

0 commit comments

Comments
 (0)