sphinx/tests/test_util_pycompat.py

43 lines
1.1 KiB
Python
Raw Normal View History

"""
test_util_pycompat
~~~~~~~~~~~~~~~~~~
Tests sphinx.util.pycompat functions.
:copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
import tempfile
from sphinx.testing.util import strip_escseq
from sphinx.util import logging
from sphinx.util.pycompat import execfile_
def test_execfile_python2(capsys, app, status, warning):
logging.setup(app, status, warning)
ns = {}
with tempfile.NamedTemporaryFile() as tmp:
tmp.write(b'print "hello"\n')
tmp.flush()
execfile_(tmp.name, ns)
msg = (
'Support for evaluating Python 2 syntax is deprecated '
'and will be removed in Sphinx 4.0. '
'Convert %s to Python 3 syntax.\n' % tmp.name)
assert msg in strip_escseq(warning.getvalue())
captured = capsys.readouterr()
assert captured.out == 'hello\n'
def test_execfile(capsys):
ns = {}
with tempfile.NamedTemporaryFile() as tmp:
tmp.write(b'print("hello")\n')
tmp.flush()
execfile_(tmp.name, ns)
captured = capsys.readouterr()
assert captured.out == 'hello\n'