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