def METHOD_NAME(start_method, msg_values):
    with setup_queue_and_worker(
            start_method, len(msg_values), copy_callback,
            {'num_samples': None}) as (task_queue, res_queue):
        msg_instances = [ShmMessageDesc(*values) for values in msg_values]
        _put_msgs(task_queue, msg_instances, False)
        for values in msg_values:
            [recv_msg] = res_queue.get()
            recv_msg_values = recv_msg.get_values()
            assert len(values) == len(recv_msg_values)
            assert all(msg == recv_msg for msg, recv_msg in zip(values, recv_msg_values))