Bug 2169309

Summary: python-django fails to build in all Fedoras
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-djangoAssignee: Michel Alexandre Salim <michel>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: aekoroglu, mhroncok, michel, mrunge, rdopiera, sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/python-django
Whiteboard:
Fixed In Version: python-django-4.0.10-1.fc38, python-django-4.0.10-1.fc37, python-django-4.1.7-1.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-21 20:18:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2045102, 2117176, 2168842, 1992484    

Description Miro Hrončok 2023-02-13 09:44:21 UTC
Description of problem:
Package python-django fails to build from source in Fedora 39, 38, 37, 36

Version-Release number of selected component (if applicable):
4.0.2-6.fc37

Steps to Reproduce:
fedpkg build

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-django

======================================================================
ERROR: test_transaction_support (test_runner.tests.SQLiteInMemoryTestDbs.test_transaction_support)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 278, in _setup_and_call
    self._post_teardown()
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 1023, in _post_teardown
    self._fixture_teardown()
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 1055, in _fixture_teardown
    call_command('flush', verbosity=0, interactive=False,
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/__init__.py", line 187, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 417, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/commands/flush.py", line 47, in handle
    sql_list = sql_flush(self.style, connection,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/sql.py", line 11, in sql_flush
    tables = connection.introspection.django_table_names(only_existing=True, include_views=False)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/backends/base/introspection.py", line 99, in django_table_names
    existing_tables = set(self.table_names(include_views=include_views))
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/backends/base/introspection.py", line 50, in table_names
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 150, in __call__
    raise AssertionError(self.message)
AssertionError: Database queries to 'other' are not allowed in this test. Add 'other' to servers.tests.TestCase.databases to ensure proper test isolation and silence this failure.
======================================================================
FAIL: test_transaction_support (test_runner.tests.SQLiteInMemoryTestDbs.test_transaction_support)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-4.0.2/tests/test_runner/tests.py", line 582, in test_transaction_support
    DiscoverRunner(verbosity=0).setup_databases()
  File "/builddir/build/BUILD/Django-4.0.2/django/test/runner.py", line 830, in setup_databases
    return _setup_databases(
           ^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/utils.py", line 208, in setup_databases
    connection.creation.create_test_db(
  File "/builddir/build/BUILD/Django-4.0.2/django/db/backends/base/creation.py", line 74, in create_test_db
    call_command(
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/__init__.py", line 187, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 417, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 90, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/commands/migrate.py", line 92, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 223, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 77, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 55, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 150, in __call__
    raise AssertionError(self.message)
AssertionError: Database queries to 'other' are not allowed in this test. Add 'other' to servers.tests.TestCase.databases to ensure proper test isolation and silence this failure.
======================================================================
FAIL: test_output_normal (test_runner.test_debug_sql.TestDebugSQL.test_output_normal)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-4.0.2/tests/test_runner/test_debug_sql.py", line 76, in test_output_normal
    full_output = self._test_output(1)
                  ^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/tests/test_runner/test_debug_sql.py", line 63, in _test_output
    old_config = runner.setup_databases()
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/runner.py", line 830, in setup_databases
    return _setup_databases(
           ^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/utils.py", line 208, in setup_databases
    connection.creation.create_test_db(
  File "/builddir/build/BUILD/Django-4.0.2/django/db/backends/base/creation.py", line 74, in create_test_db
    call_command(
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/__init__.py", line 187, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 417, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 90, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/commands/migrate.py", line 92, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 223, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 77, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 55, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 150, in __call__
    raise AssertionError(self.message)
AssertionError: Database queries to 'other' are not allowed in this test. Add 'other' to servers.tests.TestCase.databases to ensure proper test isolation and silence this failure.
======================================================================
FAIL: test_output_verbose (test_runner.test_debug_sql.TestDebugSQL.test_output_verbose)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-4.0.2/tests/test_runner/test_debug_sql.py", line 83, in test_output_verbose
    full_output = self._test_output(2)
                  ^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/tests/test_runner/test_debug_sql.py", line 63, in _test_output
    old_config = runner.setup_databases()
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/runner.py", line 830, in setup_databases
    return _setup_databases(
           ^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/utils.py", line 208, in setup_databases
    connection.creation.create_test_db(
  File "/builddir/build/BUILD/Django-4.0.2/django/db/backends/base/creation.py", line 74, in create_test_db
    call_command(
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/__init__.py", line 187, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 417, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 90, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/commands/migrate.py", line 92, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 223, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 77, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 55, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 150, in __call__
    raise AssertionError(self.message)
AssertionError: Database queries to 'other' are not allowed in this test. Add 'other' to servers.tests.TestCase.databases to ensure proper test isolation and silence this failure.
======================================================================
FAIL: test_setupclass_exception (test_runner.test_debug_sql.TestDebugSQL.test_setupclass_exception)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-4.0.2/tests/test_runner/test_debug_sql.py", line 127, in test_setupclass_exception
    old_config = runner.setup_databases()
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/runner.py", line 830, in setup_databases
    return _setup_databases(
           ^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/utils.py", line 208, in setup_databases
    connection.creation.create_test_db(
  File "/builddir/build/BUILD/Django-4.0.2/django/db/backends/base/creation.py", line 74, in create_test_db
    call_command(
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/__init__.py", line 187, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 417, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/base.py", line 90, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/core/management/commands/migrate.py", line 92, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/loader.py", line 223, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 77, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/db/migrations/recorder.py", line 55, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/Django-4.0.2/django/test/testcases.py", line 150, in __call__
    raise AssertionError(self.message)
AssertionError: Database queries to 'other' are not allowed in this test. Add 'other' to servers.tests.TestCase.databases to ensure proper test isolation and silence this failure.
----------------------------------------------------------------------
Ran 15348 tests in 586.029s
FAILED (failures=4, errors=1, skipped=1234, expected failures=4)