Issue #3080: Use repr() to format the module name on error
diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
index fc4146c..0ecf6a5 100644
--- a/Lib/test/test_pydoc.py
+++ b/Lib/test/test_pydoc.py
@@ -190,7 +190,7 @@
missing_pattern = "no Python documentation found for '%s'"
# output pattern for module with bad imports
-badimport_pattern = "problem in %s - ImportError: No module named %s"
+badimport_pattern = "problem in %s - ImportError: No module named %r"
def run_pydoc(module_name, *args):
"""
diff --git a/Lib/unittest/test/test_loader.py b/Lib/unittest/test/test_loader.py
index f7e31a5..d1b9ef5 100644
--- a/Lib/unittest/test/test_loader.py
+++ b/Lib/unittest/test/test_loader.py
@@ -239,7 +239,7 @@
try:
loader.loadTestsFromName('sdasfasfasdf')
except ImportError as e:
- self.assertEqual(str(e), "No module named sdasfasfasdf")
+ self.assertEqual(str(e), "No module named 'sdasfasfasdf'")
else:
self.fail("TestLoader.loadTestsFromName failed to raise ImportError")
@@ -619,7 +619,7 @@
try:
loader.loadTestsFromNames(['sdasfasfasdf'])
except ImportError as e:
- self.assertEqual(str(e), "No module named sdasfasfasdf")
+ self.assertEqual(str(e), "No module named 'sdasfasfasdf'")
else:
self.fail("TestLoader.loadTestsFromNames failed to raise ImportError")
diff --git a/Python/import.c b/Python/import.c
index e5cb627..6594447 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1431,7 +1431,7 @@
goto error;
if (Py_VerboseFlag)
PySys_FormatStderr("import %U # from %R\n",
- name, pathname);
+ name, pathname);
if (cpathname != NULL) {
PyObject *ro = PySys_GetObject("dont_write_bytecode");
if (ro == NULL || !PyObject_IsTrue(ro))
@@ -1517,8 +1517,8 @@
if (m == NULL)
return NULL;
if (Py_VerboseFlag)
- PySys_FormatStderr("import %U # directory %U\n",
- name, pathname);
+ PySys_FormatStderr("import %U # directory %R\n",
+ name, pathname);
file = get_sourcefile(pathname);
if (file == NULL)
return NULL;
@@ -1875,7 +1875,7 @@
Py_DECREF(prefix);
}
PyErr_Format(PyExc_ImportError,
- "No module named %U", name);
+ "No module named %R", name);
return NULL;
}
@@ -2366,7 +2366,7 @@
default:
PyErr_Format(PyExc_ImportError,
- "Don't know how to import %U (type code %d)",
+ "Don't know how to import %R (type code %d)",
name, type);
m = NULL;
@@ -3251,7 +3251,7 @@
return NULL;
if (m != PyDict_GetItem(modules, nameobj)) {
PyErr_Format(PyExc_ImportError,
- "reload(): module %U not in sys.modules",
+ "reload(): module %R not in sys.modules",
nameobj);
Py_DECREF(nameobj);
return NULL;
@@ -3286,7 +3286,7 @@
parent = PyDict_GetItem(modules, parentname);
if (parent == NULL) {
PyErr_Format(PyExc_ImportError,
- "reload(): parent %U not in sys.modules",
+ "reload(): parent %R not in sys.modules",
parentname);
Py_DECREF(parentname);
goto error;