From 12b19a1d76e1a6f80923c8358290d605dacd65d4 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Wed, 26 May 2021 11:19:47 +0200 Subject: Fixed #32783 -- Fixed crash of autoreloader when __main__ module doesn't have __spec__ attribute. Regression in ec6d2531c59466924b645f314ac33f54470d7ac3. Thanks JonathanNickelson for the report. --- tests/utils_tests/test_autoreload.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests/utils_tests') diff --git a/tests/utils_tests/test_autoreload.py b/tests/utils_tests/test_autoreload.py index a0af1e9fa9..7b91686bf5 100644 --- a/tests/utils_tests/test_autoreload.py +++ b/tests/utils_tests/test_autoreload.py @@ -219,6 +219,17 @@ class TestChildArguments(SimpleTestCase): with self.assertRaisesMessage(RuntimeError, msg): autoreload.get_child_arguments() + @mock.patch('sys.argv', [__file__, 'runserver']) + @mock.patch('sys.warnoptions', []) + def test_module_no_spec(self): + module = types.ModuleType('test_module') + del module.__spec__ + with mock.patch.dict(sys.modules, {'__main__': module}): + self.assertEqual( + autoreload.get_child_arguments(), + [sys.executable, __file__, 'runserver'] + ) + class TestUtilities(SimpleTestCase): def test_is_django_module(self): -- cgit v1.3