jaydebeapi/test/doctests.py

38 lines
983 B
Python

#!/usr/bin/env python
"""Run doctests."""
import doctest
import re
import sys
try:
import unittest2 as unittest
except ImportError:
import unittest
class Py23DocChecker(doctest.OutputChecker):
"""Doctest checker to avoid Python 2/3 unicode comparison
issues. Code taken from Dirkjan Ochtman"""
def check_output(self, want, got, optionflags):
if sys.version_info[0] > 2:
want = re.sub("u'(.*?)'", "'\\1'", want)
want = re.sub('u"(.*?)"', '"\\1"', want)
return doctest.OutputChecker.check_output(self, want, got, optionflags)
def suite():
suite = unittest.TestSuite()
suite.addTest(doctest.DocFileSuite('../README.rst',
checker=Py23DocChecker()))
return suite;
def main():
runner = unittest.TextTestRunner()
result = runner.run(suite())
if result.wasSuccessful():
return 0
else:
return 1
if __name__ == '__main__':
sys.exit(main())