Complete test suite overhaul.

* rename a few test modules to make the names more consistent

* do not copy/use Sphinx from build/ (unnecessary without 2to3)

* use a temporary dir for *all* test projects, the source tree
  will stay pristine that way  (default is tests/build)

* speed up tests by ~3x by splitting up test projects and avoiding
  rebuilds
This commit is contained in:
Georg Brandl
2014-09-21 17:17:02 +02:00
parent c5dfd5c732
commit d47a7587f9
83 changed files with 1476 additions and 1757 deletions

View File

@@ -9,28 +9,23 @@
:license: BSD, see LICENSE for details.
"""
from util import test_roots, with_app
from util import with_app
def teardown_module():
(test_roots / 'test-templating' / '_build').rmtree(True),
@with_app(buildername='html', srcdir=(test_roots / 'test-templating'))
def test_layout_overloading(app):
app.builder.build_all()
@with_app('html', testroot='templating')
def test_layout_overloading(app, status, warning):
app.builder.build_update()
result = (app.outdir / 'contents.html').text(encoding='utf-8')
assert '<!-- layout overloading -->' in result
@with_app(buildername='html', srcdir=(test_roots / 'test-templating'))
def test_autosummary_class_template_overloading(app):
app.builder.build_all()
@with_app('html', testroot='templating')
def test_autosummary_class_template_overloading(app, status, warning):
app.builder.build_update()
result = (app.outdir / 'generated' / 'sphinx.application.Sphinx.html').text(
encoding='utf-8')
result = (app.outdir / 'generated' / 'sphinx.application.TemplateBridge.html').text(
encoding='utf-8')
assert 'autosummary/class.rst method block overloading' in result