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 10:14:55 +0200 |
| commit | a5905b164dbf52e59fa646af9c3d523c0804d86a (patch) | |
| tree | 985f5ce1e7b6cf756a8637c7da6289da80e9b119 /django | |
| parent | 4f2ae0644de34791b84b7beb11a966ce4bc48fb6 (diff) | |
Fixed #34825 -- Avoided setting unused connections when initializing parallel workers.
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, |
