[issue29229] incompatible: unittest.mock.sentinel and multiprocessing.Pool.map()
Davin Potts
report at bugs.python.org
Tue Jan 10 14:41:17 EST 2017
Davin Potts added the comment:
This arises from the behavior of pickle (which is used by default in multiprocessing to serialize objects sent to / received from other processes in data exchanges), as seen with Python 3.6:
>>> import pickle
>>> x = pickle.dumps(mock.sentinel.foo)
>>> x
b'\x80\x03cunittest.mock\n_SentinelObject\nq\x00)\x81q\x01}q\x02X\x04\x00\x00\x00nameq\x03X\x03\x00\x00\x00fooq\x04sb.'
>>> pickle.loads(x)
sentinel.foo
>>> pickle.loads(x) == mock.sentinel.foo
False
----------
nosy: +davin
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29229>
_______________________________________
More information about the Python-bugs-list
mailing list