diff options
| author | David Sanders <shang.xiao.sanders@gmail.com> | 2023-09-22 19:21:37 +1000 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-09-25 11:10:17 +0200 |
| commit | bc6d71d4de8a3f6a430ca084419e079f2e3ecf31 (patch) | |
| tree | b6e1c79d38e166cbcaf9c119c0bd721d0ccabd73 /django | |
| parent | 491092086929f90c048b606c58859f76238bcda2 (diff) | |
[5.0.x] Fixed #34825 -- Avoided setting unused connections when initializing parallel workers.
Backport of a5905b164dbf52e59fa646af9c3d523c0804d86a from main
Diffstat (limited to 'django')
| -rw-r--r-- | django/test/runner.py | 7 |
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, |
