Source: python-django-extensions
Version: 3.2.1-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20231212 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> PYTHONPATH=. \
> dh_auto_test -- --system=custom --test-args="{interpreter} -m pytest 
> --cov=django_extensions --ds=tests.testapp.settings  
> --ignore=tests/management/commands/test_create_template_tags.py 
> --ignore=tests/management/commands/test_pipchecker.py 
> --ignore=tests/templatetags/test_highlighting.py  
> --ignore=tests/management/commands/shell_plus_tests/test_shell_plus.py tests"
> I: pybuild base:310: python3.12 -m pytest --cov=django_extensions 
> --ds=tests.testapp.settings  
> --ignore=tests/management/commands/test_create_template_tags.py 
> --ignore=tests/management/commands/test_pipchecker.py 
> --ignore=tests/templatetags/test_highlighting.py  
> --ignore=tests/management/commands/shell_plus_tests/test_shell_plus.py tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0
> django: settings: tests.testapp.settings (from option)
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> plugins: cov-4.1.0, django-4.5.2
> collected 502 items / 1 skipped
> 
> tests/test_admin_filter.py .....                                         [  
> 0%]
> tests/test_admin_widgets.py .                                            [  
> 1%]
> tests/test_autoslug_fields.py ..........................                 [  
> 6%]
> tests/test_clean_pyc.py ...                                              [  
> 6%]
> tests/test_compat.py ...                                                 [  
> 7%]
> tests/test_compile_pyc.py ..                                             [  
> 7%]
> tests/test_dumpscript.py .....                                           [  
> 8%]
> tests/test_find_template.py ..                                           [  
> 9%]
> tests/test_json_field.py ..........                                      [ 
> 11%]
> tests/test_logging_filters.py ...                                        [ 
> 11%]
> tests/test_management_command.py ....F.................                  [ 
> 16%]
> tests/test_models.py ......                                              [ 
> 17%]
> tests/test_modificationdatetime_fields.py ...                            [ 
> 18%]
> tests/test_parse_mysql_cnf.py ...                                        [ 
> 18%]
> tests/test_randomchar_field.py ............                              [ 
> 21%]
> tests/test_runscript.py ....................................             [ 
> 28%]
> tests/test_shortuuid_field.py ....                                       [ 
> 29%]
> tests/test_sqldiff.py ...sss...                                          [ 
> 30%]
> tests/test_template_rendering.py ..                                      [ 
> 31%]
> tests/test_templatetags.py ...                                           [ 
> 31%]
> tests/test_timestamped_model.py ..                                       [ 
> 32%]
> tests/test_validators.py ......                                          [ 
> 33%]
> tests/test_version.py ...                                                [ 
> 34%]
> tests/auth/test_mixins.py ..                                             [ 
> 34%]
> tests/db/fields/test_uniq_field_mixin.py .......                         [ 
> 35%]
> tests/db/fields/test_uniq_field_mixin_compat.py .......                  [ 
> 37%]
> tests/jobs/daily/test_cache_cleanup.py ..                                [ 
> 37%]
> tests/management/test_email_notifications.py ....                        [ 
> 38%]
> tests/management/commands/test_admin_generator.py ....                   [ 
> 39%]
> tests/management/commands/test_clear_cache.py ......                     [ 
> 40%]
> tests/management/commands/test_create_command.py ....                    [ 
> 41%]
> tests/management/commands/test_create_jobs.py ....                       [ 
> 42%]
> tests/management/commands/test_delete_squashed_migrations.py XXXXXxxXxx  [ 
> 44%]
> tests/management/commands/test_describe_form.py ....                     [ 
> 44%]
> tests/management/commands/test_drop_test_database.py .............       [ 
> 47%]
> tests/management/commands/test_export_emails.py .........                [ 
> 49%]
> tests/management/commands/test_generate_secret_key.py .                  [ 
> 49%]
> tests/management/commands/test_graph_models.py ..........                [ 
> 51%]
> tests/management/commands/test_list_signals.py .                         [ 
> 51%]
> tests/management/commands/test_managestate.py ...............            [ 
> 54%]
> tests/management/commands/test_print_user_for_session.py ......          [ 
> 55%]
> tests/management/commands/test_reset_db.py ............                  [ 
> 58%]
> tests/management/commands/test_reset_schema.py ....                      [ 
> 58%]
> tests/management/commands/test_runjob.py .........                       [ 
> 60%]
> tests/management/commands/test_runserver_plus.py .                       [ 
> 60%]
> tests/management/commands/test_set_default_site.py ...........           [ 
> 63%]
> tests/management/commands/test_set_fake_emails.py .........              [ 
> 64%]
> tests/management/commands/test_set_fake_passwords.py ....                [ 
> 65%]
> tests/management/commands/test_show_urls.py ..........                   [ 
> 67%]
> tests/management/commands/test_sqlcreate.py .......                      [ 
> 69%]
> tests/management/commands/test_sqldsn.py .............                   [ 
> 71%]
> tests/management/commands/test_sync_s3.py ...........                    [ 
> 73%]
> tests/management/commands/test_syncdata.py ........                      [ 
> 75%]
> tests/management/commands/test_unreferenced_files.py ....                [ 
> 76%]
> tests/management/commands/test_update_permissions.py ....                [ 
> 77%]
> tests/management/commands/test_validate_templates.py ....                [ 
> 77%]
> tests/management/commands/shell_plus_tests/test_collision_resolver.py .. [ 
> 78%]
> .................F......                                                 [ 
> 83%]
> tests/management/commands/shell_plus_tests/test_import_subclasses.py ..F [ 
> 83%]
> FFFFFFFF                                                                 [ 
> 85%]
> tests/templatetags/test_indent_text.py ....                              [ 
> 86%]
> tests/templatetags/test_syntax_color.py ........                         [ 
> 87%]
> tests/test_color.py ..                                                   [ 
> 88%]
> tests/test_runserver.py ....................                             [ 
> 92%]
> tests/test_validators.py ...........                                     [ 
> 94%]
> tests/management/test_modelviz.py ....                                   [ 
> 95%]
> tests/management/commands/test_generate_password.py ..                   [ 
> 95%]
> tests/management/commands/test_graph_models.py ....                      [ 
> 96%]
> tests/management/commands/test_mail_debug.py F                           [ 
> 96%]
> tests/management/commands/test_notes.py ....                             [ 
> 97%]
> tests/management/commands/test_print_settings.py .......                 [ 
> 98%]
> tests/management/commands/test_raise_test_exception.py .                 [ 
> 98%]
> tests/management/commands/test_set_fake_emails.py .                      [ 
> 99%]
> tests/management/commands/test_set_fake_passwords.py .                   [ 
> 99%]
> tests/management/commands/test_show_template_tags.py ...                 [ 
> 99%]
> tests/management/commands/test_validate_templates.py .                   
> [100%]/usr/lib/python3/dist-packages/coverage/report_core.py:113: 
> CoverageWarning: Couldn't parse 
> '/<<PKGBUILDDIR>>/django_extensions/scripts/__init__.py': No source for code: 
> '/<<PKGBUILDDIR>>/django_extensions/scripts/__init__.py'. (couldnt-parse)
>   coverage._warn(msg, slug="couldnt-parse")
> /usr/lib/python3/dist-packages/coverage/report_core.py:113: CoverageWarning: 
> Couldn't parse '/<<PKGBUILDDIR>>/django_extensions/scripts/test.py': No 
> source for code: '/<<PKGBUILDDIR>>/django_extensions/scripts/test.py'. 
> (couldnt-parse)
>   coverage._warn(msg, slug="couldnt-parse")
> 
> 
> =================================== FAILURES 
> ===================================
> _____________________ CommandClassTests.test_load_commands 
> _____________________
> 
> self = <tests.test_management_command.CommandClassTests 
> testMethod=test_load_commands>
> 
>     def test_load_commands(self):
>         """Try to load every management command to catch exceptions."""
>         try:
>             for command in self.commands:
> >               load_command_class('django_extensions', command)
> 
> tests/test_management_command.py:118: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/django/core/management/__init__.py:48: in 
> load_command_class
>     module = import_module("%s.management.commands.%s" % (app_name, name))
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <tests.test_management_command.CommandClassTests 
> testMethod=test_load_commands>
> 
>     def test_load_commands(self):
>         """Try to load every management command to catch exceptions."""
>         try:
>             for command in self.commands:
>                 load_command_class('django_extensions', command)
>         except Exception as e:
> >           self.fail("Can't load command class of {0}\n{1}".format(command, 
> > e))
> E           AssertionError: Can't load command class of mail_debug
> E           No module named 'asyncore'
> 
> tests/test_management_command.py:120: AssertionError
> _________ CRTestCase.test_installed_apps_no_resolve_conflicts_function 
> _________
> TypeError: Can't instantiate abstract class CRNoFunction without an 
> implementation for abstract method 'resolve_collisions'
> 
> During handling of the above exception, another exception occurred:
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_collision_resolver.CRTestCase
>  testMethod=test_installed_apps_no_resolve_conflicts_function>
> 
>     @override_settings(
>         
> SHELL_PLUS_MODEL_IMPORTS_RESOLVER='tests.management.commands.shell_plus_tests.test_collision_resolver.CRNoFunction',
>     )
>     def test_installed_apps_no_resolve_conflicts_function(self):
>         exception_msg = "Can't instantiate abstract class CRNoFunction with 
> abstract methods resolve_collisions"
>         if sys.version_info[:2] >= (3, 9):
>             exception_msg = exception_msg.replace('methods', 'method')
> >       with self.assertRaisesRegex(TypeError, exception_msg):
> E       AssertionError: "Can't instantiate abstract class CRNoFunction with 
> abstract method resolve_collisions" does not match "Can't instantiate 
> abstract class CRNoFunction without an implementation for abstract method 
> 'resolve_collisions'"
> 
> tests/management/commands/shell_plus_tests/test_collision_resolver.py:193: 
> AssertionError
> _____________ ImportSubclassesTestCase.test_imports_one_base_class 
> _____________
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_one_base_class>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass],
>     )
>     def test_imports_one_base_class(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             second={'SecondDerivedClass'},
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:28: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> ________ ImportSubclassesTestCase.test_imports_one_base_class_as_string 
> ________
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_one_base_class_as_string>
> 
>     @override_settings(
>         
> SHELL_PLUS_SUBCLASSES_IMPORT=['tests.testapp.classes_to_include.BaseIncludedClass'],
>     )
>     def test_imports_one_base_class_as_string(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             second={'SecondDerivedClass'},
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:38: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> _____________ ImportSubclassesTestCase.test_imports_one_base_mixin 
> _____________
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_one_base_mixin>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[IncludedMixin],
>     )
>     def test_imports_one_base_mixin(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             third={'ThirdDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:48: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> ____________ ImportSubclassesTestCase.test_imports_two_base_classes 
> ____________
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_two_base_classes>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass, IncludedMixin],
>     )
>     def test_imports_two_base_classes(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             second={'SecondDerivedClass'},
>             third={'ThirdDerivedClass'},
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:57: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> _ 
> ImportSubclassesTestCase.test_imports_two_base_classes_exclude_classes_in_classes_to_include
>  _
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  
> testMethod=test_imports_two_base_classes_exclude_classes_in_classes_to_include>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass, IncludedMixin],
>         
> SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST=settings.SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST
>  + [
>             'tests.testapp.classes_to_include',
>         ]
>     )
>     def 
> test_imports_two_base_classes_exclude_classes_in_classes_to_include(self):
> >       self.assert_imports(
>             second={'SecondDerivedClass'},
>             third={'ThirdDerivedClass'},
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:120: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> _ 
> ImportSubclassesTestCase.test_imports_two_base_classes_exclude_classes_in_project_dir
>  _
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_two_base_classes_exclude_classes_in_project_dir>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass, IncludedMixin],
>         
> SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST=settings.SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST
>  + [
>             'tests.test_module_in_project_dir',
>         ]
>     )
>     def test_imports_two_base_classes_exclude_classes_in_project_dir(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             second={'SecondDerivedClass'},
>             third={'ThirdDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:107: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> _ 
> ImportSubclassesTestCase.test_imports_two_base_classes_exclude_derived_class_for_testing
>  _
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_two_base_classes_exclude_derived_class_for_testing>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass, IncludedMixin],
>         
> SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST=settings.SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST
>  + [
>             'tests.testapp.derived_classes_for_testing',
>         ]
>     )
>     def test_imports_two_base_classes_exclude_derived_class_for_testing(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:82: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> __ ImportSubclassesTestCase.test_imports_two_base_classes_exclude_test_module 
> __
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_two_base_classes_exclude_test_module>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass, IncludedMixin],
>         
> SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST=settings.SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST
>  + [
>             'tests.testapp.derived_classes_for_testing.test_module',
>         ]
>     )
>     def test_imports_two_base_classes_exclude_test_module(self):
> >       self.assert_imports(
>             first={'FirstDerivedClass'},
>             second={'SecondDerivedClass'},
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:94: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> ____ ImportSubclassesTestCase.test_imports_two_base_classes_exclude_testapp 
> ____
> 
> self = 
> <tests.management.commands.shell_plus_tests.test_import_subclasses.ImportSubclassesTestCase
>  testMethod=test_imports_two_base_classes_exclude_testapp>
> 
>     @override_settings(
>         SHELL_PLUS_SUBCLASSES_IMPORT=[BaseIncludedClass, IncludedMixin],
>         
> SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST=settings.SHELL_PLUS_SUBCLASSES_IMPORT_MODULES_BLACKLIST
>  + [
>             'tests.testapp',
>         ]
>     )
>     def test_imports_two_base_classes_exclude_testapp(self):
> >       self.assert_imports(
>             fourth={'FourthDerivedClass'},
>         )
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py:135: in 
> assert_imports
>     self.run_shell_plus()
> tests/management/commands/shell_plus_tests/test_utils.py:51: in run_shell_plus
>     self.imported_objects = command.get_imported_objects({})
> django_extensions/management/commands/shell_plus.py:142: in 
> get_imported_objects
>     imported_objects = import_objects(options, self.style)
> django_extensions/management/shells.py:314: in import_objects
>     import_subclasses()
> django_extensions/management/shells.py:230: in import_subclasses
>     
> perform_automatic_imports(SubclassesFinder(base_classes_to_import).collect_subclasses())
> django_extensions/import_subclasses.py:43: in collect_subclasses
>     subclasses_from_module = self._collect_classes_from_module(module_name)
> django_extensions/import_subclasses.py:52: in _collect_classes_from_module
>     imported_module = import_module(module_name)
> /usr/lib/python3.12/importlib/__init__.py:90: in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1387: in _gcd_import
>     ???
> <frozen importlib._bootstrap>:1360: in _find_and_load
>     ???
> <frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
>     ???
> <frozen importlib._bootstrap>:935: in _load_unlocked
>     ???
> <frozen importlib._bootstrap_external>:994: in exec_module
>     ???
> <frozen importlib._bootstrap>:488: in _call_with_frames_removed
>     ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     # -*- coding: utf-8 -*-
> >   import asyncore
> E   ModuleNotFoundError: No module named 'asyncore'
> 
> django_extensions/management/commands/mail_debug.py:2: ModuleNotFoundError
> _________________________ test_initialize_mail_server 
> __________________________
> 
>     def test_initialize_mail_server():
> >       with 
> > mock.patch('django_extensions.management.commands.mail_debug.asyncore.loop')
> >  as loop:
> 
> tests/management/commands/test_mail_debug.py:7: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/unittest/mock.py:1439: in __enter__
>     self.target = self.getter()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> name = 'django_extensions.management.commands.mail_debug.asyncore'
> 
>     def resolve_name(name):
>         """
>         Resolve a name to an object.
>     
>         It is expected that `name` will be a string in one of the following
>         formats, where W is shorthand for a valid Python identifier and dot 
> stands
>         for a literal period in these pseudo-regexes:
>     
>         W(.W)*
>         W(.W)*:(W(.W)*)?
>     
>         The first form is intended for backward compatibility only. It 
> assumes that
>         some part of the dotted name is a package, and the rest is an object
>         somewhere within that package, possibly nested inside other objects.
>         Because the place where the package stops and the object hierarchy 
> starts
>         can't be inferred by inspection, repeated attempts to import must be 
> done
>         with this form.
>     
>         In the second form, the caller makes the division point clear through 
> the
>         provision of a single colon: the dotted name to the left of the colon 
> is a
>         package to be imported, and the dotted name to the right is the object
>         hierarchy within that package. Only one import is needed in this 
> form. If
>         it ends with the colon, then a module object is returned.
>     
>         The function will return an object (which might be a module), or 
> raise one
>         of the following exceptions:
>     
>         ValueError - if `name` isn't in a recognised format
>         ImportError - if an import failed when it shouldn't have
>         AttributeError - if a failure occurred when traversing the object 
> hierarchy
>                          within the imported package to get to the desired 
> object.
>         """
>         global _NAME_PATTERN
>         if _NAME_PATTERN is None:
>             # Lazy import to speedup Python startup time
>             import re
>             dotted_words = r'(?!\d)(\w+)(\.(?!\d)(\w+))*'
>             _NAME_PATTERN = re.compile(f'^(?P<pkg>{dotted_words})'
>                                        
> f'(?P<cln>:(?P<obj>{dotted_words})?)?$',
>                                        re.UNICODE)
>     
>         m = _NAME_PATTERN.match(name)
>         if not m:
>             raise ValueError(f'invalid format: {name!r}')
>         gd = m.groupdict()
>         if gd.get('cln'):
>             # there is a colon - a one-step import is all that's needed
>             mod = importlib.import_module(gd['pkg'])
>             parts = gd.get('obj')
>             parts = parts.split('.') if parts else []
>         else:
>             # no colon - have to iterate to find the package boundary
>             parts = name.split('.')
>             modname = parts.pop(0)
>             # first part *must* be a module/package.
>             mod = importlib.import_module(modname)
>             while parts:
>                 p = parts[0]
>                 s = f'{modname}.{p}'
>                 try:
>                     mod = importlib.import_module(s)
>                     parts.pop(0)
>                     modname = s
>                 except ImportError:
>                     break
>         # if we reach this point, mod is the module, already imported, and
>         # parts is the list of parts in the object hierarchy to be traversed, 
> or
>         # an empty list if just the module is wanted.
>         result = mod
>         for p in parts:
> >           result = getattr(result, p)
> E           AttributeError: module 'django_extensions.management.commands' 
> has no attribute 'mail_debug'
> 
> /usr/lib/python3.12/pkgutil.py:528: AttributeError
> =============================== warnings summary 
> ===============================
> ../../../usr/lib/python3/dist-packages/django/conf/__init__.py:241
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:241: 
> RemovedInDjango50Warning: The default value of USE_TZ will change from False 
> to True in Django 5.0. Set USE_TZ to False in your project settings if you 
> want to keep the current default behavior.
>     warnings.warn(
> 
> ../../../usr/lib/python3/dist-packages/django/db/models/options.py:210
> tests/test_admin_filter.py::NullFieldListFilterTests::test_choices
>   /usr/lib/python3/dist-packages/django/db/models/options.py:210: 
> RemovedInDjango51Warning: 'index_together' is deprecated. Use 'Meta.indexes' 
> in 'testapp.SqlDiff' instead.
>     warnings.warn(
> 
> ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37
>   /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: 
> datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal 
> in a future version. Use timezone-aware objects to represent datetimes in 
> UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
>     EPOCH = datetime.datetime.utcfromtimestamp(0)
> 
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_more_than_one_migration_matches_to_given_arg
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_squashed_migration_not_found
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_squashed_migration_not_foundee
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandError_if_app_does_not_have_migrations
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandError_when_database_does_not_exist
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_delete_squashed_migrations
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_delete_squashed_migrations_if_interactive_mode_is_set_to_False
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_not_delete_anything
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_not_delete_files_for_given_squashed_migration
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp_with_appconfig.titlemodel' was already 
> registered. Reloading models is not advised as it can lead to 
> inconsistencies, most notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_squashed_migration_not_found
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_delete_squashed_migrations_if_interactive_mode_is_set_to_False
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_not_delete_files_for_given_squashed_migration
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp_with_appconfig.namemodel' was already 
> registered. Reloading models is not advised as it can lead to 
> inconsistencies, most notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_definition_for_TestModel_with_non_editable_field
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_with_fields_for_TestModel
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp.basemodel' was already registered. Reloading 
> models is not advised as it can lead to inconsistencies, most notably with 
> related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_definition_for_TestModel_with_non_editable_field
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_with_fields_for_TestModel
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp.noneditablemodel' was already registered. 
> Reloading models is not advised as it can lead to inconsistencies, most 
> notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_drop_test_database.py: 11 warnings
> tests/management/commands/test_reset_db.py: 3 warnings
> tests/management/commands/test_reset_schema.py: 1 warning
> tests/management/commands/test_sqlcreate.py: 6 warnings
> tests/management/commands/test_sqldsn.py: 13 warnings
>   /usr/lib/python3.12/unittest/case.py:589: UserWarning: Overriding setting 
> DATABASES can lead to unexpected behavior.
>     if method() is not None:
> 
> tests/management/commands/test_reset_db.py::ResetDbSqlite3Tests::test_should_cancel_reset_db_if_input_is_different_than_yes
> tests/management/commands/test_reset_db.py::ResetDbMysqlTests::test_should_cancel_reset_db_if_input_is_different_than_yes
> tests/management/commands/test_reset_db.py::ResetDbPostgresqlTests::test_should_cancel_reset_db_if_input_is_different_than_yes
> tests/management/commands/test_reset_schema.py::ResetSchemaTests::test_should_cancel_reset_schema_and_print_info_if_input_is_different_than_yes
>   /usr/lib/python3/dist-packages/_pytest/unittest.py:157: UserWarning: 
> Overriding setting DATABASES can lead to unexpected behavior.
>     setup()
> 
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_reload_permission_only_for_specified_apps
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_update_permission_if_name_changed
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_works
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'django_extensions.permmodel' was already registered. 
> Reloading models is not advised as it can lead to inconsistencies, most 
> notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_reload_permission_only_for_specified_apps
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_update_permission_if_name_changed
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_works
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp.testmodel' was already registered. Reloading 
> models is not advised as it can lead to inconsistencies, most notably with 
> related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_generate_password.py::test_without_args
>   
> /<<PKGBUILDDIR>>/django_extensions/management/commands/generate_password.py:30:
>  RemovedInDjango51Warning: BaseUserManager.make_random_password() is 
> deprecated.
>     return manager.make_random_password()
> 
> tests/management/commands/test_generate_password.py::test_with_length_args
>   
> /<<PKGBUILDDIR>>/django_extensions/management/commands/generate_password.py:28:
>  RemovedInDjango51Warning: BaseUserManager.make_random_password() is 
> deprecated.
>     return manager.make_random_password(length)
> 
> tests/management/commands/test_print_settings.py::test_without_args
> tests/management/commands/test_print_settings.py::test_with_setting_args
> tests/management/commands/test_print_settings.py::test_with_setting_wildcard
> tests/management/commands/test_print_settings.py::test_with_setting_fail
> tests/management/commands/test_print_settings.py::test_with_multiple_setting_args
> tests/management/commands/test_print_settings.py::test_format
> tests/management/commands/test_print_settings.py::test_format_json_without_indent
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:193: 
> RemovedInDjango51Warning: The DEFAULT_FILE_STORAGE setting is deprecated. Use 
> STORAGES instead.
>     self._show_deprecation_warning(
> 
> tests/management/commands/test_print_settings.py::test_without_args
> tests/management/commands/test_print_settings.py::test_with_setting_args
> tests/management/commands/test_print_settings.py::test_with_setting_wildcard
> tests/management/commands/test_print_settings.py::test_with_setting_fail
> tests/management/commands/test_print_settings.py::test_with_multiple_setting_args
> tests/management/commands/test_print_settings.py::test_format
> tests/management/commands/test_print_settings.py::test_format_json_without_indent
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:201: 
> RemovedInDjango51Warning: The STATICFILES_STORAGE setting is deprecated. Use 
> STORAGES instead.
>     self._show_deprecation_warning(
> 
> tests/management/commands/test_print_settings.py::test_without_args
> tests/management/commands/test_print_settings.py::test_with_setting_args
> tests/management/commands/test_print_settings.py::test_with_setting_wildcard
> tests/management/commands/test_print_settings.py::test_with_setting_fail
> tests/management/commands/test_print_settings.py::test_with_multiple_setting_args
> tests/management/commands/test_print_settings.py::test_format
> tests/management/commands/test_print_settings.py::test_format_json_without_indent
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:178: 
> RemovedInDjango50Warning: The USE_L10N setting is deprecated. Starting with 
> Django 5.0, localized formatting of data will always be enabled. For example 
> Django will display numbers and dates using the format of the current locale.
>     self._show_deprecation_warning(
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> 
> ---------- coverage: platform linux, python 3.12.1-final-0 -----------
> Name                                                                  Stmts   
> Miss  Cover
> -----------------------------------------------------------------------------------------
> django_extensions/__init__.py                                            11   
>    1    91%
> django_extensions/admin/__init__.py                                      89   
>   61    31%
> django_extensions/admin/filter.py                                        27   
>    0   100%
> django_extensions/admin/widgets.py                                       46   
>    1    98%
> django_extensions/apps.py                                                 4   
>    0   100%
> django_extensions/auth/__init__.py                                        0   
>    0   100%
> django_extensions/auth/mixins.py                                          9   
>    0   100%
> django_extensions/collision_resolvers.py                                123   
>    2    98%
> django_extensions/compat.py                                              37   
>   12    68%
> django_extensions/db/__init__.py                                          0   
>    0   100%
> django_extensions/db/fields/__init__.py                                 341   
>   54    84%
> django_extensions/db/fields/json.py                                      53   
>    6    89%
> django_extensions/db/models.py                                           49   
>    0   100%
> django_extensions/import_subclasses.py                                   33   
>    4    88%
> django_extensions/jobs/__init__.py                                        0   
>    0   100%
> django_extensions/jobs/daily/__init__.py                                  0   
>    0   100%
> django_extensions/jobs/daily/cache_cleanup.py                            13   
>    0   100%
> django_extensions/jobs/daily/daily_cleanup.py                             7   
>    0   100%
> django_extensions/jobs/hourly/__init__.py                                 0   
>    0   100%
> django_extensions/jobs/minutely/__init__.py                               0   
>    0   100%
> django_extensions/jobs/monthly/__init__.py                                0   
>    0   100%
> django_extensions/jobs/weekly/__init__.py                                 0   
>    0   100%
> django_extensions/jobs/yearly/__init__.py                                 0   
>    0   100%
> django_extensions/logging/__init__.py                                     0   
>    0   100%
> django_extensions/logging/filters.py                                     24   
>    0   100%
> django_extensions/management/__init__.py                                  0   
>    0   100%
> django_extensions/management/base.py                                     11   
>    0   100%
> django_extensions/management/color.py                                    21   
>    0   100%
> django_extensions/management/commands/__init__.py                         0   
>    0   100%
> django_extensions/management/commands/admin_generator.py                190   
>   16    92%
> django_extensions/management/commands/clean_pyc.py                       28   
>    1    96%
> django_extensions/management/commands/clear_cache.py                     24   
>    0   100%
> django_extensions/management/commands/compile_pyc.py                     27   
>    1    96%
> django_extensions/management/commands/create_command.py                  63   
>    0   100%
> django_extensions/management/commands/create_jobs.py                     47   
>    2    96%
> django_extensions/management/commands/create_template_tags.py            50   
>   37    26%
> django_extensions/management/commands/delete_squashed_migrations.py     111   
>   21    81%
> django_extensions/management/commands/describe_form.py                   46   
>    1    98%
> django_extensions/management/commands/drop_test_database.py             117   
>    3    97%
> django_extensions/management/commands/dumpscript.py                     318   
>   42    87%
> django_extensions/management/commands/export_emails.py                   95   
>   12    87%
> django_extensions/management/commands/find_template.py                   15   
>    0   100%
> django_extensions/management/commands/generate_password.py               19   
>    2    89%
> django_extensions/management/commands/generate_secret_key.py             10   
>    0   100%
> django_extensions/management/commands/graph_models.py                   130   
>   51    61%
> django_extensions/management/commands/list_model_info.py                 80   
>   15    81%
> django_extensions/management/commands/list_signals.py                    39   
>    1    97%
> django_extensions/management/commands/mail_debug.py                      56   
>   55     2%
> django_extensions/management/commands/managestate.py                     92   
>   14    85%
> django_extensions/management/commands/merge_model_instances.py          141   
>   23    84%
> django_extensions/management/commands/notes.py                           46   
>    0   100%
> django_extensions/management/commands/pipchecker.py                     209   
>  209     0%
> django_extensions/management/commands/print_settings.py                  42   
>    6    86%
> django_extensions/management/commands/print_user_for_session.py          42   
>    0   100%
> django_extensions/management/commands/raise_test_exception.py            10   
>    0   100%
> django_extensions/management/commands/reset_db.py                       113   
>    7    94%
> django_extensions/management/commands/reset_schema.py                    38   
>    2    95%
> django_extensions/management/commands/runjob.py                          40   
>    0   100%
> django_extensions/management/commands/runjobs.py                         63   
>    6    90%
> django_extensions/management/commands/runprofileserver.py               192   
>  192     0%
> django_extensions/management/commands/runscript.py                      210   
>   34    84%
> django_extensions/management/commands/runserver_plus.py                 324   
>  123    62%
> django_extensions/management/commands/set_default_site.py                46   
>    0   100%
> django_extensions/management/commands/set_fake_emails.py                 55   
>    0   100%
> django_extensions/management/commands/set_fake_passwords.py              29   
>    0   100%
> django_extensions/management/commands/shell_plus.py                     388   
>  329    15%
> django_extensions/management/commands/show_template_tags.py              74   
>    5    93%
> django_extensions/management/commands/show_urls.py                      145   
>   30    79%
> django_extensions/management/commands/sqlcreate.py                       56   
>    2    96%
> django_extensions/management/commands/sqldiff.py                        764   
>  404    47%
> django_extensions/management/commands/sqldsn.py                          95   
>    3    97%
> django_extensions/management/commands/sync_s3.py                        191   
>   79    59%
> django_extensions/management/commands/syncdata.py                       142   
>    8    94%
> django_extensions/management/commands/unreferenced_files.py              33   
>    0   100%
> django_extensions/management/commands/update_permissions.py              41   
>    0   100%
> django_extensions/management/commands/validate_templates.py              65   
>    0   100%
> django_extensions/management/debug_cursor.py                             79   
>   68    14%
> django_extensions/management/email_notifications.py                      47   
>    2    96%
> django_extensions/management/jobs.py                                    127   
>   15    88%
> django_extensions/management/modelviz.py                                273   
>   23    92%
> django_extensions/management/mysql.py                                    20   
>    0   100%
> django_extensions/management/notebook_extension.py                        5   
>    5     0%
> django_extensions/management/shells.py                                  221   
>   68    69%
> django_extensions/management/signals.py                                  10   
>    0   100%
> django_extensions/management/technical_response.py                       20   
>   15    25%
> django_extensions/management/utils.py                                    46   
>   15    67%
> django_extensions/models.py                                               0   
>    0   100%
> django_extensions/mongodb/__init__.py                                     0   
>    0   100%
> django_extensions/mongodb/fields/__init__.py                            152   
>  152     0%
> django_extensions/mongodb/fields/json.py                                 41   
>   41     0%
> django_extensions/mongodb/models.py                                      34   
>   34     0%
> django_extensions/settings.py                                            11   
>    0   100%
> django_extensions/templatetags/__init__.py                                0   
>    0   100%
> django_extensions/templatetags/debugger_tags.py                           9   
>    0   100%
> django_extensions/templatetags/highlighting.py                           39   
>   20    49%
> django_extensions/templatetags/indent_text.py                            35   
>    0   100%
> django_extensions/templatetags/syntax_color.py                           54   
>    0   100%
> django_extensions/templatetags/widont.py                                 23   
>    4    83%
> django_extensions/utils/__init__.py                                       1   
>    0   100%
> django_extensions/utils/deprecation.py                                    4   
>    0   100%
> django_extensions/utils/dia2django.py                                   142   
>  142     0%
> django_extensions/utils/internal_ips.py                                  25   
>   14    44%
> django_extensions/validators.py                                          73   
>    2    97%
> -----------------------------------------------------------------------------------------
> TOTAL                                                                  7540   
> 2497    67%
> Coverage HTML written to dir htmlcov
> 
> =========================== short test summary info 
> ============================
> FAILED tests/test_management_command.py::CommandClassTests::test_load_commands
> FAILED 
> tests/management/commands/shell_plus_tests/test_collision_resolver.py::CRTestCase::test_installed_apps_no_resolve_conflicts_function
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_one_base_class
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_one_base_class_as_string
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_one_base_mixin
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_two_base_classes
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_two_base_classes_exclude_classes_in_classes_to_include
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_two_base_classes_exclude_classes_in_project_dir
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_two_base_classes_exclude_derived_class_for_testing
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_two_base_classes_exclude_test_module
> FAILED 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_two_base_classes_exclude_testapp
> FAILED 
> tests/management/commands/test_mail_debug.py::test_initialize_mail_server
> = 12 failed, 477 passed, 4 skipped, 4 xfailed, 6 xpassed, 87 warnings in 
> 22.94s =
> E: pybuild pybuild:395: test: plugin custom failed with: exit code=1: 
> python3.12 -m pytest --cov=django_extensions --ds=tests.testapp.settings  
> --ignore=tests/management/commands/test_create_template_tags.py 
> --ignore=tests/management/commands/test_pipchecker.py 
> --ignore=tests/templatetags/test_highlighting.py  
> --ignore=tests/management/commands/shell_plus_tests/test_shell_plus.py tests
> I: pybuild base:310: python3.11 -m pytest --cov=django_extensions 
> --ds=tests.testapp.settings  
> --ignore=tests/management/commands/test_create_template_tags.py 
> --ignore=tests/management/commands/test_pipchecker.py 
> --ignore=tests/templatetags/test_highlighting.py  
> --ignore=tests/management/commands/shell_plus_tests/test_shell_plus.py tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0
> django: settings: tests.testapp.settings (from option)
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> plugins: cov-4.1.0, django-4.5.2
> collected 502 items / 1 skipped
> 
> tests/test_admin_filter.py .....                                         [  
> 0%]
> tests/test_admin_widgets.py .                                            [  
> 1%]
> tests/test_autoslug_fields.py ..........................                 [  
> 6%]
> tests/test_clean_pyc.py ...                                              [  
> 6%]
> tests/test_compat.py ...                                                 [  
> 7%]
> tests/test_compile_pyc.py ..                                             [  
> 7%]
> tests/test_dumpscript.py .....                                           [  
> 8%]
> tests/test_find_template.py ..                                           [  
> 9%]
> tests/test_json_field.py ..........                                      [ 
> 11%]
> tests/test_logging_filters.py ...                                        [ 
> 11%]
> tests/test_management_command.py ......................                  [ 
> 16%]
> tests/test_models.py ......                                              [ 
> 17%]
> tests/test_modificationdatetime_fields.py ...                            [ 
> 18%]
> tests/test_parse_mysql_cnf.py ...                                        [ 
> 18%]
> tests/test_randomchar_field.py ............                              [ 
> 21%]
> tests/test_runscript.py ....................................             [ 
> 28%]
> tests/test_shortuuid_field.py ....                                       [ 
> 29%]
> tests/test_sqldiff.py ...sss...                                          [ 
> 30%]
> tests/test_template_rendering.py ..                                      [ 
> 31%]
> tests/test_templatetags.py ...                                           [ 
> 31%]
> tests/test_timestamped_model.py ..                                       [ 
> 32%]
> tests/test_validators.py ......                                          [ 
> 33%]
> tests/test_version.py ...                                                [ 
> 34%]
> tests/auth/test_mixins.py ..                                             [ 
> 34%]
> tests/db/fields/test_uniq_field_mixin.py .......                         [ 
> 35%]
> tests/db/fields/test_uniq_field_mixin_compat.py .......                  [ 
> 37%]
> tests/jobs/daily/test_cache_cleanup.py ..                                [ 
> 37%]
> tests/management/test_email_notifications.py ....                        [ 
> 38%]
> tests/management/commands/test_admin_generator.py ....                   [ 
> 39%]
> tests/management/commands/test_clear_cache.py ......                     [ 
> 40%]
> tests/management/commands/test_create_command.py ....                    [ 
> 41%]
> tests/management/commands/test_create_jobs.py ....                       [ 
> 42%]
> tests/management/commands/test_delete_squashed_migrations.py XXXXXxxXxx  [ 
> 44%]
> tests/management/commands/test_describe_form.py ....                     [ 
> 44%]
> tests/management/commands/test_drop_test_database.py .............       [ 
> 47%]
> tests/management/commands/test_export_emails.py .........                [ 
> 49%]
> tests/management/commands/test_generate_secret_key.py .                  [ 
> 49%]
> tests/management/commands/test_graph_models.py ..........                [ 
> 51%]
> tests/management/commands/test_list_signals.py .                         [ 
> 51%]
> tests/management/commands/test_managestate.py ...............            [ 
> 54%]
> tests/management/commands/test_print_user_for_session.py ......          [ 
> 55%]
> tests/management/commands/test_reset_db.py ............                  [ 
> 58%]
> tests/management/commands/test_reset_schema.py ....                      [ 
> 58%]
> tests/management/commands/test_runjob.py .........                       [ 
> 60%]
> tests/management/commands/test_runserver_plus.py .                       [ 
> 60%]
> tests/management/commands/test_set_default_site.py ...........           [ 
> 63%]
> tests/management/commands/test_set_fake_emails.py .........              [ 
> 64%]
> tests/management/commands/test_set_fake_passwords.py ....                [ 
> 65%]
> tests/management/commands/test_show_urls.py ..........                   [ 
> 67%]
> tests/management/commands/test_sqlcreate.py .......                      [ 
> 69%]
> tests/management/commands/test_sqldsn.py .............                   [ 
> 71%]
> tests/management/commands/test_sync_s3.py ...........                    [ 
> 73%]
> tests/management/commands/test_syncdata.py ........                      [ 
> 75%]
> tests/management/commands/test_unreferenced_files.py ....                [ 
> 76%]
> tests/management/commands/test_update_permissions.py ....                [ 
> 77%]
> tests/management/commands/test_validate_templates.py ....                [ 
> 77%]
> tests/management/commands/shell_plus_tests/test_collision_resolver.py .. [ 
> 78%]
> ........................                                                 [ 
> 83%]
> tests/management/commands/shell_plus_tests/test_import_subclasses.py ... [ 
> 83%]
> ........                                                                 [ 
> 85%]
> tests/templatetags/test_indent_text.py ....                              [ 
> 86%]
> tests/templatetags/test_syntax_color.py ........                         [ 
> 87%]
> tests/test_color.py ..                                                   [ 
> 88%]
> tests/test_runserver.py ....................                             [ 
> 92%]
> tests/test_validators.py ...........                                     [ 
> 94%]
> tests/management/test_modelviz.py ....                                   [ 
> 95%]
> tests/management/commands/test_generate_password.py ..                   [ 
> 95%]
> tests/management/commands/test_graph_models.py ....                      [ 
> 96%]
> tests/management/commands/test_mail_debug.py .                           [ 
> 96%]
> tests/management/commands/test_notes.py ....                             [ 
> 97%]
> tests/management/commands/test_print_settings.py .......                 [ 
> 98%]
> tests/management/commands/test_raise_test_exception.py .                 [ 
> 98%]
> tests/management/commands/test_set_fake_emails.py .                      [ 
> 99%]
> tests/management/commands/test_set_fake_passwords.py .                   [ 
> 99%]
> tests/management/commands/test_show_template_tags.py ...                 [ 
> 99%]
> tests/management/commands/test_validate_templates.py .                   
> [100%]/usr/lib/python3/dist-packages/coverage/report_core.py:113: 
> CoverageWarning: Couldn't parse 
> '/<<PKGBUILDDIR>>/django_extensions/scripts/__init__.py': No source for code: 
> '/<<PKGBUILDDIR>>/django_extensions/scripts/__init__.py'. (couldnt-parse)
>   coverage._warn(msg, slug="couldnt-parse")
> /usr/lib/python3/dist-packages/coverage/report_core.py:113: CoverageWarning: 
> Couldn't parse '/<<PKGBUILDDIR>>/django_extensions/scripts/test.py': No 
> source for code: '/<<PKGBUILDDIR>>/django_extensions/scripts/test.py'. 
> (couldnt-parse)
>   coverage._warn(msg, slug="couldnt-parse")
> 
> 
> =============================== warnings summary 
> ===============================
> ../../../usr/lib/python3/dist-packages/django/conf/__init__.py:241
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:241: 
> RemovedInDjango50Warning: The default value of USE_TZ will change from False 
> to True in Django 5.0. Set USE_TZ to False in your project settings if you 
> want to keep the current default behavior.
>     warnings.warn(
> 
> ../../../usr/lib/python3/dist-packages/django/db/models/options.py:210
> tests/test_admin_filter.py::NullFieldListFilterTests::test_choices
>   /usr/lib/python3/dist-packages/django/db/models/options.py:210: 
> RemovedInDjango51Warning: 'index_together' is deprecated. Use 'Meta.indexes' 
> in 'testapp.SqlDiff' instead.
>     warnings.warn(
> 
> tests/test_management_command.py::CommandClassTests::test_load_commands
>   /<<PKGBUILDDIR>>/django_extensions/management/commands/mail_debug.py:2: 
> DeprecationWarning: The asyncore module is deprecated and will be removed in 
> Python 3.12. The recommended replacement is asyncio
>     import asyncore
> 
> tests/test_management_command.py::CommandClassTests::test_load_commands
>   /<<PKGBUILDDIR>>/django_extensions/management/commands/mail_debug.py:5: 
> DeprecationWarning: The smtpd module is deprecated and unmaintained and will 
> be removed in Python 3.12.  Please see aiosmtpd 
> (https://aiosmtpd.readthedocs.io/) for the recommended replacement.
>     from smtpd import SMTPServer
> 
> tests/test_management_command.py::CommandClassTests::test_load_commands
>   /usr/lib/python3.11/smtpd.py:97: DeprecationWarning: The asynchat module is 
> deprecated and will be removed in Python 3.12. The recommended replacement is 
> asyncio
>     import asynchat
> 
> tests/test_management_command.py::CommandClassTests::test_load_commands
>   /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: 
> Setuptools is replacing distutils.
>     warnings.warn("Setuptools is replacing distutils.")
> 
> tests/test_management_command.py::CommandClassTests::test_load_commands
> tests/test_management_command.py::CommandClassTests::test_load_commands
>   /<<PKGBUILDDIR>>/django_extensions/management/commands/pipchecker.py:18: 
> DeprecationWarning: distutils Version classes are deprecated. Use 
> packaging.version instead.
>     if LooseVersion(pip.__version__) >= LooseVersion('19.0'):
> 
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_more_than_one_migration_matches_to_given_arg
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_squashed_migration_not_found
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_squashed_migration_not_foundee
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandError_if_app_does_not_have_migrations
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandError_when_database_does_not_exist
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_delete_squashed_migrations
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_delete_squashed_migrations_if_interactive_mode_is_set_to_False
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_not_delete_anything
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_not_delete_files_for_given_squashed_migration
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp_with_appconfig.titlemodel' was already 
> registered. Reloading models is not advised as it can lead to 
> inconsistencies, most notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsExceptionsTests::test_should_raise_CommandEror_if_squashed_migration_not_found
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_delete_squashed_migrations_if_interactive_mode_is_set_to_False
> tests/management/commands/test_delete_squashed_migrations.py::DeleteSquashedMigrationsTests::test_should_not_delete_files_for_given_squashed_migration
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp_with_appconfig.namemodel' was already 
> registered. Reloading models is not advised as it can lead to 
> inconsistencies, most notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_definition_for_TestModel_with_non_editable_field
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_with_fields_for_TestModel
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp.basemodel' was already registered. Reloading 
> models is not advised as it can lead to inconsistencies, most notably with 
> related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_definition_for_TestModel_with_non_editable_field
> tests/management/commands/test_describe_form.py::DescribeFormTests::test_should_print_form_with_fields_for_TestModel
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp.noneditablemodel' was already registered. 
> Reloading models is not advised as it can lead to inconsistencies, most 
> notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_drop_test_database.py: 11 warnings
> tests/management/commands/test_reset_db.py: 3 warnings
> tests/management/commands/test_reset_schema.py: 1 warning
> tests/management/commands/test_sqlcreate.py: 6 warnings
> tests/management/commands/test_sqldsn.py: 13 warnings
>   /usr/lib/python3/dist-packages/django/test/utils.py:458: UserWarning: 
> Overriding setting DATABASES can lead to unexpected behavior.
>     with self as context:
> 
> tests/management/commands/test_reset_db.py::ResetDbSqlite3Tests::test_should_cancel_reset_db_if_input_is_different_than_yes
> tests/management/commands/test_reset_db.py::ResetDbMysqlTests::test_should_cancel_reset_db_if_input_is_different_than_yes
> tests/management/commands/test_reset_db.py::ResetDbPostgresqlTests::test_should_cancel_reset_db_if_input_is_different_than_yes
> tests/management/commands/test_reset_schema.py::ResetSchemaTests::test_should_cancel_reset_schema_and_print_info_if_input_is_different_than_yes
>   /usr/lib/python3/dist-packages/django/test/testcases.py:1448: UserWarning: 
> Overriding setting DATABASES can lead to unexpected behavior.
>     super().setUpClass()
> 
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_reload_permission_only_for_specified_apps
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_update_permission_if_name_changed
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_works
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'django_extensions.permmodel' was already registered. 
> Reloading models is not advised as it can lead to inconsistencies, most 
> notably with related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_reload_permission_only_for_specified_apps
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_should_update_permission_if_name_changed
> tests/management/commands/test_update_permissions.py::UpdatePermissionsTests::test_works
>   /usr/lib/python3/dist-packages/django/db/models/base.py:366: 
> RuntimeWarning: Model 'testapp.testmodel' was already registered. Reloading 
> models is not advised as it can lead to inconsistencies, most notably with 
> related models.
>     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
> 
> tests/management/commands/shell_plus_tests/test_import_subclasses.py::ImportSubclassesTestCase::test_imports_one_base_class
>   /<<PKGBUILDDIR>>/tests/management/commands/test_pipchecker.py:8: 
> DeprecationWarning: pkg_resources is deprecated as an API. See 
> https://setuptools.pypa.io/en/latest/pkg_resources.html
>     import pkg_resources
> 
> tests/management/commands/test_generate_password.py::test_without_args
>   
> /<<PKGBUILDDIR>>/django_extensions/management/commands/generate_password.py:30:
>  RemovedInDjango51Warning: BaseUserManager.make_random_password() is 
> deprecated.
>     return manager.make_random_password()
> 
> tests/management/commands/test_generate_password.py::test_with_length_args
>   
> /<<PKGBUILDDIR>>/django_extensions/management/commands/generate_password.py:28:
>  RemovedInDjango51Warning: BaseUserManager.make_random_password() is 
> deprecated.
>     return manager.make_random_password(length)
> 
> tests/management/commands/test_print_settings.py::test_without_args
> tests/management/commands/test_print_settings.py::test_with_setting_args
> tests/management/commands/test_print_settings.py::test_with_setting_wildcard
> tests/management/commands/test_print_settings.py::test_with_setting_fail
> tests/management/commands/test_print_settings.py::test_with_multiple_setting_args
> tests/management/commands/test_print_settings.py::test_format
> tests/management/commands/test_print_settings.py::test_format_json_without_indent
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:193: 
> RemovedInDjango51Warning: The DEFAULT_FILE_STORAGE setting is deprecated. Use 
> STORAGES instead.
>     self._show_deprecation_warning(
> 
> tests/management/commands/test_print_settings.py::test_without_args
> tests/management/commands/test_print_settings.py::test_with_setting_args
> tests/management/commands/test_print_settings.py::test_with_setting_wildcard
> tests/management/commands/test_print_settings.py::test_with_setting_fail
> tests/management/commands/test_print_settings.py::test_with_multiple_setting_args
> tests/management/commands/test_print_settings.py::test_format
> tests/management/commands/test_print_settings.py::test_format_json_without_indent
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:201: 
> RemovedInDjango51Warning: The STATICFILES_STORAGE setting is deprecated. Use 
> STORAGES instead.
>     self._show_deprecation_warning(
> 
> tests/management/commands/test_print_settings.py::test_without_args
> tests/management/commands/test_print_settings.py::test_with_setting_args
> tests/management/commands/test_print_settings.py::test_with_setting_wildcard
> tests/management/commands/test_print_settings.py::test_with_setting_fail
> tests/management/commands/test_print_settings.py::test_with_multiple_setting_args
> tests/management/commands/test_print_settings.py::test_format
> tests/management/commands/test_print_settings.py::test_format_json_without_indent
>   /usr/lib/python3/dist-packages/django/conf/__init__.py:178: 
> RemovedInDjango50Warning: The USE_L10N setting is deprecated. Starting with 
> Django 5.0, localized formatting of data will always be enabled. For example 
> Django will display numbers and dates using the format of the current locale.
>     self._show_deprecation_warning(
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> 
> ---------- coverage: platform linux, python 3.11.7-final-0 -----------
> Name                                                                  Stmts   
> Miss  Cover
> -----------------------------------------------------------------------------------------
> django_extensions/__init__.py                                            11   
>    1    91%
> django_extensions/admin/__init__.py                                      89   
>   61    31%
> django_extensions/admin/filter.py                                        27   
>    0   100%
> django_extensions/admin/widgets.py                                       46   
>    1    98%
> django_extensions/apps.py                                                 4   
>    0   100%
> django_extensions/auth/__init__.py                                        0   
>    0   100%
> django_extensions/auth/mixins.py                                          9   
>    0   100%
> django_extensions/collision_resolvers.py                                123   
>    2    98%
> django_extensions/compat.py                                              37   
>   12    68%
> django_extensions/db/__init__.py                                          0   
>    0   100%
> django_extensions/db/fields/__init__.py                                 341   
>   54    84%
> django_extensions/db/fields/json.py                                      53   
>    6    89%
> django_extensions/db/models.py                                           49   
>    0   100%
> django_extensions/import_subclasses.py                                   33   
>    0   100%
> django_extensions/jobs/__init__.py                                        0   
>    0   100%
> django_extensions/jobs/daily/__init__.py                                  0   
>    0   100%
> django_extensions/jobs/daily/cache_cleanup.py                            13   
>    0   100%
> django_extensions/jobs/daily/daily_cleanup.py                             7   
>    0   100%
> django_extensions/jobs/hourly/__init__.py                                 0   
>    0   100%
> django_extensions/jobs/minutely/__init__.py                               0   
>    0   100%
> django_extensions/jobs/monthly/__init__.py                                0   
>    0   100%
> django_extensions/jobs/weekly/__init__.py                                 0   
>    0   100%
> django_extensions/jobs/yearly/__init__.py                                 0   
>    0   100%
> django_extensions/logging/__init__.py                                     0   
>    0   100%
> django_extensions/logging/filters.py                                     24   
>    0   100%
> django_extensions/management/__init__.py                                  0   
>    0   100%
> django_extensions/management/base.py                                     11   
>    0   100%
> django_extensions/management/color.py                                    21   
>    0   100%
> django_extensions/management/commands/__init__.py                         0   
>    0   100%
> django_extensions/management/commands/admin_generator.py                190   
>   16    92%
> django_extensions/management/commands/clean_pyc.py                       28   
>    1    96%
> django_extensions/management/commands/clear_cache.py                     24   
>    0   100%
> django_extensions/management/commands/compile_pyc.py                     27   
>    1    96%
> django_extensions/management/commands/create_command.py                  63   
>    0   100%
> django_extensions/management/commands/create_jobs.py                     47   
>    2    96%
> django_extensions/management/commands/create_template_tags.py            50   
>   37    26%
> django_extensions/management/commands/delete_squashed_migrations.py     111   
>   21    81%
> django_extensions/management/commands/describe_form.py                   46   
>    1    98%
> django_extensions/management/commands/drop_test_database.py             117   
>    3    97%
> django_extensions/management/commands/dumpscript.py                     318   
>   42    87%
> django_extensions/management/commands/export_emails.py                   95   
>   12    87%
> django_extensions/management/commands/find_template.py                   15   
>    0   100%
> django_extensions/management/commands/generate_password.py               19   
>    2    89%
> django_extensions/management/commands/generate_secret_key.py             10   
>    0   100%
> django_extensions/management/commands/graph_models.py                   130   
>   51    61%
> django_extensions/management/commands/list_model_info.py                 80   
>   15    81%
> django_extensions/management/commands/list_signals.py                    39   
>    1    97%
> django_extensions/management/commands/mail_debug.py                      56   
>   18    68%
> django_extensions/management/commands/managestate.py                     92   
>   14    85%
> django_extensions/management/commands/merge_model_instances.py          141   
>   23    84%
> django_extensions/management/commands/notes.py                           46   
>    0   100%
> django_extensions/management/commands/pipchecker.py                     209   
>  170    19%
> django_extensions/management/commands/print_settings.py                  42   
>    6    86%
> django_extensions/management/commands/print_user_for_session.py          42   
>    0   100%
> django_extensions/management/commands/raise_test_exception.py            10   
>    0   100%
> django_extensions/management/commands/reset_db.py                       113   
>    7    94%
> django_extensions/management/commands/reset_schema.py                    38   
>    2    95%
> django_extensions/management/commands/runjob.py                          40   
>    0   100%
> django_extensions/management/commands/runjobs.py                         63   
>    6    90%
> django_extensions/management/commands/runprofileserver.py               192   
>  171    11%
> django_extensions/management/commands/runscript.py                      210   
>   34    84%
> django_extensions/management/commands/runserver_plus.py                 324   
>  123    62%
> django_extensions/management/commands/set_default_site.py                46   
>    0   100%
> django_extensions/management/commands/set_fake_emails.py                 55   
>    0   100%
> django_extensions/management/commands/set_fake_passwords.py              29   
>    0   100%
> django_extensions/management/commands/shell_plus.py                     388   
>  329    15%
> django_extensions/management/commands/show_template_tags.py              74   
>    5    93%
> django_extensions/management/commands/show_urls.py                      145   
>   30    79%
> django_extensions/management/commands/sqlcreate.py                       56   
>    2    96%
> django_extensions/management/commands/sqldiff.py                        764   
>  404    47%
> django_extensions/management/commands/sqldsn.py                          95   
>    3    97%
> django_extensions/management/commands/sync_s3.py                        191   
>   79    59%
> django_extensions/management/commands/syncdata.py                       142   
>    8    94%
> django_extensions/management/commands/unreferenced_files.py              33   
>    0   100%
> django_extensions/management/commands/update_permissions.py              41   
>    0   100%
> django_extensions/management/commands/validate_templates.py              65   
>    0   100%
> django_extensions/management/debug_cursor.py                             79   
>   68    14%
> django_extensions/management/email_notifications.py                      47   
>    2    96%
> django_extensions/management/jobs.py                                    127   
>   15    88%
> django_extensions/management/modelviz.py                                273   
>   23    92%
> django_extensions/management/mysql.py                                    20   
>    0   100%
> django_extensions/management/notebook_extension.py                        5   
>    4    20%
> django_extensions/management/shells.py                                  221   
>   68    69%
> django_extensions/management/signals.py                                  10   
>    0   100%
> django_extensions/management/technical_response.py                       20   
>   15    25%
> django_extensions/management/utils.py                                    46   
>   15    67%
> django_extensions/models.py                                               0   
>    0   100%
> django_extensions/mongodb/__init__.py                                     0   
>    0   100%
> django_extensions/mongodb/fields/__init__.py                            152   
>  144     5%
> django_extensions/mongodb/fields/json.py                                 41   
>   41     0%
> django_extensions/mongodb/models.py                                      34   
>   34     0%
> django_extensions/settings.py                                            11   
>    0   100%
> django_extensions/templatetags/__init__.py                                0   
>    0   100%
> django_extensions/templatetags/debugger_tags.py                           9   
>    0   100%
> django_extensions/templatetags/highlighting.py                           39   
>   20    49%
> django_extensions/templatetags/indent_text.py                            35   
>    0   100%
> django_extensions/templatetags/syntax_color.py                           54   
>    0   100%
> django_extensions/templatetags/widont.py                                 23   
>    4    83%
> django_extensions/utils/__init__.py                                       1   
>    0   100%
> django_extensions/utils/deprecation.py                                    4   
>    0   100%
> django_extensions/utils/dia2django.py                                   142   
>  129     9%
> django_extensions/utils/internal_ips.py                                  25   
>   14    44%
> django_extensions/validators.py                                          73   
>    2    97%
> -----------------------------------------------------------------------------------------
> TOTAL                                                                  7540   
> 2374    69%
> Coverage HTML written to dir htmlcov
> 
> ====== 489 passed, 4 skipped, 4 xfailed, 6 xpassed, 93 warnings in 20.69s 
> ======
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" --system=custom "--test-args={interpreter} -m pytest 
> --cov=django_extensions --ds=tests.testapp.settings  
> --ignore=tests/management/commands/test_create_template_tags.py 
> --ignore=tests/management/commands/test_pipchecker.py 
> --ignore=tests/templatetags/test_highlighting.py  
> --ignore=tests/management/commands/shell_plus_tests/test_shell_plus.py tests" 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/12/12/python-django-extensions_3.2.1-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to