示例#1
0
    def getStateFor(self, jellier):
        tm = self.original
        m = tm.method
        d = adict(name = qual(m).split('.')[-1],
                  klass = qual(m.im_class),
                  fullName = qual(m),
                  setUp = qual(m.im_class.setUp),
                  tearDown = qual(m.im_class.tearDown))

        for eqattr in ['module', 'timeout', 'runs', 'startTime',
                       'endTime', 'skip', 'todo', 'hasTbs',
                       'status', 'failures', 'errors', 'results']:
            d[eqattr] = getattr(tm, eqattr, None)

            if eqattr in ['failures', 'errors', 'results']:
                d[eqattr] = [f.cleanFailure() for f in d.get(eqattr, [])]
                    
        return d
示例#2
0
SEPARATOR = '-' * 79
DOUBLE_SEPARATOR = '=' * 79

_basefmt = "caught exception in %s, your TestCase is broken\n\n"
SET_UP_CLASS_WARN = _basefmt % 'setUpClass'
SET_UP_WARN = _basefmt % 'setUp'
TEAR_DOWN_WARN = _basefmt % 'tearDown'
TEAR_DOWN_CLASS_WARN = _basefmt % 'tearDownClass'
DIRTY_REACTOR_POLICY_WARN = "This failure will cause all methods in your class to be reported as ERRORs in the summary"
UNCLEAN_REACTOR_WARN = "REACTOR UNCLEAN! traceback(s) follow: "

PASSED, FAILED = "PASSED", "FAILED"

methNameWarnMsg = adict(setUpClass = SET_UP_CLASS_WARN,
                        setUp = SET_UP_WARN,
                        tearDown = TEAR_DOWN_WARN,
                        tearDownClass = TEAR_DOWN_CLASS_WARN)

# ----------------------------------------------------------------------------

def makeLoggingMethod(name, f):
    def loggingMethod(*a, **kw):
        print "%s.%s(*%r, **%r)" % (name, f.func_name, a, kw)
        return f(*a, **kw)
    return loggingMethod

class MethodCallLoggingType(type):
    def __new__(cls, name, bases, attrs):
        for (k, v) in attrs.items():
            if isinstance(v, types.FunctionType):
                attrs[k] = makeLoggingMethod(name, v)