mirror of
https://github.com/samba-team/samba.git
synced 2025-07-27 07:42:04 +03:00
68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
# Copyright (c) 2008 Jonathan M. Lange. See LICENSE for details.
|
|
|
|
"""Helpers for tests."""
|
|
|
|
import sys
|
|
|
|
__metaclass__ = type
|
|
__all__ = [
|
|
'LoggingResult',
|
|
]
|
|
|
|
from testtools import TestResult
|
|
|
|
|
|
try:
|
|
raise Exception
|
|
except Exception:
|
|
an_exc_info = sys.exc_info()
|
|
|
|
# Deprecated: This classes attributes are somewhat non deterministic which
|
|
# leads to hard to predict tests (because Python upstream are changing things.
|
|
class LoggingResult(TestResult):
|
|
"""TestResult that logs its event to a list."""
|
|
|
|
def __init__(self, log):
|
|
self._events = log
|
|
super(LoggingResult, self).__init__()
|
|
|
|
def startTest(self, test):
|
|
self._events.append(('startTest', test))
|
|
super(LoggingResult, self).startTest(test)
|
|
|
|
def stopTest(self, test):
|
|
self._events.append(('stopTest', test))
|
|
super(LoggingResult, self).stopTest(test)
|
|
|
|
def addFailure(self, test, error):
|
|
self._events.append(('addFailure', test, error))
|
|
super(LoggingResult, self).addFailure(test, error)
|
|
|
|
def addError(self, test, error):
|
|
self._events.append(('addError', test, error))
|
|
super(LoggingResult, self).addError(test, error)
|
|
|
|
def addSkip(self, test, reason):
|
|
self._events.append(('addSkip', test, reason))
|
|
super(LoggingResult, self).addSkip(test, reason)
|
|
|
|
def addSuccess(self, test):
|
|
self._events.append(('addSuccess', test))
|
|
super(LoggingResult, self).addSuccess(test)
|
|
|
|
def startTestRun(self):
|
|
self._events.append('startTestRun')
|
|
super(LoggingResult, self).startTestRun()
|
|
|
|
def stopTestRun(self):
|
|
self._events.append('stopTestRun')
|
|
super(LoggingResult, self).stopTestRun()
|
|
|
|
def done(self):
|
|
self._events.append('done')
|
|
super(LoggingResult, self).done()
|
|
|
|
# Note, the following three classes are different to LoggingResult by
|
|
# being fully defined exact matches rather than supersets.
|
|
from testtools.testresult.doubles import *
|