diff --git a/CHANGES b/CHANGES index f6e834b3a..f09d178ef 100644 --- a/CHANGES +++ b/CHANGES @@ -44,6 +44,11 @@ Bugs fixed * #3038: ``sphinx.ext.math*`` raises TypeError if labels are duplicated * #3031: incompatibility with LaTeX package ``tocloft`` +Testing +-------- + +* To simplify, sphinx uses external mock package even if unittest.mock exists. + Documentation ------------- diff --git a/tests/test_build.py b/tests/test_build.py index 27a99461b..cc34de2c1 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -13,11 +13,12 @@ from six import BytesIO import pickle from docutils import nodes +import mock from textwrap import dedent from sphinx.errors import SphinxError import sphinx.builders.linkcheck -from util import mock, with_app, with_tempdir, rootdir, tempdir, SkipTest, TestApp +from util import with_app, with_tempdir, rootdir, tempdir, SkipTest, TestApp try: from docutils.writers.manpage import Writer as ManWriter diff --git a/tests/test_config.py b/tests/test_config.py index b10711732..1b3c94957 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -10,7 +10,7 @@ :license: BSD, see LICENSE for details. """ from six import PY3, iteritems -from util import mock +import mock from util import TestApp, with_app, gen_with_app, with_tempdir, \ raises, raises_msg, assert_in, assert_not_in diff --git a/tests/test_domain_std.py b/tests/test_domain_std.py index 5bd9f805b..4f892cb01 100644 --- a/tests/test_domain_std.py +++ b/tests/test_domain_std.py @@ -10,9 +10,9 @@ """ from docutils import nodes +import mock from sphinx.domains.std import StandardDomain -from util import mock def test_process_doc_handle_figure_caption(): diff --git a/tests/test_environment_indexentries.py b/tests/test_environment_indexentries.py index 869239487..57a3cf52f 100644 --- a/tests/test_environment_indexentries.py +++ b/tests/test_environment_indexentries.py @@ -13,7 +13,7 @@ from collections import namedtuple from sphinx import locale from sphinx.environment.managers.indexentries import IndexEntries -from util import mock +import mock Environment = namedtuple('Environment', 'indexentries') diff --git a/tests/test_ext_intersphinx.py b/tests/test_ext_intersphinx.py index 2b67dd329..e1995e3d3 100644 --- a/tests/test_ext_intersphinx.py +++ b/tests/test_ext_intersphinx.py @@ -15,6 +15,7 @@ import zlib from six import BytesIO from docutils import nodes +import mock from sphinx import addnodes from sphinx.ext.intersphinx import setup as intersphinx_setup @@ -22,7 +23,7 @@ from sphinx.ext.intersphinx import read_inventory, \ load_mappings, missing_reference, _strip_basic_auth, _read_from_url, \ _get_safe_url, fetch_inventory, INVENTORY_FILENAME -from util import with_app, with_tempdir, mock +from util import with_app, with_tempdir inventory_v1 = '''\ diff --git a/tests/test_ext_napoleon.py b/tests/test_ext_napoleon.py index d4ce96001..7ecd08292 100644 --- a/tests/test_ext_napoleon.py +++ b/tests/test_ext_napoleon.py @@ -16,7 +16,7 @@ from unittest import TestCase from sphinx.application import Sphinx from sphinx.ext.napoleon import (_process_docstring, _skip_member, Config, setup) -from util import mock +import mock def _private_doc(): diff --git a/tests/test_ext_napoleon_docstring.py b/tests/test_ext_napoleon_docstring.py index c320a7fec..37dcca90c 100644 --- a/tests/test_ext_napoleon_docstring.py +++ b/tests/test_ext_napoleon_docstring.py @@ -19,7 +19,7 @@ from unittest import TestCase from sphinx.ext.napoleon import Config from sphinx.ext.napoleon.docstring import GoogleDocstring, NumpyDocstring -from util import mock +import mock class NamedtupleSubclass(namedtuple('NamedtupleSubclass', ('attr1', 'attr2'))): diff --git a/tests/test_theming.py b/tests/test_theming.py index d4c104c8c..b62cbcd72 100644 --- a/tests/test_theming.py +++ b/tests/test_theming.py @@ -12,9 +12,11 @@ import os import zipfile +import mock + from sphinx.theming import Theme, ThemeError -from util import with_app, raises, mock, path +from util import with_app, raises, path @with_app(confoverrides={'html_theme': 'ziptheme', diff --git a/tests/test_util_fileutil.py b/tests/test_util_fileutil.py index a56543614..5810dd2a8 100644 --- a/tests/test_util_fileutil.py +++ b/tests/test_util_fileutil.py @@ -11,14 +11,14 @@ from sphinx.util.fileutil import copy_asset, copy_asset_file from sphinx.jinja2glue import BuiltinTemplateLoader -from mock import Mock +import mock from util import with_tempdir class DummyTemplateLoader(BuiltinTemplateLoader): def __init__(self): BuiltinTemplateLoader.__init__(self) - builder = Mock() + builder = mock.Mock() builder.config.templates_path = [] builder.app.translater = None self.init(builder) diff --git a/tests/util.py b/tests/util.py index a14bee838..120492d47 100644 --- a/tests/util.py +++ b/tests/util.py @@ -28,12 +28,6 @@ from sphinx.pycode import ModuleAnalyzer from path import path, repr_as # NOQA -try: - # Python >=3.3 - from unittest import mock -except ImportError: - import mock - __all__ = [ 'rootdir', 'tempdir', 'raises', 'raises_msg', @@ -41,7 +35,6 @@ __all__ = [ 'ListOutput', 'TestApp', 'with_app', 'gen_with_app', 'path', 'with_tempdir', 'sprint', 'remove_unicode_literals', - 'mock', ] diff --git a/tox.ini b/tox.ini index 5c5989250..44ae8a7a6 100644 --- a/tox.ini +++ b/tox.ini @@ -9,38 +9,30 @@ deps= sqlalchemy whoosh html5lib + mock setenv = SPHINX_TEST_TEMPDIR = {envdir}/testbuild commands= {envpython} tests/run.py -I py35 -m '^[tT]est' {posargs} sphinx-build -q -W -b html -d {envtmpdir}/doctrees doc {envtmpdir}/html -[testenv:py27] -deps= - mock - {[testenv]deps} - [testenv:pypy] deps= - mock simplejson {[testenv]deps} [testenv:du10] deps= - mock docutils==0.10 {[testenv]deps} [testenv:du11] deps= - mock docutils==0.11 {[testenv]deps} [testenv:du12] deps= - mock docutils==0.12 {[testenv]deps}