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

Reply via email to