summaryrefslogtreecommitdiff
path: root/django/test
diff options
context:
space:
mode:
authorDavid Sanders <shang.xiao.sanders@gmail.com>2023-09-22 19:21:37 +1000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-09-25 11:10:17 +0200
commitbc6d71d4de8a3f6a430ca084419e079f2e3ecf31 (patch)
treeb6e1c79d38e166cbcaf9c119c0bd721d0ccabd73 /django/test
parent491092086929f90c048b606c58859f76238bcda2 (diff)
[5.0.x] Fixed #34825 -- Avoided setting unused connections when initializing parallel workers.
Backport of a5905b164dbf52e59fa646af9c3d523c0804d86a from main
Diffstat (limited to 'django/test')
-rw-r--r--django/test/runner.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/django/test/runner.py b/django/test/runner.py
index 3a30674b61..eb3cea1959 100644
--- a/django/test/runner.py
+++ b/django/test/runner.py
@@ -406,6 +406,7 @@ def _init_worker(
process_setup=None,
process_setup_args=None,
debug_mode=None,
+ used_aliases=None,
):
"""
Switch to databases dedicated to this worker.
@@ -430,7 +431,8 @@ def _init_worker(
django.setup()
setup_test_environment(debug=debug_mode)
- for alias in connections:
+ db_aliases = used_aliases or connections
+ for alias in db_aliases:
connection = connections[alias]
if start_method == "spawn":
# Restore initial settings in spawned processes.
@@ -491,6 +493,7 @@ class ParallelTestSuite(unittest.TestSuite):
self.buffer = buffer
self.initial_settings = None
self.serialized_contents = None
+ self.used_aliases = None
super().__init__()
def run(self, result):
@@ -520,6 +523,7 @@ class ParallelTestSuite(unittest.TestSuite):
self.process_setup.__func__,
self.process_setup_args,
self.debug_mode,
+ self.used_aliases,
],
)
args = [
@@ -1052,6 +1056,7 @@ class DiscoverRunner:
suite.serialized_aliases = set(
alias for alias, serialize in databases.items() if serialize
)
+ suite.used_aliases = set(databases)
with self.time_keeper.timed("Total database setup"):
old_config = self.setup_databases(
aliases=databases,