mirror of https://github.com/django/django.git
Fixed #30479 -- Fixed detecting changes in manage.py by autoreloader when using StatReloader.
Regression in c8720e7696
.
This commit is contained in:
parent
df46b329e0
commit
b2790f74d4
|
@ -114,7 +114,15 @@ def iter_modules_and_files(modules, extra_files):
|
||||||
# During debugging (with PyDev) the 'typing.io' and 'typing.re' objects
|
# During debugging (with PyDev) the 'typing.io' and 'typing.re' objects
|
||||||
# are added to sys.modules, however they are types not modules and so
|
# are added to sys.modules, however they are types not modules and so
|
||||||
# cause issues here.
|
# cause issues here.
|
||||||
if not isinstance(module, ModuleType) or getattr(module, '__spec__', None) is None:
|
if not isinstance(module, ModuleType):
|
||||||
|
continue
|
||||||
|
if module.__name__ == '__main__':
|
||||||
|
# __main__ (usually manage.py) doesn't always have a __spec__ set.
|
||||||
|
# Handle this by falling back to using __file__, resolved below.
|
||||||
|
# See https://docs.python.org/reference/import.html#main-spec
|
||||||
|
sys_file_paths.append(module.__file__)
|
||||||
|
continue
|
||||||
|
if getattr(module, '__spec__', None) is None:
|
||||||
continue
|
continue
|
||||||
spec = module.__spec__
|
spec = module.__spec__
|
||||||
# Modules could be loaded from places without a concrete location. If
|
# Modules could be loaded from places without a concrete location. If
|
||||||
|
|
|
@ -18,3 +18,6 @@ Bugfixes
|
||||||
* Fixed a regression in Django 2.2.1 where
|
* Fixed a regression in Django 2.2.1 where
|
||||||
:class:`~django.contrib.postgres.search.SearchVector` generates SQL with a
|
:class:`~django.contrib.postgres.search.SearchVector` generates SQL with a
|
||||||
redundant ``Coalesce`` call (:ticket:`30488`).
|
redundant ``Coalesce`` call (:ticket:`30488`).
|
||||||
|
|
||||||
|
* Fixed a regression in Django 2.2 where auto-reloader doesn't detect changes
|
||||||
|
in ``manage.py`` file when using ``StatReloader`` (:ticket:`30479`).
|
||||||
|
|
|
@ -132,6 +132,10 @@ class TestIterModulesAndFiles(SimpleTestCase):
|
||||||
del module.__spec__
|
del module.__spec__
|
||||||
self.assertEqual(autoreload.iter_modules_and_files((module,), frozenset()), frozenset())
|
self.assertEqual(autoreload.iter_modules_and_files((module,), frozenset()), frozenset())
|
||||||
|
|
||||||
|
def test_main_module_is_resolved(self):
|
||||||
|
main_module = sys.modules['__main__']
|
||||||
|
self.assertFileFound(Path(main_module.__file__))
|
||||||
|
|
||||||
|
|
||||||
class TestCommonRoots(SimpleTestCase):
|
class TestCommonRoots(SimpleTestCase):
|
||||||
def test_common_roots(self):
|
def test_common_roots(self):
|
||||||
|
|
Loading…
Reference in New Issue