Bug 1698393

Summary: python-django-2.1.7-1.fc31 FTBFS with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-djangoAssignee: Miro Hrončok <mhroncok>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: jal233, mhroncok, michel, mrunge, sgallagh, slavek.kabrda
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-django-2.2-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-11 12:59:52 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: 1674439    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-04-10 10:00:47 UTC
Created attachment 1554155 [details]
Full log from Copr

The current Django (python-django-2.1.7-1.fc31) fails tests with Python 3.8:

======================================================================
FAIL: test_deterministic_mapping_ordering (serializers.test_yaml.YamlSerializerTestCase)
Mapping such as fields should be deterministically ordered. (#24558)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/serializers/tests.py", line 316, in test_deterministic_mapping_ordering
    self.assertEqual(output, self.mapping_ordering_str % {
AssertionError: '- mo[130 chars]:00:00\n    categories:\n    - 3\n    - 1\n    meta_data: []\n' != '- mo[130 chars]:00:00\n    categories: [3, 1]\n    meta_data: []\n'
  - model: serializers.article
    pk: 1
    fields:
      author: 2
      headline: Poker has no place on ESPN
      pub_date: 2006-06-16 11:00:00
-     categories:
+     categories: [3, 1]
?                +++++++
-     - 3
-     - 1
      meta_data: []


======================================================================
FAIL: test_aware_datetime_in_local_timezone (timezones.tests.SerializationTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 742, in test_aware_datetime_in_local_timezone
    self.assert_yaml_contains_datetime(data, "2011-09-01 13:20:30+03:00")
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 624, in assert_yaml_contains_datetime
    self.assertRegex(yaml, r"\n  fields: {dt: !(!timestamp)? '%s'}" % re.escape(dt))
AssertionError: Regex didn't match: "\\n  fields: {dt: !(!timestamp)? '2011\\-09\\-01\\ 13:20:30\\+03:00'}" not found in '- model: timezones.event\n  pk: null\n  fields:\n    dt: 2011-09-01 13:20:30+03:00\n'

======================================================================
FAIL: test_aware_datetime_in_other_timezone (timezones.tests.SerializationTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 766, in test_aware_datetime_in_other_timezone
    self.assert_yaml_contains_datetime(data, "2011-09-01 17:20:30+07:00")
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 624, in assert_yaml_contains_datetime
    self.assertRegex(yaml, r"\n  fields: {dt: !(!timestamp)? '%s'}" % re.escape(dt))
AssertionError: Regex didn't match: "\\n  fields: {dt: !(!timestamp)? '2011\\-09\\-01\\ 17:20:30\\+07:00'}" not found in '- model: timezones.event\n  pk: null\n  fields:\n    dt: 2011-09-01 17:20:30+07:00\n'

======================================================================
FAIL: test_aware_datetime_in_utc (timezones.tests.SerializationTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 718, in test_aware_datetime_in_utc
    self.assert_yaml_contains_datetime(data, "2011-09-01 10:20:30+00:00")
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 624, in assert_yaml_contains_datetime
    self.assertRegex(yaml, r"\n  fields: {dt: !(!timestamp)? '%s'}" % re.escape(dt))
AssertionError: Regex didn't match: "\\n  fields: {dt: !(!timestamp)? '2011\\-09\\-01\\ 10:20:30\\+00:00'}" not found in '- model: timezones.event\n  pk: null\n  fields:\n    dt: 2011-09-01 10:20:30+00:00\n'

======================================================================
FAIL: test_aware_datetime_with_microsecond (timezones.tests.SerializationTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 694, in test_aware_datetime_with_microsecond
    self.assert_yaml_contains_datetime(data, "2011-09-01 17:20:30.405060+07:00")
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 624, in assert_yaml_contains_datetime
    self.assertRegex(yaml, r"\n  fields: {dt: !(!timestamp)? '%s'}" % re.escape(dt))
AssertionError: Regex didn't match: "\\n  fields: {dt: !(!timestamp)? '2011\\-09\\-01\\ 17:20:30\\.405060\\+07:00'}" not found in '- model: timezones.event\n  pk: null\n  fields:\n    dt: 2011-09-01 17:20:30.405060+07:00\n'

======================================================================
FAIL: test_naive_datetime (timezones.tests.SerializationTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 646, in test_naive_datetime
    self.assert_yaml_contains_datetime(data, "2011-09-01 13:20:30")
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 624, in assert_yaml_contains_datetime
    self.assertRegex(yaml, r"\n  fields: {dt: !(!timestamp)? '%s'}" % re.escape(dt))
AssertionError: Regex didn't match: "\\n  fields: {dt: !(!timestamp)? '2011\\-09\\-01\\ 13:20:30'}" not found in '- model: timezones.event\n  pk: null\n  fields:\n    dt: 2011-09-01 13:20:30\n'

======================================================================
FAIL: test_naive_datetime_with_microsecond (timezones.tests.SerializationTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 670, in test_naive_datetime_with_microsecond
    self.assert_yaml_contains_datetime(data, "2011-09-01 13:20:30.405060")
  File "/builddir/build/BUILD/Django-2.1.7/tests/timezones/tests.py", line 624, in assert_yaml_contains_datetime
    self.assertRegex(yaml, r"\n  fields: {dt: !(!timestamp)? '%s'}" % re.escape(dt))
AssertionError: Regex didn't match: "\\n  fields: {dt: !(!timestamp)? '2011\\-09\\-01\\ 13:20:30\\.405060'}" not found in '- model: timezones.event\n  pk: null\n  fields:\n    dt: 2011-09-01 13:20:30.405060\n'

----------------------------------------------------------------------
Ran 12368 tests in 387.074s

FAILED (failures=7, skipped=892, expected failures=4)

Full log attached. This blocks Python 3.8 bootstrap towards kobo and pungi.

Comment 1 Miro Hrončok 2019-04-10 10:04:29 UTC
I'll try to update to 2.2.

Comment 2 Miro Hrončok 2019-04-10 10:39:54 UTC
Indeed, 2.2 works.

https://src.fedoraproject.org/rpms/python-django/pull-request/8