details: https://code.tryton.org/tryton/commit/0078ceac8760
branch: default
user: Nicolas Évrard <[email protected]>
date: Mon Feb 09 17:33:32 2026 +0100
description:
Use always fork method to test process local
We can not rely on the default process method of multiprocessing module.
Closes #14579
diffstat:
trytond/trytond/tests/test_tools.py | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diffs (38 lines):
diff -r 816ec9e65fe2 -r 0078ceac8760 trytond/trytond/tests/test_tools.py
--- a/trytond/trytond/tests/test_tools.py Thu Feb 05 18:17:06 2026 +0100
+++ b/trytond/trytond/tests/test_tools.py Mon Feb 09 17:33:32 2026 +0100
@@ -5,12 +5,13 @@
import datetime as dt
import doctest
import email.message
+import os
import sys
import unittest
from copy import deepcopy
from decimal import Decimal
from io import BytesIO
-from multiprocessing import Process
+from multiprocessing import Process, set_start_method
from multiprocessing.managers import SharedMemoryManager
from unittest.mock import patch
from uuid import uuid4
@@ -1531,8 +1532,19 @@
self.assertEqual(email_.format_address(address, name), result)
[email protected](hasattr(os, 'fork'), "missing fork")
class ProcessLocalTestCase(TestCase):
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ set_start_method('fork', force=True)
+
+ @classmethod
+ def tearDownClass(cls):
+ super().tearDownClass()
+ set_start_method(None, force=True)
+
def test_without_fork(self):
mydata = local()
mydata.number = 42