示例#1
0
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)
示例#2
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)
示例#3
0
def test_do_tasks_twice():
  def f(q):
    q.push(1)

  q = Queue()
  m = Multiprocess()
  m.add_tasks(f, [(q, )])
  m.do_tasks()
  assert (q.qsize() == 1)
  m.add_tasks(f, [(q, )])
  m.do_tasks()
  assert (q.qsize() == 2)
示例#4
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)
示例#5
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))