def failfast(method): def inner(self, *args, **kw): if getattr(self, 'failfast', False): self.stop() return method(self, *args, **kw) inner = wraps(method)(inner) return inner
def expectedFailure(func): def wrapper(*args, **kwargs): try: func(*args, **kwargs) except Exception: raise _ExpectedFailure(sys.exc_info()) raise _UnexpectedSuccess wrapper = wraps(func)(wrapper) return wrapper
def decorator(test_item): if not (isinstance(test_item, type) and issubclass(test_item, TestCase)): def skip_wrapper(*args, **kwargs): raise SkipTest(reason) skip_wrapper = wraps(test_item)(skip_wrapper) test_item = skip_wrapper test_item.__unittest_skip__ = True test_item.__unittest_skip_why__ = reason return test_item
def removeHandler(method=None): if method is not None: def inner(*args, **kwargs): initial = signal.getsignal(signal.SIGINT) removeHandler() try: return method(*args, **kwargs) finally: signal.signal(signal.SIGINT, initial) inner = wraps(method)(inner) return inner global _interrupt_handler if _interrupt_handler is not None: signal.signal(signal.SIGINT, _interrupt_handler.default_handler)