2021-04-02 22:10:36 +01:00
|
|
|
diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
|
2021-09-14 02:56:34 +01:00
|
|
|
index 8a5c1a19d2..21fd192642 100644
|
2021-04-02 22:10:36 +01:00
|
|
|
--- a/src/sage_docbuild/__init__.py
|
|
|
|
+++ b/src/sage_docbuild/__init__.py
|
2021-09-14 02:56:34 +01:00
|
|
|
@@ -89,27 +89,6 @@ def builder_helper(type):
|
2019-04-18 21:54:25 +01:00
|
|
|
"""
|
|
|
|
Returns a function which builds the documentation for
|
|
|
|
output type ``type``.
|
|
|
|
-
|
|
|
|
- TESTS:
|
|
|
|
-
|
|
|
|
- Check that :trac:`25161` has been resolved::
|
|
|
|
-
|
2021-04-02 22:10:36 +01:00
|
|
|
- sage: from sage_docbuild import DocBuilder, setup_parser
|
2021-09-14 02:56:34 +01:00
|
|
|
- sage: DocBuilder._options = setup_parser().parse_args([]) # builder_helper needs _options to be set
|
2019-04-18 21:54:25 +01:00
|
|
|
-
|
2021-04-02 22:10:36 +01:00
|
|
|
- sage: import sage_docbuild.sphinxbuild
|
2019-04-18 21:54:25 +01:00
|
|
|
- sage: def raiseBaseException():
|
|
|
|
- ....: raise BaseException("abort pool operation")
|
2021-04-02 22:10:36 +01:00
|
|
|
- sage: original_runsphinx, sage_docbuild.sphinxbuild.runsphinx = sage_docbuild.sphinxbuild.runsphinx, raiseBaseException
|
2019-04-18 21:54:25 +01:00
|
|
|
-
|
2021-04-02 22:10:36 +01:00
|
|
|
- sage: from sage_docbuild import builder_helper, build_ref_doc
|
|
|
|
- sage: from sage_docbuild import _build_many as build_many
|
2019-04-18 21:54:25 +01:00
|
|
|
- sage: helper = builder_helper("html")
|
|
|
|
- sage: try:
|
|
|
|
- ....: build_many(build_ref_doc, [("docname", "en", "html", {})])
|
|
|
|
- ....: except Exception as E:
|
|
|
|
- ....: "Non-exception during docbuild: abort pool operation" in str(E)
|
|
|
|
- True
|
|
|
|
"""
|
|
|
|
def f(self, *args, **kwds):
|
|
|
|
output_dir = self._output_dir(type)
|
2021-09-14 02:56:34 +01:00
|
|
|
@@ -131,10 +110,9 @@ def builder_helper(type):
|
2019-04-18 21:54:25 +01:00
|
|
|
logger.debug(build_command)
|
|
|
|
|
|
|
|
# Run Sphinx with Sage's special logger
|
|
|
|
- sys.argv = ["sphinx-build"] + build_command.split()
|
|
|
|
- from .sphinxbuild import runsphinx
|
2021-04-02 22:10:36 +01:00
|
|
|
+ args = "python3 -um sage_docbuild.sphinxbuild -N".split() + build_command.split()
|
2019-04-18 21:54:25 +01:00
|
|
|
try:
|
|
|
|
- runsphinx()
|
|
|
|
+ subprocess.check_call(args)
|
|
|
|
except Exception:
|
|
|
|
if ABORT_ON_ERROR:
|
|
|
|
raise
|
2021-04-02 22:10:36 +01:00
|
|
|
diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py
|
2021-09-14 02:56:34 +01:00
|
|
|
index d917c3e9d4..551cc8028a 100644
|
2021-04-02 22:10:36 +01:00
|
|
|
--- a/src/sage_docbuild/sphinxbuild.py
|
|
|
|
+++ b/src/sage_docbuild/sphinxbuild.py
|
2021-09-14 02:56:34 +01:00
|
|
|
@@ -327,3 +327,8 @@ def runsphinx():
|
2019-04-18 21:54:25 +01:00
|
|
|
sys.stderr = saved_stderr
|
|
|
|
sys.stdout.flush()
|
|
|
|
sys.stderr.flush()
|
|
|
|
+
|
|
|
|
+if __name__ == '__main__':
|
|
|
|
+ import sys
|
|
|
|
+ sys.argv[0] = "sphinx-build"
|
|
|
|
+ runsphinx()
|