Merge pull request #2316 from nicoddemus/add-future-imports

Add __future__ imports to all pytest modules
This commit is contained in:
Ronny Pfannschmidt 2017-03-17 13:41:46 +01:00 committed by GitHub
commit a122ae85e9
74 changed files with 119 additions and 47 deletions

View File

@ -206,12 +206,12 @@ but here is a simple overview:
#. Run all the tests
You need to have Python 2.7 and 3.5 available in your system. Now
You need to have Python 2.7 and 3.6 available in your system. Now
running tests is as simple as issuing this command::
$ tox -e linting,py27,py35
$ tox -e linting,py27,py36
This command will run tests via the "tox" tool against Python 2.7 and 3.5
This command will run tests via the "tox" tool against Python 2.7 and 3.6
and also perform "lint" coding-style checks.
#. You can now edit your local working copy.
@ -223,9 +223,9 @@ but here is a simple overview:
$ tox -e py27 -- --pdb
Or to only run tests in a particular test module on Python 3.5::
Or to only run tests in a particular test module on Python 3.6::
$ tox -e py35 -- testing/test_config.py
$ tox -e py36 -- testing/test_config.py
#. Commit and push once your tests pass and you are happy with your change(s)::

View File

@ -57,7 +57,7 @@ If things do not work right away:
which should throw a KeyError: 'COMPLINE' (which is properly set by the
global argcomplete script).
"""
from __future__ import absolute_import, division, print_function
import sys
import os
from glob import glob

View File

@ -1,4 +1,5 @@
""" python inspection/code generation API """
from __future__ import absolute_import, division, print_function
from .code import Code # noqa
from .code import ExceptionInfo # noqa
from .code import Frame # noqa

View File

@ -2,6 +2,7 @@
# CHANGES:
# - some_str is replaced, trying to create unicode strings
#
from __future__ import absolute_import, division, print_function
import types
def format_exception_only(etype, value):

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
from inspect import CO_VARARGS, CO_VARKEYWORDS
import re

View File

@ -1,4 +1,4 @@
from __future__ import generators
from __future__ import absolute_import, division, generators, print_function
from bisect import bisect_right
import sys

View File

@ -2,7 +2,7 @@
imports symbols from vendored "pluggy" if available, otherwise
falls back to importing "pluggy" from the default namespace.
"""
from __future__ import absolute_import, division, print_function
try:
from _pytest.vendored_packages.pluggy import * # noqa
from _pytest.vendored_packages.pluggy import __version__ # noqa

View File

@ -1,6 +1,7 @@
"""
support for presenting detailed information in failing assertions.
"""
from __future__ import absolute_import, division, print_function
import py
import sys

View File

@ -1,5 +1,5 @@
"""Rewrite assertion AST to produce nice error messages"""
from __future__ import absolute_import, division, print_function
import ast
import _ast
import errno

View File

@ -4,7 +4,7 @@ Utilities for truncating assertion output.
Current default behaviour is to truncate assertion explanations at
~8 terminal lines, unless running in "-vv" mode or running on CI.
"""
from __future__ import absolute_import, division, print_function
import os
import py

View File

@ -1,4 +1,5 @@
"""Utilities for assertion debugging"""
from __future__ import absolute_import, division, print_function
import pprint
import _pytest._code

View File

@ -4,7 +4,7 @@ merged implementation of the cache provider
the name cache was not chosen to ensure pluggy automatically
ignores the external pytest-cache
"""
from __future__ import absolute_import, division, print_function
import py
import pytest
import json

View File

@ -2,7 +2,7 @@
per-test stdout/stderr capturing mechanism.
"""
from __future__ import with_statement
from __future__ import absolute_import, division, print_function
import contextlib
import sys

View File

@ -1,6 +1,7 @@
"""
python version compatibility code
"""
from __future__ import absolute_import, division, print_function
import sys
import inspect
import types

View File

@ -1,4 +1,5 @@
""" command line options, ini-file and conftest.py processing. """
from __future__ import absolute_import, division, print_function
import argparse
import shlex
import traceback

View File

@ -1,5 +1,5 @@
""" interactive debugging with PDB, the Python Debugger. """
from __future__ import absolute_import
from __future__ import absolute_import, division, print_function
import pdb
import sys

View File

@ -5,7 +5,7 @@ that is planned to be removed in the next pytest release.
Keeping it in a central location makes it easy to track what is deprecated and should
be removed when the time comes.
"""
from __future__ import absolute_import, division, print_function
MAIN_STR_ARGS = 'passing a string to pytest.main() is deprecated, ' \
'pass a list of arguments instead.'

