New submission from Dutcho <dut...@ziggo.nl>:
In recent Python, a directory without __init__.py is also a package, and hence can be imported. When this directory/package is empty, and a doctest.testmod() is executed, the behaviour changed from 3.6 to 3.7, which I didn't find in the "what's new" documentation. Minimal example: >>> import doctest, os >>> os.mkdir('empty_package') >>> import empty_package >>> doctest.testmod(empty_package) Python 3.6.8 on Windows 7 prints TestResults(failed=0, attempted=0) Python 3.7.2 on Windows 7 raises below TypeError in doctest Traceback (most recent call last): File "bug_empty_package.py", line 4, in <module> print(doctest.testmod(empty_package)) File "...\Python37\lib\doctest.py", line 1949, in testmod for test in finder.find(m, name, globs=globs, extraglobs=extraglobs): File "...\Python37\lib\doctest.py", line 932, in find self._find(tests, obj, name, module, source_lines, globs, {}) File "...\Python37\lib\doctest.py", line 982, in _find test = self._get_test(obj, name, module, globs, source_lines) File "...\Python37\lib\doctest.py", line 1063, in _get_test if filename[-4:] == ".pyc": TypeError: 'NoneType' object is not subscriptable ---------- components: Library (Lib) messages: 338670 nosy: Dutcho priority: normal severity: normal status: open title: doctest.testmod(empty_package) raises TypeError in 3.7 (and no errors in 3.6) type: behavior versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36406> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com