sync to Atlas repo

This commit is contained in:
Luciano Ramalho
2014-12-06 15:38:22 -02:00
parent 2f495627fb
commit b38e6fc5f2
7 changed files with 72 additions and 43 deletions

View File

@@ -1,33 +1,36 @@
import sys
import importlib
# BEGIN TOMBOLA_RUNNER
import doctest
from tombola import Tombola
# modules to test
import bingo, lotto, tombolist, drum # <1>
TEST_FILE = 'tombola_tests.rst'
MODULE_NAMES = 'bingo lotto tombolist drum'.split()
TEST_MSG = '{0:16} {1.attempted:2} tests, {1.failed:2} failed - {2}'
def main(argv):
verbose = '-v' in argv
real_subclasses = Tombola.__subclasses__() # <2>
virtual_subclasses = list(Tombola._abc_registry) # <3>
for cls in real_subclasses + virtual_subclasses: # <4>
test(cls, verbose)
def test(cls, verbose=False):
res = doctest.testfile(TEST_FILE,
globs={'TombolaUnderTest': cls},
verbose=verbose,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)
res = doctest.testfile(
TEST_FILE,
globs={'ConcreteTombola': cls}, # <5>
verbose=verbose,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)
tag = 'FAIL' if res.failed else 'OK'
print(TEST_MSG.format(cls.__name__, res, tag))
print(TEST_MSG.format(cls.__name__, res, tag)) # <6>
if __name__ == '__main__':
for name in MODULE_NAMES: # import modules to test, by name
importlib.import_module(name)
verbose = '-v' in sys.argv
real_subclasses = Tombola.__subclasses__()
virtual_subclasses = list(Tombola._abc_registry)
for cls in real_subclasses + virtual_subclasses:
test(cls, verbose)
import sys
main(sys.argv)
# END TOMBOLA_RUNNER