summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2025-07-28 23:21:17 +0200
committernessita <124304+nessita@users.noreply.github.com>2025-07-29 14:11:22 -0300
commitd55979334dcefdb11626220000bec97ade09df07 (patch)
tree7b97116fe080afb6f26b4f2381303868f7f02f5e /django/db/backends/sqlite3
parentd4dd3e503c88db92f254769a64b2fcd4c572c7dc (diff)
Fixed #36531 -- Added forkserver support to parallel test runner.
Diffstat (limited to 'django/db/backends/sqlite3')
-rw-r--r--django/db/backends/sqlite3/creation.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/django/db/backends/sqlite3/creation.py b/django/db/backends/sqlite3/creation.py
index 802e8b8357..8a07e0c417 100644
--- a/django/db/backends/sqlite3/creation.py
+++ b/django/db/backends/sqlite3/creation.py
@@ -62,7 +62,7 @@ class DatabaseCreation(BaseDatabaseCreation):
start_method = multiprocessing.get_start_method()
if start_method == "fork":
return orig_settings_dict
- if start_method == "spawn":
+ if start_method in {"forkserver", "spawn"}:
return {
**orig_settings_dict,
"NAME": f"{self.connection.alias}_{suffix}.sqlite3",
@@ -99,9 +99,9 @@ class DatabaseCreation(BaseDatabaseCreation):
self.log("Got an error cloning the test database: %s" % e)
sys.exit(2)
# Forking automatically makes a copy of an in-memory database.
- # Spawn requires migrating to disk which will be re-opened in
- # setup_worker_connection.
- elif multiprocessing.get_start_method() == "spawn":
+ # Forkserver and spawn require migrating to disk which will be
+ # re-opened in setup_worker_connection.
+ elif multiprocessing.get_start_method() in {"forkserver", "spawn"}:
ondisk_db = sqlite3.connect(target_database_name, uri=True)
self.connection.connection.backup(ondisk_db)
ondisk_db.close()
@@ -137,7 +137,7 @@ class DatabaseCreation(BaseDatabaseCreation):
# Update settings_dict in place.
self.connection.settings_dict.update(settings_dict)
self.connection.close()
- elif start_method == "spawn":
+ elif start_method in {"forkserver", "spawn"}:
alias = self.connection.alias
connection_str = (
f"file:memorydb_{alias}_{_worker_id}?mode=memory&cache=shared"