From 10261529d5a9c6d78b57eed0255dea88dedeaa10 Mon Sep 17 00:00:00 2001 From: Stefan Bienert <stefan.bienert@unibas.ch> Date: Thu, 16 Oct 2014 11:41:03 +0200 Subject: [PATCH] Sobering up doctests --- core/doc/helper.rst | 5 +++++ doc/conf.py.in | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/core/doc/helper.rst b/core/doc/helper.rst index c790f0ab..3108fb5c 100644 --- a/core/doc/helper.rst +++ b/core/doc/helper.rst @@ -26,6 +26,11 @@ Messages else: raise +.. testoutput:: helper + :hide: + + Something failed! + .. doctest:: helper from promod3.core import helper diff --git a/doc/conf.py.in b/doc/conf.py.in index 1cc6b9e8..72f2d4b8 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -283,6 +283,23 @@ doctest_global_setup = """ import sys sys.path.insert(0, '@LIB_STAGE_PATH@/python@PYTHON_VERSION@/site-packages') sys.path.insert(1, '@OST_ROOT@/@LIB_DIR@/python@PYTHON_VERSION@/site-packages') + +import ost + +# We define a LogSink here, pushing everything to stdout so doctest recognises +# it. +class DocTestLogger(ost.LogSink): + def __init__(self): + ost.LogSink.__init__(self) + + def LogMessage(self, message, severity): + levels = ['ERROR', 'WARNING', 'SCRIPT', 'INFO', 'VERBOSE', 'DEBUG', + 'TRACE'] + level = levels[severity] + print '%s' % (message), + +doctest_logger = DocTestLogger() +ost.PushLogSink(doctest_logger) """ # LocalWords: cmake -- GitLab