Subject: Re: Build python-django.i686-linux (3.1.14) on master is broken.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 29 Dec 2023 20:58:09 -0500

Hello,

[email-masked] (Cuirass) writes:

> <p>The build <b>python-django.i686-linux</b> for specification <b>master</b> is broken. You
> can find the detailed information about this build <a
> href="https://ci.guix.gnu.org/build/3013921/details">here</a>.</p>
>
> https://ci.guix.gnu.org/build/3013921/details

Its test suite fails with:

--8<---------------cut here---------------start------------->8---
======================================================================
ERROR: test_request_lifecycle_signals_dispatched_with_thread_sensitive (asgi.tests.ASGITest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-django-3.1.14.drv-0/Django-3.1.14/tests/asgi/tests.py", line 240, in test_request_lifecycle_signals_dispatched_with_thread_sensitive
    target_thread = next(iter(SyncToAsync.single_thread_executor._threads))
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/gnu/store/z50pahm1b6raah2ql3pay04rlw5s76kz-python-asgiref-3.7.2/lib/python3.10/site-packages/asgiref/sync.py", line 277, in __call__
    return call_result.result()
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/gnu/store/6lf6s5bzr8ssg641qdnbn41ldq9hf9mj-python-3.10.7/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/gnu/store/z50pahm1b6raah2ql3pay04rlw5s76kz-python-asgiref-3.7.2/lib/python3.10/site-packages/asgiref/sync.py", line 353, in main_wrap
    result = await self.awaitable(*args, **kwargs)
RuntimeError: coroutine raised StopIteration

======================================================================
FAIL: test_dumpdata_proxy_with_concrete (fixtures.tests.FixtureLoadingTests)
A warning isn't displayed if a proxy model is dumped with its concrete
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-django-3.1.14.drv-0/Django-3.1.14/tests/fixtures/tests.py", line 526, in test_dumpdata_proxy_with_concrete
    self.assertEqual(len(warning_list), 0)
AssertionError: 2 != 0

======================================================================
FAIL: test_custom_fields (inspectdb.tests.InspectDBTestCase)
Introspection of columns with a custom field (#21090)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-django-3.1.14.drv-0/Django-3.1.14/tests/inspectdb/tests.py", line 285, in test_custom_fields
    self.assertIn("text_field = myfields.TextField()", output)
AssertionError: 'text_field = myfields.TextField()' not found in "# This is an auto-generated Django model module.\n# You'll have to do the following manually to clean this up:\n#   * Rearrange models' order\n#   * Make sure each model has one field with primary_key=True\n#   * Make sure each ForeignKey and OneToOneField has `on_delete` set to the desired behavior\n#   * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table\n# Feel free to rename the models, but don't rename db_table values or field names.\nfrom django.db import models\n\n\nclass InspectdbColumntypes(models.Model):\n    id = models.TextField(primary_key=True)  # This field type is a guess.\n    big_int_field = models.BigIntegerField()\n    bool_field = models.TextField()  # This field type is a guess.\n    null_bool_field = models.TextField(blank=True, null=True)  # This field type is a guess.\n    char_field = models.TextField()  # This field type is a guess.\n    null_char_field = models.TextField(blank=True, null=True)  # This field type is a guess.\n    date_field = models.TextField()  # This field type is a guess.\n    date_time_field = models.TextField()  # This field type is a guess.\n    decimal_field = models.TextField()  # This field type is a guess.\n    email_field = models.TextField()  # This field type is a guess.\n    file_field = models.TextField()  # This field type is a guess.\n    file_path_field = models.TextField()  # This field type is a guess.\n    float_field = models.TextField()  # This field type is a guess.\n    int_field = models.TextField()  # This field type is a guess.\n    gen_ip_address_field = models.TextField()  # This field type is a guess.\n    pos_big_int_field = models.TextField()  # This field type is a guess.\n    pos_int_field = models.TextField()  # This field type is a guess.\n    pos_small_int_field = models.TextField()  # This field type is a guess.\n    slug_field = models.TextField()  # This field type is a guess.\n    small_int_field = models.TextField()  # This field type is a guess.\n    text_field = models.TextField()  # This field type is a guess.\n    time_field = models.TextField()  # This field type is a guess.\n    url_field = models.TextField()  # This field type is a guess.\n    uuid_field = models.TextField()  # This field type is a guess.\n\n    class Meta:\n        managed = False\n        db_table = 'inspectdb_columntypes'\n"

======================================================================
FAIL: test_memoryview_content (httpwrappers.tests.HttpResponseTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-django-3.1.14.drv-0/Django-3.1.14/tests/httpwrappers/tests.py", line 372, in test_memoryview_content
    self.assertEqual(r.content, b'memoryview')
AssertionError: b'109101109111114121118105101119' != b'memoryview'

----------------------------------------------------------------------
Ran 13850 tests in 851.392s

FAILED (failures=3, errors=1, skipped=1010, expected failures=4)
--8<---------------cut here---------------end--------------->8---

-- 
Thanks,
Maxim