Merge pull request #3245 from tk0miya/3192_reduce_deprecation_warnings

Reduce deprecation warnings (refs: #3192)
This commit is contained in:
Takeshi KOMIYA 2016-12-16 00:50:30 +09:00 committed by GitHub
commit 5e48b830dc
7 changed files with 34 additions and 20 deletions

View File

@ -15,6 +15,7 @@ import re
import sys
import inspect
import traceback
import warnings
from types import FunctionType, BuiltinFunctionType, MethodType
from six import PY2, iterkeys, iteritems, itervalues, text_type, class_types, \
@ -544,7 +545,9 @@ class Documenter(object):
for modname in self.env.config.autodoc_mock_imports:
dbg('[autodoc] adding a mock module %s!', modname)
mock_import(modname)
__import__(self.modname)
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=ImportWarning)
__import__(self.modname)
parent = None
obj = self.module = sys.modules[self.modname]
dbg('[autodoc] => %r', obj)

View File

@ -142,7 +142,8 @@ class path(text_type):
"""
Returns the text in the file.
"""
with open(self, mode='U', encoding=encoding, **kwargs) as f:
mode = 'rU' if PY2 else 'r'
with open(self, mode=mode, encoding=encoding, **kwargs) as f:
text = f.read()
contents = repr_as(text, '<%s contents>' % self.basename())
return contents

View File

@ -13,6 +13,7 @@ from __future__ import print_function
import os
import sys
import warnings
import traceback
from path import path
@ -48,4 +49,8 @@ tempdir.makedirs()
print('Running Sphinx test suite (with Python %s)...' % sys.version.split()[0])
sys.stdout.flush()
# filter warnings of test dependencies
warnings.filterwarnings('ignore', category=DeprecationWarning, module='nose.util')
warnings.filterwarnings('ignore', category=DeprecationWarning, module='site') # virtualenv
nose.main(argv=sys.argv)

View File

