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.