From a4b540f61f7b400c84c77ab393018102701afc56 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Sun, 15 Aug 2021 02:34:13 +0900 Subject: [PATCH] Close #9524: test: SphinxTestApp can take ``builddir`` as an argument --- CHANGES | 1 + sphinx/testing/util.py | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 1168fa8f60c..60e7f5ffdb8 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,7 @@ Features added template variable ``sphinx_version_tuple`` * #9445: py domain: ``:py:property:`` directive supports ``:classmethod:`` option to describe the class property +* #9524: test: SphinxTestApp can take ``builddir`` as an argument Bugs fixed ---------- diff --git a/sphinx/testing/util.py b/sphinx/testing/util.py index bfbb1071c5f..941184fe712 100644 --- a/sphinx/testing/util.py +++ b/sphinx/testing/util.py @@ -102,14 +102,17 @@ class SphinxTestApp(application.Sphinx): _status: StringIO = None _warning: StringIO = None - def __init__(self, buildername: str = 'html', srcdir: path = None, freshenv: bool = False, - confoverrides: Dict = None, status: IO = None, warning: IO = None, - tags: List[str] = None, docutilsconf: str = None, parallel: int = 0) -> None: + def __init__(self, buildername: str = 'html', srcdir: path = None, builddir: path = None, + freshenv: bool = False, confoverrides: Dict = None, status: IO = None, + warning: IO = None, tags: List[str] = None, docutilsconf: str = None, + parallel: int = 0) -> None: if docutilsconf is not None: (srcdir / 'docutils.conf').write_text(docutilsconf) - builddir = srcdir / '_build' + if builddir is None: + builddir = srcdir / '_build' + confdir = srcdir outdir = builddir.joinpath(buildername) outdir.makedirs(exist_ok=True)