Your message dated Sat, 27 Jan 2024 11:39:02 +0000
with message-id <e1rth1a-00cquh...@fasolo.debian.org>
and subject line Bug#1058376: fixed in python-django-extensions 3.2.3-1
has caused the Debian Bug report #1058376,
regarding python-django-extensions: FTBFS: TypeError: Can't instantiate 
abstract class CRNoFunction without an implementation for abstract method 
'resolve_collisions'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1058376: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058376
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: python-django-extensions
Version: 3.2.1-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
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;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&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.

--- End Message ---
--- Begin Message ---
Source: python-django-extensions
Source-Version: 3.2.3-1
Done: Jérémy Lal <kapo...@melix.org>

We believe that the bug you reported is fixed in the latest version of
python-django-extensions, which is due to be installed in the Debian FTP 
archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1058...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jérémy Lal <kapo...@melix.org> (supplier of updated python-django-extensions 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 27 Jan 2024 12:03:45 +0100
Source: python-django-extensions
Architecture: source
Version: 3.2.3-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Jérémy Lal <kapo...@melix.org>
Closes: 1058376
Changes:
 python-django-extensions (3.2.3-1) unstable; urgency=medium
 .
   * Team upload
   * New upstream version 3.2.3. Closes: #1058376
   * Use github watch from uscan doc
   * Standards-Version 4.6.2
   * patch: python 3.12 compat
   * build-depends: aiosmtpd
   * debian/rules: use hooks
   * Streamline tests using autopkgtest-pkg-pybuild,
     pybuild.testfiles. Disable coverage for faster execution.
 .
   [ Alexandre Detiste ]
   * remove extraneous dep. on python3-mock
Checksums-Sha1:
 10c044e29ca7e9b15fb8ebe4a75c3b71c668975e 2533 
python-django-extensions_3.2.3-1.dsc
 af10742ff6509a4ac637268eb984eb24d1862388 267877 
python-django-extensions_3.2.3.orig.tar.gz
 220ee2206808f43a96f6491377a7a9aaba95b8be 394024 
python-django-extensions_3.2.3-1.debian.tar.xz
 68f3af229c35fd08082bfb39b7ed48d90a50f7f1 9278 
python-django-extensions_3.2.3-1_source.buildinfo
Checksums-Sha256:
 c552861607b8fd4628176f520c7a44d0b9579f23d9fbc800cc4b821a9fd9ebf4 2533 
python-django-extensions_3.2.3-1.dsc
 47d48571bcdc6b284824ebd54103460028d6026dc914c390b8ada02fa84463bd 267877 
python-django-extensions_3.2.3.orig.tar.gz
 4e9f578d807ca734cd6c2930143409e943c5e292e014cbbb74052a6fa10c6036 394024 
python-django-extensions_3.2.3-1.debian.tar.xz
 1e956584e5783a28c2820da387f268d3af17273ab9db44ae234f323ed5c803ec 9278 
python-django-extensions_3.2.3-1_source.buildinfo
Files:
 1e1606add8a3adfe9c6cc16b4c346711 2533 python optional 
python-django-extensions_3.2.3-1.dsc
 24171265e2d7f2d61d6b36f4b5d9de59 267877 python optional 
python-django-extensions_3.2.3.orig.tar.gz
 19b2817977a1332b5eb7dddf7e110c39 394024 python optional 
python-django-extensions_3.2.3-1.debian.tar.xz
 07c40c64a58ff181bc99ab63504514ef 9278 python optional 
python-django-extensions_3.2.3-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJGBAEBCAAwFiEEA8Tnq7iA9SQwbkgVZhHAXt0583QFAmW05AwSHGthcG91ZXJA
bWVsaXgub3JnAAoJEGYRwF7dOfN05gIP/30m3LsAnakTcRVQcmf6RzjQNW+GlYx/
+LnnSzaZQ0/jTWzigHNhb1iZ8b+ihrTLDJLtl3EEZt8+BmJgXpyVNyQRAQC5yUNU
gfNYpxbsUVvNnnMNCpGnzWIhV/+FygbNvymXP5qyr793qHBLlHG8Nq9fCDtrG2XX
rUOpsEUqz7lg5MgttREWrzysCNlKXh+8zBgn2BonlXdxv4A6ZCr0p9lEFiBHfjXs
dmmeYcZF5vraRN6dUEuhtWfpXpsrVzJPZMhKzXKUpXx1fhk/B+64GsURDQTLO5O2
mTwIY6GEGCYkwPnP+3EBONMrYwmlhcHP4W17hqq5Ua9tPnpGQlDi58x/jcHXM2gh
tAzEd9kBTiVrHyOuU56kkanNZodetedHLwA85qBARQDlOLjRx4p1aFyfG5FImVKi
yg4QFjFOD2rJKEIulNOslVg/FjEsr1I0PbhhKrOtAWjAzK5LxyPRNEFd+rjZRDqr
b97cXQFPuqxCOw3n0LkGS3zTVyv2AmanUNxzDq2vwwKIeWLwFfr5TW9PgSMiQlEO
CBWayCLBjdsQBDkX3994MUO9wm/7iHXPtgyNujR0nCOY0SDD0O1CRqPhDGzLY1S9
6yNt/L1DBfX+DhoGO9wKj3QygpQcwaxOKOhcsgDTBCYvCowolW7iXCtqfhR8pZQw
hk+mAEkpHJCw
=9BJj
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to