View File

@ -1,5 +1,5 @@
""" discover and run doctests in modules and test files."""
from __future__ import absolute_import
from __future__ import absolute_import, division, print_function
import traceback

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
from py._code.code import FormattedExcinfo

View File

@ -2,6 +2,8 @@
Provides a function to report all internal modules for using freezing tools
pytest
"""
from __future__ import absolute_import, division, print_function
def pytest_namespace():
return {'freeze_includes': freeze_includes}
@ -42,4 +44,4 @@ def _iter_all_modules(package, prefix=''):
for m in _iter_all_modules(os.path.join(path, name), prefix=name + '.'):
yield prefix + m
else:
yield prefix + name
yield prefix + name

View File

@ -1,4 +1,6 @@
""" version info, help messages, tracing configuration. """
from __future__ import absolute_import, division, print_function
import py
import pytest
import os, sys

View File

@ -4,9 +4,11 @@
Based on initial code from Ross Lawley.
Output conforms to https://github.com/jenkinsci/xunit-plugin/blob/master/
src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd
"""
# Output conforms to https://github.com/jenkinsci/xunit-plugin/blob/master/
# src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd
from __future__ import absolute_import, division, print_function
import functools
import py

View File

@ -1,4 +1,6 @@
""" core implementation of testing process: init, session, runtest loop. """
from __future__ import absolute_import, division, print_function
import functools
import os
import sys

View File

@ -1,4 +1,6 @@
""" generic mechanism for marking and selecting python functions. """
from __future__ import absolute_import, division, print_function
import inspect
from collections import namedtuple
from operator import attrgetter

View File

@ -1,4 +1,5 @@
""" monkeypatching and mocking functionality. """
from __future__ import absolute_import, division, print_function
import os, sys
import re

View File

@ -1,4 +1,5 @@
""" run test suites written for nose. """
from __future__ import absolute_import, division, print_function
import sys

View File

@ -1,4 +1,6 @@
""" submit failure or test session information to a pastebin service. """
from __future__ import absolute_import, division, print_function
import pytest
import sys
import tempfile

View File

@ -1,4 +1,6 @@
""" (disabled by default) support for testing pytest and pytest plugins. """
from __future__ import absolute_import, division, print_function
import codecs
import gc
import os
@ -12,8 +14,6 @@ from fnmatch import fnmatch
from weakref import WeakKeyDictionary
from py.builtin import print_
from _pytest.capture import MultiCapture, SysCapture
from _pytest._code import Source
import py
@ -229,15 +229,15 @@ class HookRecorder(object):
name, check = entries.pop(0)
for ind, call in enumerate(self.calls[i:]):
if call._name == name:
print_("NAMEMATCH", name, call)
print("NAMEMATCH", name, call)
if eval(check, backlocals, call.__dict__):
print_("CHECKERMATCH", repr(check), "->", call)
print("CHECKERMATCH", repr(check), "->", call)
else:
print_("NOCHECKERMATCH", repr(check), "-", call)
print("NOCHECKERMATCH", repr(check), "-", call)
continue
i += ind + 1
break
print_("NONAMEMATCH", name, "with", call)
print("NONAMEMATCH", name, "with", call)
else:
pytest.fail("could not find %r check %r" % (name, check))
@ -924,8 +924,8 @@ class Testdir(object):
cmdargs = [str(x) for x in cmdargs]
p1 = self.tmpdir.join("stdout")
p2 = self.tmpdir.join("stderr")
print_("running:", ' '.join(cmdargs))
print_(" in:", str(py.path.local()))
print("running:", ' '.join(cmdargs))
print(" in:", str(py.path.local()))
f1 = codecs.open(str(p1), "w", encoding="utf8")
f2 = codecs.open(str(p2), "w", encoding="utf8")
try:
@ -951,7 +951,7 @@ class Testdir(object):
def _dump_lines(self, lines, fp):
try:
for line in lines:
py.builtin.print_(line, file=fp)
print(line, file=fp)
except UnicodeEncodeError:
print("couldn't print to %s because of encoding" % (fp,))

