--- 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 ---