From dbfca9c48154047f54f8ce498981ae06b976d7cc Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 18 Aug 2016 01:48:17 +0200 Subject: doc: Add unit test to check for errors/warnings in doc --- testsuite/Testsrc/test_doc.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 testsuite/Testsrc/test_doc.py (limited to 'testsuite') diff --git a/testsuite/Testsrc/test_doc.py b/testsuite/Testsrc/test_doc.py new file mode 100644 index 000000000..93c8d1bb4 --- /dev/null +++ b/testsuite/Testsrc/test_doc.py @@ -0,0 +1,39 @@ +import os +import sys + +# add all parent testsuite directories to sys.path to allow (most) +# relative imports in python 2.4 +_path = os.path.dirname(__file__) +while _path != '/': + if os.path.basename(_path).lower().startswith("test"): + sys.path.append(_path) + if os.path.basename(_path) == "testsuite": + break + _path = os.path.dirname(_path) +from common import * + + +try: + from sphinx.application import Sphinx + HAS_SPHINX = True +except ImportError: + HAS_SPHINX = False + + +TEST_SPHINX = bool(os.environ.get('TEST_SPHINX', 'yes') != 'no') + + +class DocTest(Bcfg2TestCase): + top = os.path.join(os.path.dirname(__file__), '..', '..') + source_dir = os.path.join(top, 'doc/') + doctree_dir = os.path.join(top, 'build', 'doctree') + + @skipUnless(HAS_SPHINX, 'Sphinx not found') + @skipUnless(TEST_SPHINX, 'Documentation testing disabled') + def test_html_documentation(self): + output_dir = os.path.join(self.top, 'build', 'html') + + app = Sphinx(self.source_dir, self.source_dir, output_dir, + self.doctree_dir, buildername='html', + warningiserror=True) + app.build(force_all=True) -- cgit v1.2.3-1-g7c22