View File

@ -1,4 +1,5 @@
""" Python test discovery, setup and run of test functions. """
from __future__ import absolute_import, division, print_function
import fnmatch
import inspect

View File

@ -1,4 +1,6 @@
""" recording warnings during test function execution. """
from __future__ import absolute_import, division, print_function
import inspect
import _pytest._code

View File

@ -1,6 +1,7 @@
""" log machine-parseable test session result information in a plain
text file.
"""
from __future__ import absolute_import, division, print_function
import py
import os
@ -61,9 +62,9 @@ class ResultLog(object):
self.logfile = logfile # preferably line buffered
def write_log_entry(self, testpath, lettercode, longrepr):
py.builtin.print_("%s %s" % (lettercode, testpath), file=self.logfile)
print("%s %s" % (lettercode, testpath), file=self.logfile)
for line in longrepr.splitlines():
py.builtin.print_(" %s" % line, file=self.logfile)
print(" %s" % line, file=self.logfile)
def log_outcome(self, report, lettercode, longrepr):
testpath = getattr(report, 'nodeid', None)

View File

@ -1,4 +1,6 @@
""" basic collect and runtest protocol implementations """
from __future__ import absolute_import, division, print_function
import bdb
import sys
from time import time

View File

@ -1,3 +1,5 @@
from __future__ import absolute_import, division, print_function
import pytest
import sys

View File

@ -1,3 +1,5 @@
from __future__ import absolute_import, division, print_function
import pytest

View File

@ -1,4 +1,6 @@
""" support for skip/xfail functions and markers. """
from __future__ import absolute_import, division, print_function
import os
import sys
import traceback

View File

@ -2,6 +2,8 @@
This is a good source for looking at the various reporting hooks.
"""
from __future__ import absolute_import, division, print_function
from _pytest.main import EXIT_OK, EXIT_TESTSFAILED, EXIT_INTERRUPTED, \
EXIT_USAGEERROR, EXIT_NOTESTSCOLLECTED
import pytest

View File

@ -1,4 +1,6 @@
""" support for providing temporary directories to test functions. """
from __future__ import absolute_import, division, print_function
import re
import pytest

View File

@ -1,5 +1,5 @@
""" discovery and running of std-library "unittest" style tests. """
from __future__ import absolute_import
from __future__ import absolute_import, division, print_function
import sys
import traceback

View File

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
import os
import sys

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
import _pytest._code

View File

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
import operator
import _pytest
@ -369,7 +370,7 @@ def test_codepath_Queue_example():
def test_match_succeeds():
with pytest.raises(ZeroDivisionError) as excinfo:
0 / 0
0 // 0
excinfo.match(r'.*zero.*')
def test_match_raises_error(testdir):

View File

@ -1,6 +1,7 @@
# flake8: noqa
# disable flake check on this file because some constructs are strange
# or redundant on purpose and can't be disable on a line-by-line basis
from __future__ import absolute_import, division, print_function
import sys
import _pytest._code

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pytest

View File

@ -274,6 +274,7 @@ class TestGenerator(object):
def test_order_of_execution_generator_same_codeline(self, testdir, tmpdir):
o = testdir.makepyfile("""
from __future__ import print_function
def test_generative_order_of_execution():
import py, pytest
test_list = []
@ -283,8 +284,8 @@ class TestGenerator(object):
test_list.append(item)
def assert_order_of_execution():
py.builtin.print_('expected order', expected_list)
py.builtin.print_('but got ', test_list)
print('expected order', expected_list)
print('but got ', test_list)
assert test_list == expected_list
for i in expected_list:
@ -298,6 +299,7 @@ class TestGenerator(object):
def test_order_of_execution_generator_different_codeline(self, testdir):
o = testdir.makepyfile("""
from __future__ import print_function
def test_generative_tests_different_codeline():
import py, pytest
test_list = []
@ -313,8 +315,8 @@ class TestGenerator(object):
test_list.append(0)
def assert_order_of_execution():
py.builtin.print_('expected order', expected_list)
py.builtin.print_('but got ', test_list)
print('expected order', expected_list)
print('but got ', test_list)
assert test_list == expected_list
yield list_append_0

View File

@ -1,4 +1,4 @@
from __future__ import with_statement
from __future__ import absolute_import, division, print_function
import py, pytest
# test for _argcomplete but not specific for any application

View File

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
import sys
import textwrap

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import glob
import os
import py_compile

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
import _pytest

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
# note: py.io capture tests where copied from
# pylib 1.4.20.dev2 (rev 13d9af95547e)
from __future__ import with_statement
@ -13,7 +14,7 @@ import contextlib
from _pytest import capture
from _pytest.capture import CaptureManager
from _pytest.main import EXIT_NOTESTSCOLLECTED
from py.builtin import print_
needsosdup = pytest.mark.xfail("not hasattr(os, 'dup')")
@ -711,7 +712,7 @@ def test_dupfile(tmpfile):
assert nf != tmpfile
assert nf.fileno() != tmpfile.fileno()
assert nf not in flist
print_(i, end="", file=nf)
print(i, end="", file=nf)
flist.append(nf)
for i in range(5):
f = flist[i]
@ -785,7 +786,7 @@ class TestFDCapture(object):
def test_stderr(self):
cap = capture.FDCapture(2)
cap.start()
print_("hello", file=sys.stderr)
print("hello", file=sys.stderr)
s = cap.snap()
cap.done()
assert s == "hello\n"

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pytest, py
from _pytest.main import Session, EXIT_NOTESTSCOLLECTED

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
import pytest

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import py, pytest
import _pytest._code

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
from textwrap import dedent
import _pytest._code

View File

@ -1,4 +1,5 @@
# encoding: utf-8
from __future__ import absolute_import, division, print_function
import sys
import _pytest._code
from _pytest.compat import MODULE_NOT_FOUND_ERROR

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pkg_resources
import pytest

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
from _pytest.main import EXIT_NOTESTSCOLLECTED
import pytest

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
from xml.dom import minidom
import py
import sys
@ -1028,4 +1028,4 @@ def test_url_property(testdir):
test_case = minidom.parse(str(path)).getElementsByTagName('testcase')[0]
assert (test_case.getAttribute('url') == test_url), "The URL did not get written to the xml"
assert (test_case.getAttribute('url') == test_url), "The URL did not get written to the xml"

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import os
import py, pytest
@ -673,7 +674,7 @@ class TestKeywordSelection(object):
item.extra_keyword_matches.add("xxx")
""")
reprec = testdir.inline_run(p.dirpath(), '-s', '-k', keyword)
py.builtin.print_("keyword", repr(keyword))
print("keyword", repr(keyword))
passed, skipped, failed = reprec.listoutcomes()
assert len(passed) == 1
assert passed[0].nodeid.endswith("test_2")

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import os
import sys
import textwrap

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pytest
def setup_module(mod):

View File

@ -1,4 +1,4 @@
from __future__ import with_statement
from __future__ import absolute_import, division, print_function
import sys
import os
import py, pytest

View File

@ -1,4 +1,5 @@
# encoding: utf-8
from __future__ import absolute_import, division, print_function
import sys
import pytest

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
import platform

View File

@ -1,4 +1,5 @@
# encoding: UTF-8
from __future__ import absolute_import, division, print_function
import pytest
import py
import os

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pytest
import os
from _pytest.pytester import HookRecorder

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import warnings
import re
import py

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import os
import _pytest._code

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import with_statement
from __future__ import absolute_import, division, print_function
import _pytest._code
import os

View File

@ -1,6 +1,8 @@
#
# test correct setup/teardowns at
# module, class, and instance level
"""
test correct setup/teardowns at
module, class, and instance level
"""
from __future__ import absolute_import, division, print_function
import pytest

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pytest
from _pytest.main import EXIT_NOTESTSCOLLECTED

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import pytest
import sys

View File

@ -1,6 +1,7 @@
"""
terminal reporting of the full testing process.
"""
from __future__ import absolute_import, division, print_function
import collections
import sys

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
import sys
import py
import pytest

View File

@ -1,3 +1,4 @@
from __future__ import absolute_import, division, print_function
from _pytest.main import EXIT_NOTESTSCOLLECTED
import pytest
import gc