Re: [Django] #32114: Workaround for subtest issue with parallel test runner

25 views
Skip to first unread message

Django

unread,
Oct 16, 2020, 4:09:52 PM10/16/20
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: nobody
Type: Uncategorized | Status: new
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage:
parallel | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jordan Ephron):

* component: Uncategorized => Testing framework


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

Django

unread,
Oct 20, 2020, 2:48:48 AM10/20/20
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: nobody
Type: Uncategorized | Status: new
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Carlton Gibson):

* stage: Unreviewed => Accepted


Comment:

HI Jordan. Thanks for the report.

Sounds like it's definitely worth looking at a patch. It would be a nice
improvement if there aren't any issues.
Would you be able to prepare a PR?

Ref also #27301 (and loosely #29023)

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

Django

unread,
Nov 6, 2020, 3:43:00 AM11/6/20
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jordan
Type: | Ephron
Cleanup/optimization | Status: assigned

Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0

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

* type: Uncategorized => Cleanup/optimization


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:7>

Django

unread,
Feb 9, 2021, 2:39:16 PM2/9/21
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jordan
Type: | Ephron
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:8>

Django

unread,
Feb 18, 2021, 4:19:17 PM2/18/21
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jordan
Type: | Ephron
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Chris Jerdonek):

I took a look at the proposed PR for this issue. I want to mention that
there's another approach to the whole "pickleability" issue. The problem
with the pickling approach is that I don't think it can ever be completely
solved. It seems like there will always be cases that can't be pickled, so
attempts at further fixing will always be partial workarounds.

Another approach is to render the exception to a string when the exception
first happens, and to pass the string back (as strings ''are''
pickleable). This approach is discussed further in #29023, and a proof-of-
concept patch is linked to there. Another advantage of first rendering to
a string is that the full exception chain gets captured, which I don't
think pickling addresses either (last I checked). (Ticket #29023 is about
the exception chain aspect.)

--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:9>

Django

unread,
Feb 1, 2022, 6:37:22 AM2/1/22
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jonny
Type: | Arnold

Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jonny Arnold):

* owner: Jordan Ephron => Jonny Arnold


Comment:

I ran into this issue recently and feel I can pick this up following the
comments on the old pull request.

--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:10>

Django

unread,
Feb 9, 2022, 9:38:41 AM2/9/22
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jonny
Type: | Arnold
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jonny Arnold):

* needs_better_patch: 1 => 0


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:11>

Django

unread,
Feb 10, 2022, 7:34:40 AM2/10/22
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jonny
Type: | Arnold
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1

* needs_tests: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:12>

Django

unread,
Feb 11, 2022, 10:35:30 AM2/11/22
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jonny
Type: | Arnold
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jonny Arnold):

* needs_better_patch: 1 => 0

* needs_tests: 1 => 0


Comment:

I've responded to the comment on the Pull Request. Please let me know if I
need to make any further changes.

--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:13>

Django

unread,
Feb 11, 2022, 10:49:28 AM2/11/22
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: Jonny
Type: | Arnold
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:14>

Django

unread,
Aug 10, 2022, 4:18:52 AM8/10/22
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: (none)
Type: | Status: new
Cleanup/optimization |

Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* owner: Jonny Arnold => (none)
* status: assigned => new


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:15>

Django

unread,
Jul 21, 2023, 3:56:20 AM7/21/23
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* cc: Sarah Boyce (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:16>

Django

unread,
Aug 10, 2023, 8:52:29 AM8/10/23
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Sage Abdullah):

* cc: Sage Abdullah (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:17>

Django

unread,
Sep 27, 2023, 2:58:13 AM9/27/23
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by David Wobrock):

* cc: David Wobrock (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:18>

Django

unread,
Dec 27, 2023, 1:27:39 PM12/27/23
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: assigned

Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by David Wobrock):

* owner: (none) => David Wobrock


* needs_better_patch: 1 => 0

* status: new => assigned


Comment:

Here's a new minimal [https://github.com/django/django/pull/17650 PR],
based on previous work.

--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:19>

Django

unread,
Dec 28, 2023, 12:47:32 AM12/28/23
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:20>

Django

unread,
Dec 29, 2023, 4:05:19 AM12/29/23
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by David Wobrock):

* needs_better_patch: 1 => 0


--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:21>

Django

unread,
Feb 2, 2024, 4:51:06 AM2/2/24
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:22>

Django

unread,
Feb 21, 2024, 2:30:05 AM2/21/24
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Accepted
parallel |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by David Wobrock):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:23>

Django

unread,
Feb 21, 2024, 6:04:39 AM2/21/24
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: assigned
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution:
Keywords: Test subtest | Triage Stage: Ready for
parallel | 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/32114#comment:24>

Django

unread,
Feb 21, 2024, 6:37:43 AM2/21/24
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: closed
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution: fixed
Keywords: Test subtest | Triage Stage: Ready for
parallel | 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@…>):

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

Comment:

In [changeset:"c09e8f5fd8f977bf16e9ec5d11b370151fc81ea8" c09e8f5]:
{{{#!CommitTicketReference repository=""
revision="c09e8f5fd8f977bf16e9ec5d11b370151fc81ea8"
Fixed #32114 -- Fixed parallel test crash on non-picklable objects in
subtests.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:25>

Django

unread,
Feb 22, 2024, 12:27:48 AM2/22/24
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: closed
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution: fixed
Keywords: Test subtest | Triage Stage: Ready for
parallel | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by GitHub <noreply@…>):

In [changeset:"f835787f714cf000603516188b5516f87aa348b1" f835787]:
{{{#!CommitTicketReference repository=""
revision="f835787f714cf000603516188b5516f87aa348b1"
Refs #32114 -- Fixed RemoteTestResultTest.test_unpicklable_subtest test
without tblib.

Follow up to c09e8f5fd8f977bf16e9ec5d11b370151fc81ea8.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:26>

Django

unread,
Feb 26, 2024, 11:18:58 AM2/26/24
to django-...@googlegroups.com
#32114: Workaround for subtest issue with parallel test runner
-------------------------------------+-------------------------------------
Reporter: Jordan Ephron | Owner: David
Type: | Wobrock
Cleanup/optimization | Status: closed
Component: Testing framework | Version: 3.1
Severity: Normal | Resolution: fixed
Keywords: Test subtest | Triage Stage: Ready for
parallel | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by GitHub <noreply@…>):

In [changeset:"ef2434f8508551fee183079ab471b1dc325c7acb" ef2434f]:
{{{#!CommitTicketReference repository=""
revision="ef2434f8508551fee183079ab471b1dc325c7acb"
Refs #32114 -- Fixed test crash on non-picklable objects in subtests when
PickleError is raised.

Related to the https://github.com/python/cpython/issues/73373.

Follow up to c09e8f5fd8f977bf16e9ec5d11b370151fc81ea8.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32114#comment:27>
Reply all
Reply to author
Forward
0 new messages