From 81b39d0b35d78daabf479ccd492ae8323039b7cb Mon Sep 17 00:00:00 2001
From: Max Romanov <max.romanov@nginx.com>
Date: Tue, 4 Feb 2020 11:39:34 +0300
Subject: Tests: fixing Python 3.8.1 errors on Mac.

- "Can't pickle local object ..."
- "if __name__ == '__main__':" pattern required for multiprocessing
---
 test/unit/main.py | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

(limited to 'test/unit/main.py')

diff --git a/test/unit/main.py b/test/unit/main.py
index ea6afd7f..37d01d3b 100644
--- a/test/unit/main.py
+++ b/test/unit/main.py
@@ -209,9 +209,7 @@ class TestUnit(unittest.TestCase):
 
         print()
 
-        def _run_unit():
-            subprocess.call(
-                [
+        self._p = Process(target=subprocess.call, args=[ [
                     self.unitd,
                     '--no-daemon',
                     '--modules',  self.pardir + '/build',
@@ -219,10 +217,7 @@ class TestUnit(unittest.TestCase):
                     '--pid',      self.testdir + '/unit.pid',
                     '--log',      self.testdir + '/unit.log',
                     '--control',  'unix:' + self.testdir + '/control.unit.sock',
-                ]
-            )
-
-        self._p = Process(target=_run_unit)
+                ] ])
         self._p.start()
 
         if not self.waitforfiles(
@@ -299,11 +294,11 @@ class TestUnit(unittest.TestCase):
         if found:
             print('skipped.')
 
-    def run_process(self, target):
+    def run_process(self, target, *args):
         if not hasattr(self, '_processes'):
             self._processes = []
 
-        process = Process(target=target)
+        process = Process(target=target, args=args)
         process.start()
 
         self._processes.append(process)
-- 
cgit