Skip to content

Commit 8cfb910

Browse files
committed
python3: fix multiprocessing module bug with serialization
Part of #265
1 parent 38890e0 commit 8cfb910

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+
@@ -82,6 +84,13 @@ class Dispatcher:
8284
```
8385
"""
8486
def __init__(self, task_groups, max_workers_cnt, randomize):
87+
if platform == "darwin":
88+
try:
89+
# Python 3
90+
multiprocessing.set_start_method('fork')
91+
except AttributeError:
92+
# Python 2
93+
pass
8594
self.pids = []
8695
self.processes = []
8796
self.result_queues = []

lib/test_suite.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ def __init__(self, suite_path, args):
120120
self.ini[i] = dict.fromkeys(self.ini[i].split()) \
121121
if i in self.ini else dict()
122122
for i in ["lua_libs"]:
123-
self.ini[i] = map(
124-
lambda x: os.path.join(suite_path, x),
125-
dict.fromkeys(self.ini[i].split())
126-
if i in self.ini else dict())
123+
lua_libs = self.ini.get(i, "")
124+
self.ini[i] = []
125+
for p in lua_libs.split():
126+
self.ini[i].append(os.path.join(suite_path, p))
127127
if config.has_option("default", "fragile"):
128128
fragiles = config.get("default", "fragile")
129129
try:

0 commit comments

Comments
 (0)