@ -9,15 +9,13 @@
:license: BSD, see LICENSE for details.
"""
from xml.etree import ElementTree
from util import with_app
from util import with_app, etree_parse
@with_app('xml', testroot='directive-code')
def test_code_block(app, status, warning):
app.builder.build('index')
et = ElementTree.parse(app.outdir / 'index.xml')
et = etree_parse(app.outdir / 'index.xml')
secs = et.findall('./section/section')
code_block = secs[0].findall('literal_block')
assert len(code_block) > 0
@ -33,7 +31,7 @@ def test_code_block(app, status, warning):
@with_app('xml', testroot='directive-code')
def test_code_block_dedent(app, status, warning):
app.builder.build(['dedent_code'])
et = ElementTree.parse(app.outdir / 'dedent_code.xml')
et = etree_parse(app.outdir / 'dedent_code.xml')
blocks = et.findall('./section/section/literal_block')
for i in range(5): # 0-4
@ -94,7 +92,7 @@ def test_code_block_namedlink_latex(app, status, warning):
@with_app('xml', testroot='directive-code')
def test_literal_include(app, status, warning):
app.builder.build(['index'])
et = ElementTree.parse(app.outdir / 'index.xml')
et = etree_parse(app.outdir / 'index.xml')
secs = et.findall('./section/section')
literal_include = secs[1].findall('literal_block')
literal_src = (app.srcdir / 'literal.inc').text(encoding='utf-8')
@ -109,7 +107,7 @@ def test_literal_include_dedent(app, status, warning):
literal_lines = [l[4:] for l in literal_src.split('\n')[9:11]]
app.builder.build(['dedent'])
et = ElementTree.parse(app.outdir / 'dedent.xml')
et = etree_parse(app.outdir / 'dedent.xml')
blocks = et.findall('./section/section/literal_block')
for i in range(5): # 0-4
@ -124,7 +122,7 @@ def test_literal_include_dedent(app, status, warning):
@with_app('xml', testroot='directive-code')
def test_literal_include_block_start_with_comment_or_brank(app, status, warning):
app.builder.build(['python'])
et = ElementTree.parse(app.outdir / 'python.xml')
et = etree_parse(app.outdir / 'python.xml')
secs = et.findall('./section/section')
literal_include = secs[0].findall('literal_block')
assert len(literal_include) > 0
@ -290,7 +288,7 @@ def test_literalinclude_namedlink_latex(app, status, warning):
@with_app('xml', testroot='directive-code')
def test_literalinclude_classes(app, status, warning):
app.builder.build(['classes'])
et = ElementTree.parse(app.outdir / 'classes.xml')
et = etree_parse(app.outdir / 'classes.xml')
secs = et.findall('./section/section')
code_block = secs[0].findall('literal_block')

View File

@ -26,7 +26,7 @@ def skip_if_graphviz_not_found(fn):
dot = subprocess.Popen([graphviz_dot, '-V'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE) # show version
dot.wait()
dot.communicate()
found = True
except OSError: # No such file or directory
pass

View File

@ -16,7 +16,6 @@ import re
import pickle
from docutils import nodes
from subprocess import Popen, PIPE
from xml.etree import ElementTree
from babel.messages import pofile
from nose.tools import assert_equal
@ -24,7 +23,7 @@ from six import string_types
from util import tempdir, rootdir, path, gen_with_app, with_app, SkipTest, \
assert_re_search, assert_not_re_search, assert_in, assert_not_in, \
assert_startswith, assert_node, repr_as
assert_startswith, assert_node, repr_as, etree_parse
root = tempdir / 'test-intl'
@ -502,7 +501,7 @@ def test_xml_builder(app, status, warning):
# --- footnotes: regression test for fix #955, #1176
et = ElementTree.parse(app.outdir / 'footnote.xml')
et = etree_parse(app.outdir / 'footnote.xml')
secs = et.findall('section')
para0 = secs[0].findall('paragraph')
@ -542,7 +541,7 @@ def test_xml_builder(app, status, warning):
# --- footnote backlinks: i18n test for #1058
et = ElementTree.parse(app.outdir / 'footnote.xml')
et = etree_parse(app.outdir / 'footnote.xml')
secs = et.findall('section')
para0 = secs[0].findall('paragraph')
@ -558,7 +557,7 @@ def test_xml_builder(app, status, warning):
# --- refs in the Python domain
et = ElementTree.parse(app.outdir / 'refs_python_domain.xml')
et = etree_parse(app.outdir / 'refs_python_domain.xml')
secs = et.findall('section')
# regression test for fix #1363
@ -570,7 +569,7 @@ def test_xml_builder(app, status, warning):
# --- keep external links: regression test for #1044
et = ElementTree.parse(app.outdir / 'external_links.xml')
et = etree_parse(app.outdir / 'external_links.xml')
secs = et.findall('section')
para0 = secs[0].findall('paragraph')
@ -623,7 +622,7 @@ def test_xml_builder(app, status, warning):
# --- role xref: regression test for #1090, #1193
et = ElementTree.parse(app.outdir / 'role_xref.xml')
et = etree_parse(app.outdir / 'role_xref.xml')
sec1, sec2 = et.findall('section')
para1, = sec1.findall('paragraph')
@ -674,7 +673,7 @@ def test_xml_builder(app, status, warning):
# --- label targets: regression test for #1193, #1265
et = ElementTree.parse(app.outdir / 'label_target.xml')
et = etree_parse(app.outdir / 'label_target.xml')
secs = et.findall('section')
para0 = secs[0].findall('paragraph')

View File

@ -11,7 +11,9 @@ import os
import re
import sys
import tempfile
import warnings
from functools import wraps
from xml.etree import ElementTree
from six import StringIO, string_types
@ -155,6 +157,12 @@ def skip_unless_importable(module, msg=None):
return skip_if(False, msg)
def etree_parse(path):
with warnings.catch_warnings(record=False):
warnings.filterwarnings("ignore", category=DeprecationWarning)
return ElementTree.parse(path)
class Struct(object):
def __init__(self, **kwds):
self.__dict__.update(kwds)