@wraps(func)
def wrapper(*args, **kwargs):
    'pre-callback, target function call and post-callback'
    return wait_until_passes(timeout, retry_interval, func, exceptions, *args, **kwargs)
pre-callback, target function call and post-callback
@wraps(func)
def wrapper(*args, **kwargs):
    
    return wait_until_passes(timeout, retry_interval, func, exceptions, *args, **kwargs)