def wait_until(predicate, success_description, timeout=10):
    start = time.time()
    while True:
        retval = predicate()
        if retval:
            return retval

        if time.time() - start > timeout:
            raise AssertionError("Didn't ever %s" % success_description)

        time.sleep(0.1)
Merge the passed dictionary into the current `_context`
dataset/ETHPy150Open mongodb/mongo-python-driver/test/utils.py/wait_until--crossover with--dataset/ETHPy150Open thisissoon/Flask-Velox/flask_velox/mixins/context.py/ContextMixin.merge_context