File tests.py of Package python-stopit
# -*- coding: utf-8 -*-
import doctest
import os
import unittest
from stopit import ThreadingTimeout, threading_timeoutable, SignalTimeout, signal_timeoutable
# We run twice the same doctest with two distinct sets of globs
# This one is for testing signals based timeout control
signaling_globs = {
'Timeout': SignalTimeout,
'timeoutable': signal_timeoutable
}
# And this one is for testing threading based timeout control
threading_globs = {
'Timeout': ThreadingTimeout,
'timeoutable': threading_timeoutable
}
def suite(): # Func for setuptools.setup(test_suite=xxx)
test_suite = unittest.TestSuite()
test_suite.addTest(doctest.DocFileSuite('README.rst', globs=signaling_globs))
if os.name == 'posix': # Other OS have no support for signal.SIGALRM
test_suite.addTest(doctest.DocFileSuite('README.rst', globs=threading_globs))
return test_suite
if __name__ == '__main__':
unittest.TextTestRunner(verbosity=2).run(suite())