unittest: Add support for SkipTest, skip() and skipUnless().

pull/118/head
Paul Sokolovsky 2014-05-13 02:56:29 +03:00
rodzic 5e1007cf8b
commit d75ad4867d
1 zmienionych plików z 24 dodań i 2 usunięć

Wyświetl plik

@ -1,3 +1,7 @@
class SkipTest(Exception):
pass
class TestCase:
def fail(self, msg=''):
@ -32,14 +36,32 @@ class TestCase:
raise
def skip(msg):
def _decor(fun):
# We just replace original fun with _inner
def _inner(self):
raise SkipTest(msg)
return _inner
return _decor
def skipUnless(cond, msg):
if cond:
return lambda x: x
return skip(msg)
# TODO: Uncompliant
def run_class(c):
o = c()
for name in dir(o):
if name.startswith("test"):
m = getattr(o, name)
try:
m()
print(name, "...ok")
except SkipTest as e:
print(name, "...skipped:", e.args[0])
def main(module="__main__"):