﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32611	runtests.py's bisect_tests() and paired_tests() don't always need to do setup and teardown	Chris Jerdonek	Chris Jerdonek	"Currently, `runtests.py`'s [https://github.com/django/django/blob/main/tests/runtests.py#L346 bisect_tests()] and [https://github.com/django/django/blob/main/tests/runtests.py#L397 paired_tests()] both call `runtests.py`'s `setup()` and `teardown()`. However, it doesn't seem like they need to (in full).

The `setup()` function's primary purpose is to temporarily set `settings` for the purposes of the test run, but `bisect_tests()` and `paired_tests()` both run tests in a subprocess, so settings modification doesn't seem like it should be necessary. The only things the call to `setup()` seem to be needed for in these two cases is to (1) do some initial logging of the test run, and (2) do some work to compute `test_labels` in the case that `test_labels` aren't provided. So those pieces could be factored out.

Here is the commit where the calls to `setup()` were first added: https://github.com/django/django/commit/18c3ea5546566e8fe1471ea87942b2864040452d 

This is related to (but separate from) #32609.
"	Cleanup/optimization	closed	Testing framework	dev	Normal	fixed	runtests,bisect_tests,paired_tests		Ready for checkin	1	0	0	0	0	0
