def test_multiprocess_func_does_something(): q = Queue() multiprocess(lambda q, x: q.push(x), [(q, 1), (q, 2)]) arr = [] while not q.empty(): arr.append(q.pop()) assert (set([1, 2]) == set(arr))
def test_lambda_pickling(): f = lambda q: q.push(1) q = Queue() m = Multiprocess() m.add_tasks(f, [(q, )]) m.do_tasks() m.close() assert (q.qsize() == 1) assert (q.pop() == 1) assert (q.qsize() == 0)
def test_close_does_calls_do_task(): def f(q): q.push(1) q = Queue() m = Multiprocess() m.add_tasks(f, [(q, )]) m.close() assert (q.qsize() == 1) assert (q.pop() == 1) assert (q.qsize() == 0)
def test_queue(): q = Queue() m = Multiprocess() def f(q): q.push(1) m.add_tasks(f, [(q, )]) m.do_tasks() m.close() assert (q.qsize() == 1) assert (q.pop() == 1) assert (q.qsize() == 0)
def test_multiple_tasks(): def f(q, num): q.push(num) q = Queue() m = Multiprocess() arr = range(100) m.add_tasks(f, [( q, num, ) for num in arr]) m.do_tasks() m.close() assert (q.qsize() == len(arr)) l = [q.pop() for v in range(q.qsize())] assert (set(l) == set(arr))