diff --git a/setup.cfg b/setup.cfg index 560bde328..8f5d2ebf3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,7 +26,7 @@ universal = 1 [flake8] max-line-length = 95 ignore = E116,E241,E251 -exclude = .git,.tox,tests/*,build/*,sphinx/search/*,sphinx/pycode/pgen2/*,doc/ext/example*.py +exclude = .git,.tox,tests/etree13/*,tests/root/*,tests/roots/*,tests/py35/*,build/*,sphinx/search/*,sphinx/pycode/pgen2/*,doc/ext/example*.py [build_sphinx] warning-is-error = 1 diff --git a/tests/test_apidoc.py b/tests/test_apidoc.py index 358df4283..a45ae9dc6 100644 --- a/tests/test_apidoc.py +++ b/tests/test_apidoc.py @@ -129,6 +129,7 @@ def test_pep_0420_disabled_top_level_verify(make_app, apidoc): print(app._status.getvalue()) print(app._warning.getvalue()) + @pytest.mark.apidoc( coderoot=(rootdir / 'roots' / 'test-apidoc-trailing-underscore')) def test_trailing_underscore(make_app, apidoc): @@ -147,6 +148,7 @@ def test_trailing_underscore(make_app, apidoc): assert "package_ package\n" in rst assert "package_.module_ module\n" in rst + @pytest.mark.apidoc( coderoot=(rootdir / 'root'), options=[ diff --git a/tests/test_application.py b/tests/test_application.py index 736ce42ac..48759a895 100644 --- a/tests/test_application.py +++ b/tests/test_application.py @@ -8,8 +8,6 @@ :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ -import codecs - from docutils import nodes from sphinx.application import ExtensionError diff --git a/tests/test_build_html.py b/tests/test_build_html.py index 0758874a7..58c72c780 100644 --- a/tests/test_build_html.py +++ b/tests/test_build_html.py @@ -448,11 +448,13 @@ def test_html_output(app, cached_etree_parse, fname, expect): app.build() check_xpath(cached_etree_parse(app.outdir / fname), fname, *expect) + @pytest.mark.sphinx('html', testroot='build-html-translator') def test_html_translator(app): app.build() assert app.builder.docwriter.visitor.depart_with_node == 10 + @pytest.mark.parametrize("fname,expect", flat_dict({ 'index.html': [ (".//li[@class='toctree-l3']/a", '1.1.1. Foo A1', True), @@ -1205,25 +1207,25 @@ def test_html_raw_directive(app, status, warning): @pytest.mark.parametrize("fname,expect", flat_dict({ 'index.html': [ (".//link[@href='_static/persistent.css']" - "[@rel='stylesheet']", '', True), + "[@rel='stylesheet']", '', True), (".//link[@href='_static/default.css']" - "[@rel='stylesheet']" - "[@title='Default']", '', True), + "[@rel='stylesheet']" + "[@title='Default']", '', True), (".//link[@href='_static/alternate1.css']" - "[@rel='alternate stylesheet']" - "[@title='Alternate']", '', True), + "[@rel='alternate stylesheet']" + "[@title='Alternate']", '', True), (".//link[@href='_static/alternate2.css']" - "[@rel='alternate stylesheet']", '', True), + "[@rel='alternate stylesheet']", '', True), (".//link[@href='_static/more_persistent.css']" - "[@rel='stylesheet']", '', True), + "[@rel='stylesheet']", '', True), (".//link[@href='_static/more_default.css']" - "[@rel='stylesheet']" - "[@title='Default']", '', True), + "[@rel='stylesheet']" + "[@title='Default']", '', True), (".//link[@href='_static/more_alternate1.css']" - "[@rel='alternate stylesheet']" - "[@title='Alternate']", '', True), + "[@rel='alternate stylesheet']" + "[@title='Alternate']", '', True), (".//link[@href='_static/more_alternate2.css']" - "[@rel='alternate stylesheet']", '', True), + "[@rel='alternate stylesheet']", '', True), ], })) @pytest.mark.sphinx('html', testroot='stylesheets') diff --git a/tests/test_build_html5.py b/tests/test_build_html5.py index b491b6306..d381510a0 100644 --- a/tests/test_build_html5.py +++ b/tests/test_build_html5.py @@ -14,19 +14,14 @@ :license: BSD, see LICENSE for details. """ -import os -import re -from itertools import cycle, chain import xml.etree.cElementTree as ElementTree -from six import PY3 import pytest from html5lib import getTreeBuilder, HTMLParser -from sphinx import __display_version__ from sphinx.util.docutils import is_html5_writer_available -from util import remove_unicode_literals, strip_escseq, skip_unless +from util import skip_unless from test_build_html import flat_dict, tail_check, check_xpath TREE_BUILDER = getTreeBuilder('etree', implementation=ElementTree) @@ -35,6 +30,7 @@ HTML_PARSER = HTMLParser(TREE_BUILDER, namespaceHTMLElements=False) etree_cache = {} + @skip_unless(is_html5_writer_available()) @pytest.fixture(scope='module') def cached_etree_parse(): diff --git a/tests/test_directive_code.py b/tests/test_directive_code.py index afd4fac9b..0e702803d 100644 --- a/tests/test_directive_code.py +++ b/tests/test_directive_code.py @@ -517,4 +517,3 @@ def test_literalinclude_pydecorators(app, status, warning): ' pass\n' ) assert actual == expect - diff --git a/tests/test_domain_cpp.py b/tests/test_domain_cpp.py index 49d8e3206..08ca6f962 100644 --- a/tests/test_domain_cpp.py +++ b/tests/test_domain_cpp.py @@ -451,6 +451,7 @@ def test_templates(): check('concept', 'template Numerics = (... && Numeric)', None, 'IDpE8Numerics') + def test_template_args(): # from breathe#218 check('function', @@ -462,6 +463,7 @@ def test_template_args(): "enable_if_not_array_t = std::enable_if_t::value, int>", None, "I0E21enable_if_not_array_t") + def test_attributes(): # style: C++ check('member', '[[]] int f', 'f__i', '1f') diff --git a/tests/test_domain_js.py b/tests/test_domain_js.py index a3915c563..5853d3b9f 100644 --- a/tests/test_domain_js.py +++ b/tests/test_domain_js.py @@ -122,21 +122,21 @@ def test_domain_js_find_obj(app, status, warning): assert (find_obj(None, None, u'NONEXISTANT', u'class') == (None, None)) assert (find_obj(None, None, u'NestedParentA', u'class') == - ( u'NestedParentA', (u'roles', u'class'))) + (u'NestedParentA', (u'roles', u'class'))) assert (find_obj(None, None, u'NestedParentA.NestedChildA', u'class') == - ( u'NestedParentA.NestedChildA', (u'roles', u'class'))) + (u'NestedParentA.NestedChildA', (u'roles', u'class'))) assert (find_obj(None, 'NestedParentA', u'NestedChildA', u'class') == - ( u'NestedParentA.NestedChildA', (u'roles', u'class'))) + (u'NestedParentA.NestedChildA', (u'roles', u'class'))) assert (find_obj(None, None, u'NestedParentA.NestedChildA.subchild_1', u'func') == - ( u'NestedParentA.NestedChildA.subchild_1', (u'roles', u'function'))) + (u'NestedParentA.NestedChildA.subchild_1', (u'roles', u'function'))) assert (find_obj(None, u'NestedParentA', u'NestedChildA.subchild_1', u'func') == - ( u'NestedParentA.NestedChildA.subchild_1', (u'roles', u'function'))) + (u'NestedParentA.NestedChildA.subchild_1', (u'roles', u'function'))) assert (find_obj(None, u'NestedParentA.NestedChildA', u'subchild_1', u'func') == - ( u'NestedParentA.NestedChildA.subchild_1', (u'roles', u'function'))) + (u'NestedParentA.NestedChildA.subchild_1', (u'roles', u'function'))) assert (find_obj(u'module_a.submodule', u'ModTopLevel', u'mod_child_2', u'meth') == - ( u'module_a.submodule.ModTopLevel.mod_child_2', (u'module', u'method'))) + (u'module_a.submodule.ModTopLevel.mod_child_2', (u'module', u'method'))) assert (find_obj(u'module_b.submodule', u'ModTopLevel', u'module_a.submodule', u'mod') == - ( u'module_a.submodule', (u'module', u'module'))) + (u'module_a.submodule', (u'module', u'module'))) def test_get_full_qualified_name(): diff --git a/tests/test_ext_autosummary.py b/tests/test_ext_autosummary.py index 146acb8eb..b963117b7 100644 --- a/tests/test_ext_autosummary.py +++ b/tests/test_ext_autosummary.py @@ -106,16 +106,16 @@ def test_get_items_summary(app, status, warning): 'dummy_module.func') assert autosummary_items['func'] == func_attrs + def str_content(elem): if elem.text is not None: return elem.text else: return ''.join(str_content(e) for e in elem) + @pytest.mark.sphinx('xml', **default_kw) def test_escaping(app, status, warning): - from xml.etree import ElementTree - app.builder.build_all() outdir = app.builder.outdir diff --git a/tests/test_util_inspect.py b/tests/test_util_inspect.py index 740f98c7a..550b03ac2 100644 --- a/tests/test_util_inspect.py +++ b/tests/test_util_inspect.py @@ -17,6 +17,7 @@ import pytest from sphinx.util import inspect + class TestGetArgSpec(TestCase): def test_getargspec_builtin_type(self): with pytest.raises(TypeError):