blob: 78a9525e02989cd3e6b411c503ffff00de6cb206 [file] [log] [blame]
import sys
import traceback
import wvtest
class _Meta(type):
def __init__(cls, name, bases, attrs):
type.__init__(cls, name, bases, attrs)
print 'registering class %r' % name
for t in dir(cls):
if t.startswith('test'):
# TODO(apenwarr): inside a class, sort by source code line number
print 'registering func %r' % t
def DefineGo(t):
def Go():
o = cls(t)
o.setUp()
try:
getattr(o, t)()
except Exception, e:
print
print traceback.format_exc()
tb = sys.exc_info()[2]
wvtest._result(repr(e), traceback.extract_tb(tb)[-1],
'EXCEPTION')
finally:
o.tearDown()
return Go
wvtest.wvtest(DefineGo(t), getattr(cls, t))
class TestCase():
__metaclass__ = _Meta
def __init__(self, testname):
pass
def setUp(self):
pass
def tearDown(self):
pass
def assertTrue(self, a, unused_msg=''):
return wvtest.WVPASS(a, xdepth=1)
def assertFalse(self, a, unused_msg=''):
return wvtest.WVFAIL(a, xdepth=1)
def assertIs(self, a, b):
return wvtest.WVPASSIS(a, b, xdepth=1)
def assertIsNot(self, a, b):
return wvtest.WVPASSISNOT(a, b, xdepth=1)
def assertEqual(self, a, b):
return wvtest.WVPASSEQ(a, b, xdepth=1)
def assertNotEqual(self, a, b):
return wvtest.WVPASSNE(a, b, xdepth=1)
def assertGreaterEqual(self, a, b):
return wvtest.WVPASSGE(a, b, xdepth=1)
def assertGreaterThan(self, a, b):
return wvtest.WVPASSGT(a, b, xdepth=1)
def assertLessEqual(self, a, b):
return wvtest.WVPASSLE(a, b, xdepth=1)
def assertLessThan(self, a, b):
return wvtest.WVPASSLT(a, b, xdepth=1)
def assertAlmostEqual(self, a, b, places=7, delta=None):
return wvtest.WVPASSNEAR(a, b, places=places, delta=delta, xdepth=1)
def assertNotAlmostEqual(self, a, b, places=7, delta=None):
return wvtest.WVPASSFAR(a, b, places=places, delta=delta, xdepth=1)
def assertRaises(self, etype, func=None, *args, **kwargs):
return wvtest._WVEXCEPT(etype, 0, func, *args, **kwargs)
assertEquals = assertEqual
assertNowEquals = assertNotEqual
assertGreater = assertGreaterThan
assertLess = assertLessThan
def main():
wvtest.wvtest_main()