diff options
author | Adrien Di Mascio <Adrien.DiMascio@logilab.fr> | 2009-01-15 14:38:47 +0100 |
---|---|---|
committer | Adrien Di Mascio <Adrien.DiMascio@logilab.fr> | 2009-01-15 14:38:47 +0100 |
commit | c03716922dba37c700e81b92a22ef9256440f8bd (patch) | |
tree | 3cce8bd16167ac44895b7e3e39add0b23c7d2c57 | |
parent | 187e66460d8e779ae487faace7b76ae2f85e2a68 (diff) | |
download | logilab-common-c03716922dba37c700e81b92a22ef9256440f8bd.tar.gz |
[testlib] skip test clases whose names start with '_'
-rw-r--r-- | test/unittest_testlib.py | 12 | ||||
-rw-r--r-- | testlib.py | 21 |
2 files changed, 21 insertions, 12 deletions
diff --git a/test/unittest_testlib.py b/test/unittest_testlib.py index e7fcc2c..f7034ed 100644 --- a/test/unittest_testlib.py +++ b/test/unittest_testlib.py @@ -513,7 +513,7 @@ class TestLoaderTC(TestCase): for pattern, expected_count in data: yield self.assertRunCount, pattern, MyMod, expected_count - def tests_nonregr_class_skipped_option(self): + def test_nonregr_class_skipped_option(self): class MyMod: class MyTestCase(TestCase): def test_foo(self): pass @@ -525,7 +525,15 @@ class TestLoaderTC(TestCase): self.loader.skipped_patterns = self.runner.skipped_patterns = ['FooTC'] self.assertRunCount('foo', MyMod, 1) self.assertRunCount(None, MyMod, 2) - + + def test__classes_are_ignored(self): + class MyMod: + class _Base(TestCase): + def test_1(self): pass + class MyTestCase(_Base): + def test_2(self): pass + self.assertRunCount(None, MyMod, 2) + def bootstrap_print(msg, output=sys.stdout): """sys.stdout will be evaluated at function parsing time""" @@ -650,7 +650,7 @@ class NonStrictTestLoader(unittest.TestLoader): if (issubclass(type(obj), (types.ClassType, type)) and issubclass(obj, unittest.TestCase)): classname = obj.__name__ - if self._this_is_skipped(classname): + if classname[0] == '_' or self._this_is_skipped(classname): continue methodnames = [] # obj is a TestCase class @@ -715,7 +715,8 @@ class NonStrictTestLoader(unittest.TestLoader): """Return a sorted sequence of method names found within testCaseClass """ is_skipped = self._this_is_skipped - if is_skipped(testCaseClass.__name__): + classname = testCaseClass.__name__ + if classname[0] == '_' or is_skipped(classname): return [] testnames = super(NonStrictTestLoader, self).getTestCaseNames( testCaseClass) @@ -825,14 +826,14 @@ Examples: sys.exit(1) self.testRunner = SkipAwareTextTestRunner(verbosity=self.verbosity, stream=self.outstream, - exitfirst=self.exitfirst, - capture=self.capture, - printonly=self.printonly, - pdbmode=self.pdbmode, - cvg=self.cvg, - test_pattern=self.test_pattern, - skipped_patterns=self.skipped_patterns, - options=self.options) + exitfirst=self.exitfirst, + capture=self.capture, + printonly=self.printonly, + pdbmode=self.pdbmode, + cvg=self.cvg, + test_pattern=self.test_pattern, + skipped_patterns=self.skipped_patterns, + options=self.options) def removeSucceededTests(obj, succTests): """ Recurcive function that removes succTests from |