def test_primary_thread_integration(execmodel): if execmodel.backend != "thread": with pytest.raises(ValueError): WorkerPool(execmodel=execmodel, hasprimary=True) return pool = WorkerPool(execmodel=execmodel, hasprimary=True) queue = execmodel.queue.Queue() def do_integrate(): queue.put(execmodel.get_ident()) pool.integrate_as_primary_thread() execmodel.start(do_integrate) def func(): queue.put(execmodel.get_ident()) pool.spawn(func) ident1 = queue.get() ident2 = queue.get() assert ident1 == ident2 pool.terminate()