Merged revisions 65529 via svnmerge from

svn+ssh://pythondev@svn.python.org/doctools/branches/0.4.x

........
  r65529 | georg.brandl | 2008-08-04 22:19:30 +0000 (Mon, 04 Aug 2008) | 6 lines

  Revert r65499 which was not well thought out. Instead, put
  the whole build dir in exclude_trees by default in quickstart.

  Also, revisit application cleanup and make it consistently use
  less setup time while still trying to leave to traces.
........
This commit is contained in:
Georg Brandl
2008-08-04 22:20:44 +00:00
parent 0a15003d0c
commit 432115123e
7 changed files with 25 additions and 32 deletions

View File

@@ -57,7 +57,6 @@ today_fmt = '%B %d, %Y'
# List of directories, relative to source directories, that shouldn't be searched
# for source files.
#exclude_dirs = []
exclude_trees = ['_build']
# If true, '()' will be appended to :func: etc. cross-reference text.

View File

@@ -112,6 +112,6 @@ def test_linkcheck(app):
def test_text(app):
app.builder.build_all()
@with_testapp(buildername='changes')
@with_testapp(buildername='changes', cleanenv=True)
def test_changes(app):
app.builder.build_all()

View File

@@ -22,7 +22,7 @@ from sphinx.latexwriter import LaTeXWriter, LaTeXTranslator
def setup_module():
global app, settings, parser
app = TestApp()
app = TestApp(cleanenv=True)
optparser = frontend.OptionParser(components=(rst.Parser, HTMLWriter, LaTeXWriter))
settings = optparser.get_default_values()
settings.env = app.builder.env

View File

@@ -94,32 +94,34 @@ class TestApp(application.Sphinx):
def __init__(self, srcdir=None, confdir=None, outdir=None, doctreedir=None,
buildername='html', confoverrides=None, status=None, warning=None,
freshenv=None, confname='conf.py'):
freshenv=None, confname='conf.py', cleanenv=False):
application.CONFIG_FILENAME = confname
self.cleanup_trees = []
if srcdir is None:
srcdir = test_root
if srcdir == '(temp)':
tempdir = path(tempfile.mkdtemp()) / 'root'
test_root.copytree(tempdir)
srcdir = tempdir
tempdir = path(tempfile.mkdtemp())
self.cleanup_trees.append(tempdir)
temproot = tempdir / 'root'
test_root.copytree(temproot)
srcdir = temproot
else:
srcdir = path(srcdir)
self.builddir = srcdir.joinpath('_build')
if not self.builddir.isdir():
self.builddir.makedirs()
self.made_builddir = True
else:
self.made_builddir = False
if confdir is None:
confdir = srcdir
if outdir is None:
outdir = srcdir.joinpath(self.builddir, buildername)
if not outdir.isdir():
outdir.makedirs()
self.cleanup_trees.insert(0, outdir)
if doctreedir is None:
doctreedir = srcdir.joinpath(srcdir, self.builddir, 'doctrees')
if cleanenv:
self.cleanup_trees.insert(0, doctreedir)
if confoverrides is None:
confoverrides = {}
if status is None:
@@ -127,17 +129,14 @@ class TestApp(application.Sphinx):
if warning is None:
warning = ListOutput('stderr')
if freshenv is None:
freshenv = True
freshenv = False
application.Sphinx.__init__(self, srcdir, confdir, outdir, doctreedir,
buildername, confoverrides, status, warning,
freshenv)
def cleanup(self):
trees = [self.outdir, self.doctreedir]
if self.made_builddir:
trees.append(self.builddir)
for tree in trees:
def cleanup(self, doctrees=False):
for tree in self.cleanup_trees:
shutil.rmtree(tree, True)