commit fd4aa319c92651f37054e86a0a41db0699eb9010 Author: Isis Lovecruft isis@torproject.org Date: Fri Dec 20 03:28:20 2013 +0000
Add test_Tests.TrialAdaptedDoctests class.
This class uses the dynamic doctest discovery mechanism, `test_Tests.generateTrialAdaptedDoctestSuite`, to run all discovered doctests. The generated methodnames in this `TestCase` correspond to location in the source code where the doctest was discovered.
It also (somewhat) magically manages to print exception/failure tracebacks for failed doctests in a manner which is compatible with twisted.trial. The printed tracebacks will tell you:
1. Where the doctest is, and which line caused the exception.
2. What the expected result was supposed to be (according to the doctest), compared with what it actually was when the doctest code was run. --- lib/bridgedb/test/test_Tests.py | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/lib/bridgedb/test/test_Tests.py b/lib/bridgedb/test/test_Tests.py index 4afa0fd..514e90c 100644 --- a/lib/bridgedb/test/test_Tests.py +++ b/lib/bridgedb/test/test_Tests.py @@ -235,3 +235,15 @@ class MonkeypatchedOldUnittests(unittest.TestCase):
def __init__(self, methodName='runWithPatches'): super(MonkeypatchedOldUnittests, self).__init__(methodName=methodName) + + +class TrialAdaptedDoctests(unittest.TestCase): + """Discovers and runs all doctests within the ``bridgedb`` package. + + Finds all doctests from the directory that BridgeDB was installed in, in + all Python modules and packages, and runs them with :mod:`twisted.trial`. + """ + __metaclass__ = DynamicTestCaseMeta + testSuites = generateTrialAdaptedDoctestsSuite() + testResult = unittest.PyUnitResultAdapter(pyunit.TestResult()) + methodPrefix = 'test_doctestsIn_'
tor-commits@lists.torproject.org