#8763 closed (fixed)
modeltests/generic_relations may fail since TaggedItem ordering is not completely specified
| Reported by: | Owned by: | nobody | |
|---|---|---|---|
| Component: | Testing framework | Version: | dev | 
| Severity: | Keywords: | ||
| Cc: | richard.davies@… | Triage Stage: | Accepted | 
| Has patch: | yes | Needs documentation: | no | 
| Needs tests: | no | Patch needs improvement: | no | 
| Easy pickings: | no | UI/UX: | no | 
Description
modeltests/generic_relations fails on one of my systems, while it works on others. The reason is that there is a test on TaggedItem.objects.all(), and the order of the items returned by all() may vary.
I attach a very simple patch to guarantee that the ordering is as expected by the test case.
The error:
$ ./runtests.py --settings=SETT_postgresql_psycopg2 generic_relations
======================================================================
FAIL: Doctest: modeltests.generic_relations.models.__test__.API_TESTS
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/elastic/django-dev/trunk/django/test/_doctest.py", line 2180, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for modeltests.generic_relations.models.__test__.API_TESTS
  File "/home/elastic/django-dev/trunk/tests/modeltests/generic_relations/models.py", line unknown line number, in API_TESTS
----------------------------------------------------------------------
File "/home/elastic/django-dev/trunk/tests/modeltests/generic_relations/models.py", line ?, in modeltests.generic_relations.models.__test__.API_TESTS
Failed example:
    [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()]
Expected:
    [(u'clearish', <ContentType: mineral>, 1), (u'fatty', <ContentType: vegetable>, 2), (u'fatty', <ContentType: animal>, 1), (u'hairy', <ContentType: animal>, 2), (u'salty', <ContentType: vegetable>, 2), (u'shiny', <ContentType: animal>, 1), (u'yellow', <ContentType: animal>, 2)]
Got:
    [(u'clearish', <ContentType: mineral>, 1), (u'fatty', <ContentType: animal>, 1), (u'fatty', <ContentType: vegetable>, 2), (u'hairy', <ContentType: animal>, 2), (u'salty', <ContentType: vegetable>, 2), (u'shiny', <ContentType: animal>, 1), (u'yellow', <ContentType: animal>, 2)]
----------------------------------------------------------------------
File "/home/elastic/django-dev/trunk/tests/modeltests/generic_relations/models.py", line ?, in modeltests.generic_relations.models.__test__.API_TESTS
Failed example:
    [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()]
Expected:
    [(u'clearish', <ContentType: mineral>, 1), (u'fatty', <ContentType: vegetable>, 2), (u'fatty', <ContentType: animal>, 1), (u'salty', <ContentType: vegetable>, 2), (u'shiny', <ContentType: animal>, 1)]
Got:
    [(u'clearish', <ContentType: mineral>, 1), (u'fatty', <ContentType: animal>, 1), (u'fatty', <ContentType: vegetable>, 2), (u'salty', <ContentType: vegetable>, 2), (u'shiny', <ContentType: animal>, 1)]
----------------------------------------------------------------------
File "/home/elastic/django-dev/trunk/tests/modeltests/generic_relations/models.py", line ?, in modeltests.generic_relations.models.__test__.API_TESTS
Failed example:
    [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()]
Expected:
    [(u'clearish', <ContentType: mineral>, 1), (u'fatty', <ContentType: vegetable>, 2), (u'fatty', <ContentType: animal>, 1), (u'salty', <ContentType: vegetable>, 2), (u'shiny', <ContentType: animal>, 1)]
Got:
    [(u'clearish', <ContentType: mineral>, 1), (u'fatty', <ContentType: animal>, 1), (u'fatty', <ContentType: vegetable>, 2), (u'salty', <ContentType: vegetable>, 2), (u'shiny', <ContentType: animal>, 1)]
----------------------------------------------------------------------
Ran 1 test in 0.319s
FAILED (failures=1)
      Attachments (1)
Change History (4)
by , 17 years ago
| Attachment: | 8763_generic_relations_sort.diff added | 
|---|
comment:1 by , 17 years ago
| Triage Stage: | Unreviewed → Accepted | 
|---|
comment:2 by , 17 years ago
| Resolution: | → fixed | 
|---|---|
| Status: | new → closed | 
  Note:
 See   TracTickets
 for help on using tickets.
    
This looks ready for checkin, but I'll just mark it accepted.