'Make sure something does not happen (at least for a while).'

def ensure_not_for_a_while(self, fun, catch, desc=u'thing', max_retries=20, interval_start=0.1, interval_step=0.02, interval_max=1.0, emit_warning=False, **options):

    try:
        return self.wait_for(fun, catch, desc=desc, max_retries=max_retries, interval_start=interval_start, interval_step=interval_step, interval_max=interval_max, emit_warning=emit_warning)
    except catch:
        pass
    else:
        raise AssertionError(u'Should    not    have    happened:    {0}'.format(desc))
