Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Added a custom doctest OutputChecker that ignores differences between…

… ints and longs in values returned from the database; refs #238

git-svn-id: http://code.djangoproject.com/svn/django/trunk@465 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 3a1ae2164b79506b58cacec15a1afa9b28f0349a 1 parent 254f318
@jacobian jacobian authored
Showing with 11 additions and 0 deletions.
  1. +11 −0 tests/runtests.py
View
11 tests/runtests.py
@@ -27,6 +27,7 @@ class DjangoDoctestRunner(doctest.DocTestRunner):
def __init__(self, verbosity_level, *args, **kwargs):
self.verbosity_level = verbosity_level
doctest.DocTestRunner.__init__(self, *args, **kwargs)
+ self._checker = DjangoDoctestOutputChecker()
def report_start(self, out, test, example):
if self.verbosity_level > 1:
@@ -40,6 +41,16 @@ def report_unexpected_exception(self, out, test, example, exc_info):
tb = ''.join(traceback.format_exception(*exc_info)[1:])
log_error(test.name, "API test raised an exception",
"Code: %r\nLine: %s\nException: %s" % (example.source.strip(), example.lineno, tb))
+
+class DjangoDoctestOutputChecker(doctest.OutputChecker):
+ def check_output(self, want, got, optionflags):
+ ok = doctest.OutputChecker.check_output(self, want, got, optionflags)
+ if not ok and (want.strip().endswith("L") or got.strip().endswith("L")):
+ try:
+ return long(want.strip()) == long(got.strip())
+ except ValueError:
+ return False
+ return ok
class TestRunner:
def __init__(self, verbosity_level=0):
Please sign in to comment.
Something went wrong with that request. Please try again.