Skip to content

Commit d7aeef3

Browse files
committed
python3: fix multiprocessing module bug with serialization
Part of #265 Part of #20
1 parent 6b2aa59 commit d7aeef3

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

dispatcher.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import yaml
88
import six
99

10+
from sys import platform
11+
1012
import multiprocessing
1113
try:
1214
# Python 3.7+
@@ -87,6 +89,13 @@ class Dispatcher:
8789
```
8890
"""
8991
def __init__(self, task_groups, max_workers_cnt, randomize):
92+
if platform == "darwin":
93+
try:
94+
# Python 3
95+
multiprocessing.set_start_method('fork')
96+
except AttributeError:
97+
# Python 2
98+
pass
9099
self.pids = []
91100
self.processes = []
92101
self.result_queues = []

lib/test_suite.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@ def __init__(self, suite_path, args):
110110
self.ini[i] = dict.fromkeys(self.ini[i].split()) \
111111
if i in self.ini else dict()
112112
for i in ["lua_libs"]:
113-
self.ini[i] = map(
114-
lambda x: os.path.join(suite_path, x),
115-
dict.fromkeys(self.ini[i].split())
116-
if i in self.ini else dict())
113+
lua_libs = self.ini.get(i, "")
114+
self.ini[i] = []
115+
for p in lua_libs.split():
116+
self.ini[i].append(os.path.join(suite_path, p))
117117
if config.has_option("default", "fragile"):
118118
fragiles = config.get("default", "fragile")
119119
try:

0 commit comments

Comments
 (0)