Is there any work going on with regard to making Django more resilient
in the face of changes to dictionary ordering? I know there has been
discussion about the hash collision issue last December, but I'm
unable to find a summary of the official Django position on this. Can
someone please point me to it? My Google-fu may have deserted me.

Following recent changes to the in-development Python 3.3, several
dozen Django tests are failing, apparently because of changes to
dictionary hashing and hence key order. Some examples:

======================================================================
FAIL: test_proxy_model_included
(regressiontests.fixtures_regress.tests.TestFixtures)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/administrator/projects/django3/tests/regressiontests/
fixtures_regress/tests.py", line 363, in test_proxy_model_included
    % widget.pk
AssertionError: '[{"model": "fixtures_regress.widget", "fields":
{"name": "grommet"}, "pk": 1}]' [truncated]... != '[{"pk": 1, "model":
"fixtures_regress.widget", "fields": {"name":
"grommet"}}]' [truncated]...
- [{"model": "fixtures_regress.widget", "fields": {"name": "grommet"},
"pk": 1}]
?
---------
+ [{"pk": 1, "model": "fixtures_regress.widget", "fields": {"name":
"grommet"}}]
?   +++++++++


======================================================================
FAIL: test_basic_processing_in_view
(regressiontests.forms.tests.forms.FormsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/administrator/projects/django3/tests/regressiontests/
forms/tests/forms.py", line 1527, in test_basic_processing_in_view
    py3_prefix("VALID: {'username': %(_)s'adrian', 'password1': %
(_)s'secret', 'password2': %(_)s'secret'}"))
  File "/Users/administrator/projects/django3/django/test/
testcases.py", line 429, in assertHTMLEqual
    self.fail(self._formatMessage(msg, standardMsg))
AssertionError: VALID: {'username': 'adrian', 'password2': 'secret',
'password1': 'secret'} != VALID: {'username': 'adrian', 'password1':
'secret', 'password2': 'secret'}
- VALID: {'username': 'adrian', 'password2': 'secret', 'password1':
'secret'}
+ VALID: {'username': 'adrian', 'password1': 'secret', 'password2':
'secret'}

There are no corresponding failures with Python 3.2. The Django 3.x
branch is pretty up to date with trunk.

Regards,

Vinay Sajip

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to