# HG changeset patch # User Julien Jehannet # Date 1288966104 -3600 # Node ID 0b1f5c14646efb500d462cb7279d3759333f334a # Parent 070e3b23160df5267abd2eb4d2f50a5176d6b6d3 [shell, testlib] return doc test results in process_script and new assertDocTestFile method on CubicWebTC diff -r 070e3b23160d -r 0b1f5c14646e devtools/testlib.py --- a/devtools/testlib.py Fri Nov 05 16:38:17 2010 +0100 +++ b/devtools/testlib.py Fri Nov 05 15:08:24 2010 +0100 @@ -661,6 +661,13 @@ # content validation ####################################################### + def assertDocTestFile(self, testfile): + # doctest returns tuple (failure_count, test_count) + result = self.shell.process_script(testfile) + if result[0] and result[1]: + raise self.failureException("doctest file '%s' failed" + % testfile) + # validators are used to validate (XML, DTD, whatever) view's content # validators availables are : # DTDValidator : validates XML + declared DTD diff -r 070e3b23160d -r 0b1f5c14646e migration.py --- a/migration.py Fri Nov 05 16:38:17 2010 +0100 +++ b/migration.py Fri Nov 05 15:08:24 2010 +0100 @@ -358,8 +358,10 @@ self.commit() else: # script_mode == 'doctest' import doctest - doctest.testfile(migrscript, module_relative=False, - optionflags=doctest.ELLIPSIS, globs=scriptlocals) + return doctest.testfile(migrscript, module_relative=False, + optionflags=doctest.ELLIPSIS, + encoding='utf-8', + globs=scriptlocals) self._context_stack.pop() def cmd_option_renamed(self, oldname, newname):