mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
- Add new Warning class, ImportWarning
- Warn-raise ImportWarning when importing would have picked up a directory as package, if only it'd had an __init__.py. This swaps two tests (for case-ness and __init__-ness), but case-test is not really more expensive, and it's not in a speed-critical section. - Test for the new warning by importing a common non-package directory on sys.path: site-packages - In regrtest.py, silence warnings generated by the build-environment because Modules/ (which is added to sys.path for Setup-created modules) has 'zlib' and '_ctypes' directories without __init__.py's.
This commit is contained in:
parent
2c1e63f8a4
commit
9df4e6f673
6 changed files with 60 additions and 7 deletions
|
@ -1647,6 +1647,8 @@ PyDoc_STRVAR(FutureWarning__doc__,
|
|||
"Base class for warnings about constructs that will change semantically "
|
||||
"in the future.");
|
||||
|
||||
PyDoc_STRVAR(ImportWarning__doc__,
|
||||
"Base class for warnings about probable mistakes in module imports");
|
||||
|
||||
|
||||
/* module global functions */
|
||||
|
@ -1719,6 +1721,7 @@ PyObject *PyExc_SyntaxWarning;
|
|||
PyObject *PyExc_OverflowWarning;
|
||||
PyObject *PyExc_RuntimeWarning;
|
||||
PyObject *PyExc_FutureWarning;
|
||||
PyObject *PyExc_ImportWarning;
|
||||
|
||||
|
||||
|
||||
|
@ -1818,6 +1821,8 @@ static struct {
|
|||
RuntimeWarning__doc__},
|
||||
{"FutureWarning", &PyExc_FutureWarning, &PyExc_Warning,
|
||||
FutureWarning__doc__},
|
||||
{"ImportWarning", &PyExc_ImportWarning, &PyExc_Warning,
|
||||
ImportWarning__doc__},
|
||||
/* Sentinel */
|
||||
{NULL}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue