[Django] #32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are present

26 views
Skip to first unread message

Django

unread,
Mar 6, 2021, 1:09:19 PM3/6/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-------------------------------------+-------------------------------------
Reporter: Chris | Owner: nobody
Jerdonek |
Type: | Status: assigned
Uncategorized |
Component: Testing | Version: 3.1
framework |
Severity: Normal | Keywords: reorder_suite
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
I noticed that when test duplicates are present, passing `reverse=True` to
[https://github.com/django/django/blob/286fb73b6962d197ed0cf041755fb724cfe08600/django/test/runner.py#L767
reorder_suite()] isn't always a strict reversal. For example, if the tests
given are `[test1, test2, test3, test1]`, then the forward direction will
be `[test1, test2, test3]`, but the reversed direction will be `[test1,
test3, test2]`.

This should be easy to fix by reversing only after duplicates are removed.
I would suggest fixing this only after
[https://github.com/django/django/pull/14085 PR #14085] is merged, since
there will be less code at that point.

--
Ticket URL: <https://code.djangoproject.com/ticket/32516>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Mar 6, 2021, 2:37:39 PM3/6/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-----------------------------------+------------------------------------
Reporter: Chris Jerdonek | Owner: nobody
Type: Bug | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: reorder_suite | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------------+------------------------------------
Changes (by Mariusz Felisiak):

* type: Uncategorized => Bug
* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/32516#comment:1>

Django

unread,
Mar 6, 2021, 5:05:03 PM3/6/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Chris
| Jerdonek

Type: Bug | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: reorder_suite | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Chris Jerdonek):

* owner: nobody => Chris Jerdonek


--
Ticket URL: <https://code.djangoproject.com/ticket/32516#comment:2>

Django

unread,
Mar 8, 2021, 3:51:46 AM3/8/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Chris
| Jerdonek
Type: Bug | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: reorder_suite | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"2e5aa444d140a9f2bc858e493ff85ced589f1a58" 2e5aa444]:
{{{
#!CommitTicketReference repository=""
revision="2e5aa444d140a9f2bc858e493ff85ced589f1a58"
Fixed #32517 -- Made OrderedSet reversible.

Refs #32516.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32516#comment:3>

Django

unread,
Mar 9, 2021, 4:59:41 AM3/9/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Chris
| Jerdonek
Type: Bug | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: reorder_suite | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Chris Jerdonek):

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32516#comment:4>

Django

unread,
Mar 9, 2021, 7:33:08 AM3/9/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Chris
| Jerdonek
Type: Bug | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: reorder_suite | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/32516#comment:5>

Django

unread,
Mar 9, 2021, 12:33:02 PM3/9/21
to django-...@googlegroups.com
#32516: reorder_suite(reverse=True) isn't a strict reversal when duplicates are
present
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Chris
| Jerdonek
Type: Bug | Status: closed

Component: Testing framework | Version: 3.1
Severity: Normal | Resolution: fixed

Keywords: reorder_suite | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"77e0a35a10e0b839d661ea88c12ec1facb2d4fb6" 77e0a35a]:
{{{
#!CommitTicketReference repository=""
revision="77e0a35a10e0b839d661ea88c12ec1facb2d4fb6"
Fixed #32516 -- Fixed reorder_suite() with duplicates and reverse=True.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32516#comment:6>

Reply all
Reply to author
Forward
0 new messages