{"action":"opened","number":7,"pull_request":{"url":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/7","id":96720794,"html_url":"https://github.com/vir-mir/aiorest_validator/pull/7","diff_url":"https://github.com/vir-mir/aiorest_validator/pull/7.diff","patch_url":"https://github.com/vir-mir/aiorest_validator/pull/7.patch","issue_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/7","number":7,"state":"open","locked":false,"title":"Pin pytest to latest version 3.0.5","user":{"login":"pyup-bot","id":16239342,"avatar_url":"https://avatars.githubusercontent.com/u/16239342?v=3","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"body":"\npytest is not pinned to a specific version.\n\nI'm pinning it to the latest version **3.0.5** for now.\n\n\nThese links might come in handy:  <a href=\"http://pypi.python.org/pypi/pytest\">PyPI</a> | <a href=\"https://pyup.io/changelogs/pytest/\">Changelog</a> | <a href=\"http://pytest.org\">Homepage</a> \n\n\n\n### Changelog\n> \n>### 3.0.5\n\n>=====\n\n>* Add warning when not passing ``option=value`` correctly to ``-o/--override-ini`` (`2105`_).\n>  Also improved the help documentation. Thanks to `mbukatov`_ for the report and\n>  `lwm`_ for the PR.\n\n>* Now ``--confcutdir`` and ``--junit-xml`` are properly validated if they are directories\n>  and filenames, respectively (`2089`_ and `2078`_). Thanks to `lwm`_ for the PR.\n\n>* Add hint to error message hinting possible missing ``__init__.py`` (`478`_). Thanks `DuncanBetts`_.\n\n>* More accurately describe when fixture finalization occurs in documentation (`687`_). Thanks `DuncanBetts`_.\n\n>* Provide ``:ref:`` targets for ``recwarn.rst`` so we can use intersphinx referencing.\n>  Thanks to `dupuy`_ for the report and `lwm`_ for the PR.\n\n>* In Python 2, use a simple ``+-`` ASCII string in the string representation of ``pytest.approx`` (for example ``&quot;4 +- 4.0e-06&quot;``)\n>  because it is brittle to handle that in different contexts and representations internally in pytest\n>  which can result in bugs such as `2111`_. In Python 3, the representation still uses ``±`` (for example ``4 ± 4.0e-06``).\n>  Thanks `kerrick-lyft`_ for the report and `nicoddemus`_ for the PR.\n\n>* Using ``item.Function``, ``item.Module``, etc., is now issuing deprecation warnings, prefer\n>  ``pytest.Function``, ``pytest.Module``, etc., instead (`2034`_).\n>  Thanks `nmundar`_ for the PR.\n\n>* Fix error message using ``approx`` with complex numbers (`2082`_).\n>  Thanks `adler-j`_ for the report and `nicoddemus`_ for the PR.\n\n>* Fixed false-positives warnings from assertion rewrite hook for modules imported more than\n>  once by the ``pytest_plugins`` mechanism.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Remove an internal cache which could cause hooks from ``conftest.py`` files in\n>  sub-directories to be called in other directories incorrectly (`2016`_).\n>  Thanks `d-b-w`_ for the report and `nicoddemus`_ for the PR.\n\n>* Remove internal code meant to support earlier Python 3 versions that produced the side effect\n>  of leaving ``None`` in ``sys.modules`` when expressions were evaluated by pytest (for example passing a condition\n>  as a string to ``pytest.mark.skipif``)(`2103`_).\n>  Thanks `jaraco`_ for the report and `nicoddemus`_ for the PR.\n\n>* Cope gracefully with a .pyc file with no matching .py file (`2038`_). Thanks\n>  `nedbat`_.\n\n>.. _adler-j: https://github.com/adler-j\n>.. _d-b-w: https://bitbucket.org/d-b-w/\n>.. _DuncanBetts: https://github.com/DuncanBetts\n>.. _dupuy: https://bitbucket.org/dupuy/\n>.. _kerrick-lyft: https://github.com/kerrick-lyft\n>.. _lwm: https://github.com/lwm\n>.. _mbukatov: https://github.com/mbukatov\n>.. _nedbat: https://github.com/nedbat\n>.. _nmundar: https://github.com/nmundar\n\n>.. _2016: https://github.com/pytest-dev/pytest/issues/2016\n>.. _2034: https://github.com/pytest-dev/pytest/issues/2034\n>.. _2038: https://github.com/pytest-dev/pytest/issues/2038\n>.. _2078: https://github.com/pytest-dev/pytest/issues/2078\n>.. _2082: https://github.com/pytest-dev/pytest/issues/2082\n>.. _2089: https://github.com/pytest-dev/pytest/issues/2089\n>.. _2103: https://github.com/pytest-dev/pytest/issues/2103\n>.. _2105: https://github.com/pytest-dev/pytest/issues/2105\n>.. _2111: https://github.com/pytest-dev/pytest/issues/2111\n>.. _478: https://github.com/pytest-dev/pytest/issues/478\n>.. _687: https://github.com/pytest-dev/pytest/issues/687\n\n\n\n\n>### 3.0.4\n\n>=====\n\n>* Import errors when collecting test modules now display the full traceback (`1976`_).\n>  Thanks `cwitty`_ for the report and `nicoddemus`_ for the PR.\n\n>* Fix confusing command-line help message for custom options with two or more ``metavar`` properties (`2004`_).\n>  Thanks `okulynyak`_ and `davehunt`_ for the report and `nicoddemus`_ for the PR.\n\n>* When loading plugins, import errors which contain non-ascii messages are now properly handled in Python 2 (`1998`_).\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Fixed cyclic reference when ``pytest.raises`` is used in context-manager form (`1965`_). Also as a\n>  result of this fix, ``sys.exc_info()`` is left empty in both context-manager and function call usages.\n>  Previously, ``sys.exc_info`` would contain the exception caught by the context manager,\n>  even when the expected exception occurred.\n>  Thanks `MSeifert04`_ for the report and the PR.\n\n>* Fixed false-positives warnings from assertion rewrite hook for modules that were rewritten but\n>  were later marked explicitly by ``pytest.register_assert_rewrite``\n>  or implicitly as a plugin (`2005`_).\n>  Thanks `RonnyPfannschmidt`_ for the report and `nicoddemus`_ for the PR.\n\n>* Report teardown output on test failure (`442`_).\n>  Thanks `matclab`_ for the PR.\n\n>* Fix teardown error message in generated xUnit XML.\n>  Thanks `gdyuldin`_ for the PR.\n\n>* Properly handle exceptions in ``multiprocessing`` tasks (`1984`_).\n>  Thanks `adborden`_ for the report and `nicoddemus`_ for the PR.\n\n>* Clean up unittest TestCase objects after tests are complete (`1649`_).\n>  Thanks `d_b_w`_ for the report and PR.\n\n\n>.. _adborden: https://github.com/adborden\n>.. _cwitty: https://github.com/cwitty\n>.. _d_b_w: https://github.com/d_b_w\n>.. _gdyuldin: https://github.com/gdyuldin\n>.. _matclab: https://github.com/matclab\n>.. _MSeifert04: https://github.com/MSeifert04\n>.. _okulynyak: https://github.com/okulynyak\n\n>.. _442: https://github.com/pytest-dev/pytest/issues/442\n>.. _1965: https://github.com/pytest-dev/pytest/issues/1965\n>.. _1976: https://github.com/pytest-dev/pytest/issues/1976\n>.. _1984: https://github.com/pytest-dev/pytest/issues/1984\n>.. _1998: https://github.com/pytest-dev/pytest/issues/1998\n>.. _2004: https://github.com/pytest-dev/pytest/issues/2004\n>.. _2005: https://github.com/pytest-dev/pytest/issues/2005\n>.. _1649: https://github.com/pytest-dev/pytest/issues/1649\n\n\n\n\n>### 3.0.3\n\n>=====\n\n>* The ``ids`` argument to ``parametrize`` again accepts ``unicode`` strings\n>  in Python 2 (`1905`_).\n>  Thanks `philpep`_ for the report and `nicoddemus`_ for the PR.\n\n>* Assertions are now being rewritten for plugins in development mode\n>  (``pip install -e``) (`1934`_).\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Fix pkg_resources import error in Jython projects (`1853`_).\n>  Thanks `raquel-ucl`_ for the PR.\n\n>* Got rid of ``AttributeError: &#39;Module&#39; object has no attribute &#39;_obj&#39;`` exception\n>  in Python 3 (`1944`_).\n>  Thanks `axil`_ for the PR.\n\n>* Explain a bad scope value passed to ``fixture`` declarations or\n>  a ``MetaFunc.parametrize()`` call. Thanks `tgoodlet`_ for the PR.\n\n>* This version includes ``pluggy-0.4.0``, which correctly handles\n>  ``VersionConflict`` errors in plugins (`704`_).\n>  Thanks `nicoddemus`_ for the PR.\n\n\n>.. _philpep: https://github.com/philpep\n>.. _raquel-ucl: https://github.com/raquel-ucl\n>.. _axil: https://github.com/axil\n>.. _tgoodlet: https://github.com/tgoodlet\n\n>.. _1853: https://github.com/pytest-dev/pytest/issues/1853\n>.. _1905: https://github.com/pytest-dev/pytest/issues/1905\n>.. _1934: https://github.com/pytest-dev/pytest/issues/1934\n>.. _1944: https://github.com/pytest-dev/pytest/issues/1944\n>.. _704: https://github.com/pytest-dev/pytest/issues/704\n\n\n\n\n\n>### 3.0.2\n\n>=====\n\n>* Improve error message when passing non-string ids to ``pytest.mark.parametrize`` (`1857`_).\n>  Thanks `okken`_ for the report and `nicoddemus`_ for the PR.\n\n>* Add ``buffer`` attribute to stdin stub class ``pytest.capture.DontReadFromInput``\n>  Thanks `joguSD`_ for the PR.\n\n>* Fix ``UnicodeEncodeError`` when string comparison with unicode has failed. (`1864`_)\n>  Thanks `AiOO`_ for the PR.\n\n>* ``pytest_plugins`` is now handled correctly if defined as a string (as opposed as\n>  a sequence of strings) when modules are considered for assertion rewriting.\n>  Due to this bug, much more modules were being rewritten than necessary\n>  if a test suite uses ``pytest_plugins`` to load internal plugins (`1888`_).\n>  Thanks `jaraco`_ for the report and `nicoddemus`_ for the PR (`1891`_).\n\n>* Do not call tearDown and cleanups when running tests from\n>  ``unittest.TestCase`` subclasses with ``--pdb``\n>  enabled. This allows proper post mortem debugging for all applications\n>  which have significant logic in their tearDown machinery (`1890`_). Thanks\n>  `mbyt`_ for the PR.\n\n>* Fix use of deprecated ``getfuncargvalue`` method in the internal doctest plugin.\n>  Thanks `ViviCoder`_ for the report (`1898`_).\n\n>.. _joguSD: https://github.com/joguSD\n>.. _AiOO: https://github.com/AiOO\n>.. _mbyt: https://github.com/mbyt\n>.. _ViviCoder: https://github.com/ViviCoder\n\n>.. _1857: https://github.com/pytest-dev/pytest/issues/1857\n>.. _1864: https://github.com/pytest-dev/pytest/issues/1864\n>.. _1888: https://github.com/pytest-dev/pytest/issues/1888\n>.. _1891: https://github.com/pytest-dev/pytest/pull/1891\n>.. _1890: https://github.com/pytest-dev/pytest/issues/1890\n>.. _1898: https://github.com/pytest-dev/pytest/issues/1898\n\n\n\n\n>### 3.0.1\n\n>=====\n\n>* Fix regression when ``importorskip`` is used at module level (`1822`_).\n>  Thanks `jaraco`_ and `The-Compiler`_ for the report and `nicoddemus`_ for the PR.\n\n>* Fix parametrization scope when session fixtures are used in conjunction\n>  with normal parameters in the same call (`1832`_).\n>  Thanks `The-Compiler`_ for the report, `Kingdread`_ and `nicoddemus`_ for the PR.\n\n>* Fix internal error when parametrizing tests or fixtures using an empty ``ids`` argument (`1849`_).\n>  Thanks `OPpuolitaival`_ for the report and `nicoddemus`_ for the PR.\n\n>* Fix loader error when running ``pytest`` embedded in a zipfile.\n>  Thanks `mbachry`_ for the PR.\n\n\n>.. _Kingdread: https://github.com/Kingdread\n>.. _mbachry: https://github.com/mbachry\n>.. _OPpuolitaival: https://github.com/OPpuolitaival\n\n>.. _1822: https://github.com/pytest-dev/pytest/issues/1822\n>.. _1832: https://github.com/pytest-dev/pytest/issues/1832\n>.. _1849: https://github.com/pytest-dev/pytest/issues/1849\n\n\n\n\n>### 3.0.0\n\n>=====\n\n>**Incompatible changes**\n\n\n>A number of incompatible changes were made in this release, with the intent of removing features deprecated for a long\n>time or change existing behaviors in order to make them less surprising/more useful.\n\n>* Reinterpretation mode has now been removed.  Only plain and rewrite\n>  mode are available, consequently the ``--assert=reinterp`` option is\n>  no longer available.  This also means files imported from plugins or\n>  ``conftest.py`` will not benefit from improved assertions by\n>  default, you should use ``pytest.register_assert_rewrite()`` to\n>  explicitly turn on assertion rewriting for those files.  Thanks\n>  `flub`_ for the PR.\n\n>* The following deprecated commandline options were removed:\n\n>  * ``--genscript``: no longer supported;\n>  * ``--no-assert``: use ``--assert=plain`` instead;\n>  * ``--nomagic``: use ``--assert=plain`` instead;\n>  * ``--report``: use ``-r`` instead;\n\n>  Thanks to `RedBeardCode`_ for the PR (`1664`_).\n\n>* ImportErrors in plugins now are a fatal error instead of issuing a\n>  pytest warning (`1479`_). Thanks to `The-Compiler`_ for the PR.\n\n>* Removed support code for Python 3 versions &lt; 3.3 (`1627`_).\n\n>* Removed all ``py.test-X*`` entry points. The versioned, suffixed entry points\n>  were never documented and a leftover from a pre-virtualenv era. These entry\n>  points also created broken entry points in wheels, so removing them also\n>  removes a source of confusion for users (`1632`_).\n>  Thanks `obestwalter`_ for the PR.\n\n>* ``pytest.skip()`` now raises an error when used to decorate a test function,\n>  as opposed to its original intent (to imperatively skip a test inside a test function). Previously\n>  this usage would cause the entire module to be skipped (`607`_).\n>  Thanks `omarkohl`_ for the complete PR (`1519`_).\n\n>* Exit tests if a collection error occurs. A poll indicated most users will hit CTRL-C\n>  anyway as soon as they see collection errors, so pytest might as well make that the default behavior (`1421`_).\n>  A ``--continue-on-collection-errors`` option has been added to restore the previous behaviour.\n>  Thanks `olegpidsadnyi`_ and `omarkohl`_ for the complete PR (`1628`_).\n\n>* Renamed the pytest ``pdb`` module (plugin) into ``debugging`` to avoid clashes with the builtin ``pdb`` module.\n\n>* Raise a helpful failure message when requesting a parametrized fixture at runtime,\n>  e.g. with ``request.getfixturevalue``. Previously these parameters were simply\n>  never defined, so a fixture decorated like ``pytest.fixture(params=[0, 1, 2])``\n>  only ran once (`460`_).\n>  Thanks to `nikratio`_ for the bug report, `RedBeardCode`_ and `tomviner`_ for the PR.\n\n>* ``_pytest.monkeypatch.monkeypatch`` class has been renamed to ``_pytest.monkeypatch.MonkeyPatch``\n>  so it doesn&#39;t conflict with the ``monkeypatch`` fixture.\n\n>* ``--exitfirst / -x`` can now be overridden by a following ``--maxfail=N``\n>  and is just a synonym for ``--maxfail=1``.\n\n\n>**New Features**\n\n>* Support nose-style ``__test__`` attribute on methods of classes,\n>  including unittest-style Classes. If set to ``False``, the test will not be\n>  collected.\n\n>* New ``doctest_namespace`` fixture for injecting names into the\n>  namespace in which doctests run.\n>  Thanks `milliams`_ for the complete PR (`1428`_).\n\n>* New ``--doctest-report`` option available to change the output format of diffs\n>  when running (failing) doctests (implements `1749`_).\n>  Thanks `hartym`_ for the PR.\n\n>* New ``name`` argument to ``pytest.fixture`` decorator which allows a custom name\n>  for a fixture (to solve the funcarg-shadowing-fixture problem).\n>  Thanks `novas0x2a`_ for the complete PR (`1444`_).\n\n>* New ``approx()`` function for easily comparing floating-point numbers in\n>  tests.\n>  Thanks `kalekundert`_ for the complete PR (`1441`_).\n\n>* Ability to add global properties in the final xunit output file by accessing\n>  the internal ``junitxml`` plugin (experimental).\n>  Thanks `tareqalayan`_ for the complete PR `1454`_).\n\n>* New ``ExceptionInfo.match()`` method to match a regular expression on the\n>  string representation of an exception (`372`_).\n>  Thanks `omarkohl`_ for the complete PR (`1502`_).\n\n>* ``__tracebackhide__`` can now also be set to a callable which then can decide\n>  whether to filter the traceback based on the ``ExceptionInfo`` object passed\n>  to it. Thanks `The-Compiler`_ for the complete PR (`1526`_).\n\n>* New ``pytest_make_parametrize_id(config, val)`` hook which can be used by plugins to provide\n>  friendly strings for custom types.\n>  Thanks `palaviv`_ for the PR.\n\n>* ``capsys`` and ``capfd`` now have a ``disabled()`` context-manager method, which\n>  can be used to temporarily disable capture within a test.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* New cli flag ``--fixtures-per-test``: shows which fixtures are being used\n>  for each selected test item. Features doc strings of fixtures by default.\n>  Can also show where fixtures are defined if combined with ``-v``.\n>  Thanks `hackebrot`_ for the PR.\n\n>* Introduce ``pytest`` command as recommended entry point. Note that ``py.test``\n>  still works and is not scheduled for removal. Closes proposal\n>  `1629`_. Thanks `obestwalter`_ and `davehunt`_ for the complete PR\n>  (`1633`_).\n\n>* New cli flags:\n\n>  + ``--setup-plan``: performs normal collection and reports\n>    the potential setup and teardown and does not execute any fixtures and tests;\n>  + ``--setup-only``: performs normal collection, executes setup and teardown of\n>    fixtures and reports them;\n>  + ``--setup-show``: performs normal test execution and additionally shows\n>    setup and teardown of fixtures;\n>  + ``--keep-duplicates``: py.test now ignores duplicated paths given in the command\n>    line. To retain the previous behavior where the same test could be run multiple\n>    times by specifying it in the command-line multiple times, pass the ``--keep-duplicates``\n>    argument (`1609`_);\n\n>  Thanks `d6e`_, `kvas-it`_, `sallner`_, `ioggstream`_ and `omarkohl`_ for the PRs.\n\n>* New CLI flag ``--override-ini``/``-o``: overrides values from the ini file.\n>  For example: ``&quot;-o xfail_strict=True&quot;``&#39;.\n>  Thanks `blueyed`_ and `fengxx`_ for the PR.\n\n>* New hooks:\n\n>  + ``pytest_fixture_setup(fixturedef, request)``: executes fixture setup;\n>  + ``pytest_fixture_post_finalizer(fixturedef)``: called after the fixture&#39;s\n>    finalizer and has access to the fixture&#39;s result cache.\n\n>  Thanks `d6e`_, `sallner`_.\n\n>* Issue warnings for asserts whose test is a tuple literal. Such asserts will\n>  never fail because tuples are always truthy and are usually a mistake\n>  (see `1562`_). Thanks `kvas-it`_, for the PR.\n\n>* Allow passing a custom debugger class (e.g. ``--pdbcls=IPython.core.debugger:Pdb``).\n>  Thanks to `anntzer`_ for the PR.\n\n\n>**Changes**\n\n>* Plugins now benefit from assertion rewriting.  Thanks\n>  `sober7`_, `nicoddemus`_ and `flub`_ for the PR.\n\n>* Change ``report.outcome`` for ``xpassed`` tests to ``&quot;passed&quot;`` in non-strict\n>  mode and ``&quot;failed&quot;`` in strict mode. Thanks to `hackebrot`_ for the PR\n>  (`1795`_) and `gprasad84`_ for report (`1546`_).\n\n>* Tests marked with ``xfail(strict=False)`` (the default) now appear in\n>  JUnitXML reports as passing tests instead of skipped.\n>  Thanks to `hackebrot`_ for the PR (`1795`_).\n\n>* Highlight path of the file location in the error report to make it easier to copy/paste.\n>  Thanks `suzaku`_ for the PR (`1778`_).\n\n>* Fixtures marked with ``pytest.fixture`` can now use ``yield`` statements exactly like\n>  those marked with the ``pytest.yield_fixture`` decorator. This change renders\n>  ``pytest.yield_fixture`` deprecated and makes ``pytest.fixture`` with ``yield`` statements\n>  the preferred way to write teardown code (`1461`_).\n>  Thanks `csaftoiu`_ for bringing this to attention and `nicoddemus`_ for the PR.\n\n>* Explicitly passed parametrize ids do not get escaped to ascii (`1351`_).\n>  Thanks `ceridwen`_ for the PR.\n\n>* Fixtures are now sorted in the error message displayed when an unknown\n>  fixture is declared in a test function.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* ``pytest_terminal_summary`` hook now receives the ``exitstatus``\n>  of the test session as argument. Thanks `blueyed`_ for the PR (`1809`_).\n\n>* Parametrize ids can accept ``None`` as specific test id, in which case the\n>  automatically generated id for that argument will be used.\n>  Thanks `palaviv`_ for the complete PR (`1468`_).\n\n>* The parameter to xunit-style setup/teardown methods (``setup_method``,\n>  ``setup_module``, etc.) is now optional and may be omitted.\n>  Thanks `okken`_ for bringing this to attention and `nicoddemus`_ for the PR.\n\n>* Improved automatic id generation selection in case of duplicate ids in\n>  parametrize.\n>  Thanks `palaviv`_ for the complete PR (`1474`_).\n\n>* Now pytest warnings summary is shown up by default. Added a new flag\n>  ``--disable-pytest-warnings`` to explicitly disable the warnings summary (`1668`_).\n\n>* Make ImportError during collection more explicit by reminding\n>  the user to check the name of the test module/package(s) (`1426`_).\n>  Thanks `omarkohl`_ for the complete PR (`1520`_).\n\n>* Add ``build/`` and ``dist/`` to the default ``--norecursedirs`` list. Thanks\n>  `mikofski`_ for the report and `tomviner`_ for the PR (`1544`_).\n\n>* ``pytest.raises`` in the context manager form accepts a custom\n>  ``message`` to raise when no exception occurred.\n>  Thanks `palaviv`_ for the complete PR (`1616`_).\n\n>* ``conftest.py`` files now benefit from assertion rewriting; previously it\n>  was only available for test modules. Thanks `flub`_, `sober7`_ and\n>  `nicoddemus`_ for the PR (`1619`_).\n\n>* Text documents without any doctests no longer appear as &quot;skipped&quot;.\n>  Thanks `graingert`_ for reporting and providing a full PR (`1580`_).\n\n>* Ensure that a module within a namespace package can be found when it\n>  is specified on the command line together with the ``--pyargs``\n>  option.  Thanks to `taschini`_ for the PR (`1597`_).\n\n>* Always include full assertion explanation during assertion rewriting. The previous behaviour was hiding\n>  sub-expressions that happened to be ``False``, assuming this was redundant information.\n>  Thanks `bagerard`_ for reporting (`1503`_). Thanks to `davehunt`_ and\n>  `tomviner`_ for the PR.\n\n>* ``OptionGroup.addoption()`` now checks if option names were already\n>  added before, to make it easier to track down issues like `1618`_.\n>  Before, you only got exceptions later from ``argparse`` library,\n>  giving no clue about the actual reason for double-added options.\n\n>* ``yield``-based tests are considered deprecated and will be removed in pytest-4.0.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* ``[pytest]`` sections in ``setup.cfg`` files should now be named ``[tool:pytest]``\n>  to avoid conflicts with other distutils commands (see `567`_). ``[pytest]`` sections in\n>  ``pytest.ini`` or ``tox.ini`` files are supported and unchanged.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Using ``pytest_funcarg__`` prefix to declare fixtures is considered deprecated and will be\n>  removed in pytest-4.0 (`1684`_).\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Passing a command-line string to ``pytest.main()`` is considered deprecated and scheduled\n>  for removal in pytest-4.0. It is recommended to pass a list of arguments instead (`1723`_).\n\n>* Rename ``getfuncargvalue`` to ``getfixturevalue``. ``getfuncargvalue`` is\n>  still present but is now considered deprecated. Thanks to `RedBeardCode`_ and `tomviner`_\n>  for the PR (`1626`_).\n\n>* ``optparse`` type usage now triggers DeprecationWarnings (`1740`_).\n\n\n>* ``optparse`` backward compatibility supports float/complex types (`457`_).\n\n>* Refined logic for determining the ``rootdir``, considering only valid\n>  paths which fixes a number of issues: `1594`_, `1435`_ and `1471`_.\n>  Updated the documentation according to current behavior. Thanks to\n>  `blueyed`_, `davehunt`_ and `matthiasha`_ for the PR.\n\n>* Always include full assertion explanation. The previous behaviour was hiding\n>  sub-expressions that happened to be False, assuming this was redundant information.\n>  Thanks `bagerard`_ for reporting (`1503`_). Thanks to `davehunt`_ and\n>  `tomviner`_ for PR.\n\n>* Better message in case of not using parametrized variable (see `1539`_).\n>  Thanks to `tramwaj29`_ for the PR.\n\n>* Updated docstrings with a more uniform style.\n\n>* Add stderr write for ``pytest.exit(msg)`` during startup. Previously the message was never shown.\n>  Thanks `BeyondEvil`_ for reporting `1210`_. Thanks to `JonathonSonesen`_ and\n>  `tomviner`_ for the PR.\n\n>* No longer display the incorrect test deselection reason (`1372`_).\n>  Thanks `ronnypfannschmidt`_ for the PR.\n\n>* The ``--resultlog`` command line option has been deprecated: it is little used\n>  and there are more modern and better alternatives (see `830`_).\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Improve error message with fixture lookup errors: add an &#39;E&#39; to the first\n>  line and &#39;&gt;&#39; to the rest. Fixes `717`_. Thanks `blueyed`_ for reporting and\n>  a PR, `eolo999`_ for the initial PR and `tomviner`_ for his guidance during\n>  EuroPython2016 sprint.\n\n\n>**Bug Fixes**\n\n>* Parametrize now correctly handles duplicated test ids.\n\n>* Fix internal error issue when the ``method`` argument is missing for\n>  ``teardown_method()`` (`1605`_).\n\n>* Fix exception visualization in case the current working directory (CWD) gets\n>  deleted during testing (`1235`_). Thanks `bukzor`_ for reporting. PR by\n>  `marscher`_.\n\n>* Improve test output for logical expression with brackets (`925`_).\n>  Thanks `DRMacIver`_ for reporting and `RedBeardCode`_ for the PR.\n\n>* Create correct diff for strings ending with newlines (`1553`_).\n>  Thanks `Vogtinator`_ for reporting and `RedBeardCode`_ and\n>  `tomviner`_ for the PR.\n\n>* ``ConftestImportFailure`` now shows the traceback making it easier to\n>  identify bugs in ``conftest.py`` files (`1516`_). Thanks `txomon`_ for\n>  the PR.\n\n>* Text documents without any doctests no longer appear as &quot;skipped&quot;.\n>  Thanks `graingert`_ for reporting and providing a full PR (`1580`_).\n\n>* Fixed collection of classes with custom ``__new__`` method.\n>  Fixes `1579`_. Thanks to `Stranger6667`_ for the PR.\n\n>* Fixed scope overriding inside metafunc.parametrize (`634`_).\n>  Thanks to `Stranger6667`_ for the PR.\n\n>* Fixed the total tests tally in junit xml output (`1798`_).\n>  Thanks to `cryporchild`_ for the PR.\n\n>* Fixed off-by-one error with lines from ``request.node.warn``.\n>  Thanks to `blueyed`_ for the PR.\n\n\n>.. _1210: https://github.com/pytest-dev/pytest/issues/1210\n>.. _1235: https://github.com/pytest-dev/pytest/issues/1235\n>.. _1351: https://github.com/pytest-dev/pytest/issues/1351\n>.. _1372: https://github.com/pytest-dev/pytest/issues/1372\n>.. _1421: https://github.com/pytest-dev/pytest/issues/1421\n>.. _1426: https://github.com/pytest-dev/pytest/issues/1426\n>.. _1428: https://github.com/pytest-dev/pytest/pull/1428\n>.. _1435: https://github.com/pytest-dev/pytest/issues/1435\n>.. _1441: https://github.com/pytest-dev/pytest/pull/1441\n>.. _1444: https://github.com/pytest-dev/pytest/pull/1444\n>.. _1454: https://github.com/pytest-dev/pytest/pull/1454\n>.. _1461: https://github.com/pytest-dev/pytest/pull/1461\n>.. _1468: https://github.com/pytest-dev/pytest/pull/1468\n>.. _1471: https://github.com/pytest-dev/pytest/issues/1471\n>.. _1474: https://github.com/pytest-dev/pytest/pull/1474\n>.. _1479: https://github.com/pytest-dev/pytest/issues/1479\n>.. _1502: https://github.com/pytest-dev/pytest/pull/1502\n>.. _1503: https://github.com/pytest-dev/pytest/issues/1503\n>.. _1516: https://github.com/pytest-dev/pytest/pull/1516\n>.. _1519: https://github.com/pytest-dev/pytest/pull/1519\n>.. _1520: https://github.com/pytest-dev/pytest/pull/1520\n>.. _1526: https://github.com/pytest-dev/pytest/pull/1526\n>.. _1539: https://github.com/pytest-dev/pytest/issues/1539\n>.. _1544: https://github.com/pytest-dev/pytest/issues/1544\n>.. _1546: https://github.com/pytest-dev/pytest/issues/1546\n>.. _1553: https://github.com/pytest-dev/pytest/issues/1553\n>.. _1562: https://github.com/pytest-dev/pytest/issues/1562\n>.. _1579: https://github.com/pytest-dev/pytest/issues/1579\n>.. _1580: https://github.com/pytest-dev/pytest/pull/1580\n>.. _1594: https://github.com/pytest-dev/pytest/issues/1594\n>.. _1597: https://github.com/pytest-dev/pytest/pull/1597\n>.. _1605: https://github.com/pytest-dev/pytest/issues/1605\n>.. _1616: https://github.com/pytest-dev/pytest/pull/1616\n>.. _1618: https://github.com/pytest-dev/pytest/issues/1618\n>.. _1619: https://github.com/pytest-dev/pytest/issues/1619\n>.. _1626: https://github.com/pytest-dev/pytest/pull/1626\n>.. _1627: https://github.com/pytest-dev/pytest/pull/1627\n>.. _1628: https://github.com/pytest-dev/pytest/pull/1628\n>.. _1629: https://github.com/pytest-dev/pytest/issues/1629\n>.. _1632: https://github.com/pytest-dev/pytest/issues/1632\n>.. _1633: https://github.com/pytest-dev/pytest/pull/1633\n>.. _1664: https://github.com/pytest-dev/pytest/pull/1664\n>.. _1668: https://github.com/pytest-dev/pytest/issues/1668\n>.. _1684: https://github.com/pytest-dev/pytest/pull/1684\n>.. _1723: https://github.com/pytest-dev/pytest/pull/1723\n>.. _1740: https://github.com/pytest-dev/pytest/issues/1740\n>.. _1749: https://github.com/pytest-dev/pytest/issues/1749\n>.. _1778: https://github.com/pytest-dev/pytest/pull/1778\n>.. _1795: https://github.com/pytest-dev/pytest/pull/1795\n>.. _1798: https://github.com/pytest-dev/pytest/pull/1798\n>.. _1809: https://github.com/pytest-dev/pytest/pull/1809\n>.. _372: https://github.com/pytest-dev/pytest/issues/372\n>.. _457: https://github.com/pytest-dev/pytest/issues/457\n>.. _460: https://github.com/pytest-dev/pytest/pull/460\n>.. _567: https://github.com/pytest-dev/pytest/pull/567\n>.. _607: https://github.com/pytest-dev/pytest/issues/607\n>.. _634: https://github.com/pytest-dev/pytest/issues/634\n>.. _717: https://github.com/pytest-dev/pytest/issues/717\n>.. _830: https://github.com/pytest-dev/pytest/issues/830\n>.. _925: https://github.com/pytest-dev/pytest/issues/925\n\n\n>.. _anntzer: https://github.com/anntzer\n>.. _bagerard: https://github.com/bagerard\n>.. _BeyondEvil: https://github.com/BeyondEvil\n>.. _blueyed: https://github.com/blueyed\n>.. _ceridwen: https://github.com/ceridwen\n>.. _cryporchild: https://github.com/cryporchild\n>.. _csaftoiu: https://github.com/csaftoiu\n>.. _d6e: https://github.com/d6e\n>.. _davehunt: https://github.com/davehunt\n>.. _DRMacIver: https://github.com/DRMacIver\n>.. _eolo999: https://github.com/eolo999\n>.. _fengxx: https://github.com/fengxx\n>.. _flub: https://github.com/flub\n>.. _gprasad84: https://github.com/gprasad84\n>.. _graingert: https://github.com/graingert\n>.. _hartym: https://github.com/hartym\n>.. _JonathonSonesen: https://github.com/JonathonSonesen\n>.. _kalekundert: https://github.com/kalekundert\n>.. _kvas-it: https://github.com/kvas-it\n>.. _marscher: https://github.com/marscher\n>.. _mikofski: https://github.com/mikofski\n>.. _milliams: https://github.com/milliams\n>.. _nikratio: https://github.com/nikratio\n>.. _novas0x2a: https://github.com/novas0x2a\n>.. _obestwalter: https://github.com/obestwalter\n>.. _okken: https://github.com/okken\n>.. _olegpidsadnyi: https://github.com/olegpidsadnyi\n>.. _omarkohl: https://github.com/omarkohl\n>.. _palaviv: https://github.com/palaviv\n>.. _RedBeardCode: https://github.com/RedBeardCode\n>.. _sallner: https://github.com/sallner\n>.. _sober7: https://github.com/sober7\n>.. _Stranger6667: https://github.com/Stranger6667\n>.. _suzaku: https://github.com/suzaku\n>.. _tareqalayan: https://github.com/tareqalayan\n>.. _taschini: https://github.com/taschini\n>.. _tramwaj29: https://github.com/tramwaj29\n>.. _txomon: https://github.com/txomon\n>.. _Vogtinator: https://github.com/Vogtinator\n>.. _matthiasha: https://github.com/matthiasha\n\n\n\n\n>### 2.9.2\n\n>=====\n\n>**Bug Fixes**\n\n>* fix `510`_: skip tests where one parameterize dimension was empty\n>  thanks Alex Stapleton for the Report and `RonnyPfannschmidt`_ for the PR\n\n>* Fix Xfail does not work with condition keyword argument.\n>  Thanks `astraw38`_ for reporting the issue (`1496`_) and `tomviner`_\n>  for PR the (`1524`_).\n\n>* Fix win32 path issue when puttinging custom config file with absolute path\n>  in ``pytest.main(&quot;-c your_absolute_path&quot;)``.\n\n>* Fix maximum recursion depth detection when raised error class is not aware\n>  of unicode/encoded bytes.\n>  Thanks `prusse-martin`_ for the PR (`1506`_).\n\n>* Fix ``pytest.mark.skip`` mark when used in strict mode.\n>  Thanks `pquentin`_ for the PR and `RonnyPfannschmidt`_ for\n>  showing how to fix the bug.\n\n>* Minor improvements and fixes to the documentation.\n>  Thanks `omarkohl`_ for the PR.\n\n>* Fix ``--fixtures`` to show all fixture definitions as opposed to just\n>  one per fixture name.\n>  Thanks to `hackebrot`_ for the PR.\n\n>.. _510: https://github.com/pytest-dev/pytest/issues/510\n>.. _1506: https://github.com/pytest-dev/pytest/pull/1506\n>.. _1496: https://github.com/pytest-dev/pytest/issues/1496\n>.. _1524: https://github.com/pytest-dev/pytest/pull/1524\n\n>.. _prusse-martin: https://github.com/prusse-martin\n>.. _astraw38: https://github.com/astraw38\n\n\n\n\n>### 2.9.1\n\n>=====\n\n>**Bug Fixes**\n\n>* Improve error message when a plugin fails to load.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Fix (`1178 &lt;https://github.com/pytest-dev/pytest/issues/1178&gt;`_):\n>  ``pytest.fail`` with non-ascii characters raises an internal pytest error.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Fix (`469`_): junit parses report.nodeid incorrectly, when params IDs\n>  contain ``::``. Thanks `tomviner`_ for the PR (`1431`_).\n\n>* Fix (`578 &lt;https://github.com/pytest-dev/pytest/issues/578&gt;`_): SyntaxErrors\n>  containing non-ascii lines at the point of failure generated an internal\n>  py.test error.\n>  Thanks `asottile`_ for the report and `nicoddemus`_ for the PR.\n\n>* Fix (`1437`_): When passing in a bytestring regex pattern to parameterize\n>  attempt to decode it as utf-8 ignoring errors.\n\n>* Fix (`649`_): parametrized test nodes cannot be specified to run on the command line.\n\n>* Fix (`138`_): better reporting for python 3.3+ chained exceptions\n\n>.. _1437: https://github.com/pytest-dev/pytest/issues/1437\n>.. _469: https://github.com/pytest-dev/pytest/issues/469\n>.. _1431: https://github.com/pytest-dev/pytest/pull/1431\n>.. _649: https://github.com/pytest-dev/pytest/issues/649\n>.. _138: https://github.com/pytest-dev/pytest/issues/138\n\n>.. _asottile: https://github.com/asottile\n\n\n\n\n>### 2.9.0\n\n>=====\n\n>**New Features**\n\n>* New ``pytest.mark.skip`` mark, which unconditionally skips marked tests.\n>  Thanks `MichaelAquilina`_ for the complete PR (`1040`_).\n\n>* ``--doctest-glob`` may now be passed multiple times in the command-line.\n>  Thanks `jab`_ and `nicoddemus`_ for the PR.\n\n>* New ``-rp`` and ``-rP`` reporting options give the summary and full output\n>  of passing tests, respectively. Thanks to `codewarrior0`_ for the PR.\n\n>* ``pytest.mark.xfail`` now has a ``strict`` option, which makes ``XPASS``\n>  tests to fail the test suite (defaulting to ``False``). There&#39;s also a\n>  ``xfail_strict`` ini option that can be used to configure it project-wise.\n>  Thanks `rabbbit`_ for the request and `nicoddemus`_ for the PR (`1355`_).\n\n>* ``Parser.addini`` now supports options of type ``bool``.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* New ``ALLOW_BYTES`` doctest option. This strips ``b`` prefixes from byte strings\n>  in doctest output (similar to ``ALLOW_UNICODE``).\n>  Thanks `jaraco`_ for the request and `nicoddemus`_ for the PR (`1287`_).\n\n>* Give a hint on ``KeyboardInterrupt`` to use the ``--fulltrace`` option to show the errors.\n>  Fixes `1366`_.\n>  Thanks to `hpk42`_ for the report and `RonnyPfannschmidt`_ for the PR.\n\n>* Catch ``IndexError`` exceptions when getting exception source location.\n>  Fixes a pytest internal error for dynamically generated code (fixtures and tests)\n>  where source lines are fake by intention.\n\n>**Changes**\n\n>* **Important**: `py.code &lt;https://pylib.readthedocs.io/en/latest/code.html&gt;`_ has been\n>  merged into the ``pytest`` repository as ``pytest._code``. This decision\n>  was made because ``py.code`` had very few uses outside ``pytest`` and the\n>  fact that it was in a different repository made it difficult to fix bugs on\n>  its code in a timely manner. The team hopes with this to be able to better\n>  refactor out and improve that code.\n>  This change shouldn&#39;t affect users, but it is useful to let users aware\n>  if they encounter any strange behavior.\n\n>  Keep in mind that the code for ``pytest._code`` is **private** and\n>  **experimental**, so you definitely should not import it explicitly!\n\n>  Please note that the original ``py.code`` is still available in\n>  `pylib &lt;https://pylib.readthedocs.io&gt;`_.\n\n>* ``pytest_enter_pdb`` now optionally receives the pytest config object.\n>  Thanks `nicoddemus`_ for the PR.\n\n>* Removed code and documentation for Python 2.5 or lower versions,\n>  including removal of the obsolete ``_pytest.assertion.oldinterpret`` module.\n>  Thanks `nicoddemus`_ for the PR (`1226`_).\n\n>* Comparisons now always show up in full when ``CI`` or ``BUILD_NUMBER`` is\n>  found in the environment, even when ``-vv`` isn&#39;t used.\n>  Thanks `The-Compiler`_ for the PR.\n\n>* ``--lf`` and ``--ff`` now support long names: ``--last-failed`` and\n>  ``--failed-first`` respectively.\n>  Thanks `MichaelAquilina`_ for the PR.\n\n>* Added expected exceptions to ``pytest.raises`` fail message.\n\n>* Collection only displays progress (&quot;collecting X items&quot;) when in a terminal.\n>  This avoids cluttering the output when using ``--color=yes`` to obtain\n>  colors in CI integrations systems (`1397`_).\n\n>**Bug Fixes**\n\n>* The ``-s`` and ``-c`` options should now work under ``xdist``;\n>  ``Config.fromdictargs`` now represents its input much more faithfully.\n>  Thanks to `bukzor`_ for the complete PR (`680`_).\n\n>* Fix (`1290`_): support Python 3.5&#39;s ```` operator in assertion rewriting.\n>  Thanks `Shinkenjoe`_ for report with test case and `tomviner`_ for the PR.\n\n>* Fix formatting utf-8 explanation messages (`1379`_).\n>  Thanks `biern`_ for the PR.\n\n>* Fix `traceback style docs`_ to describe all of the available options\n>  (auto/long/short/line/native/no), with ``auto`` being the default since v2.6.\n>  Thanks `hackebrot`_ for the PR.\n\n>* Fix (`1422`_): junit record_xml_property doesn&#39;t allow multiple records\n>  with same name.\n\n>.. _`traceback style docs`: https://pytest.org/latest/usage.htmlmodifying-python-traceback-printing\n\n>.. _1609: https://github.com/pytest-dev/pytest/issues/1609\n>.. _1422: https://github.com/pytest-dev/pytest/issues/1422\n>.. _1379: https://github.com/pytest-dev/pytest/issues/1379\n>.. _1366: https://github.com/pytest-dev/pytest/issues/1366\n>.. _1040: https://github.com/pytest-dev/pytest/pull/1040\n>.. _680: https://github.com/pytest-dev/pytest/issues/680\n>.. _1287: https://github.com/pytest-dev/pytest/pull/1287\n>.. _1226: https://github.com/pytest-dev/pytest/pull/1226\n>.. _1290: https://github.com/pytest-dev/pytest/pull/1290\n>.. _1355: https://github.com/pytest-dev/pytest/pull/1355\n>.. _1397: https://github.com/pytest-dev/pytest/issues/1397\n>.. _biern: https://github.com/biern\n>.. _MichaelAquilina: https://github.com/MichaelAquilina\n>.. _bukzor: https://github.com/bukzor\n>.. _hpk42: https://github.com/hpk42\n>.. _nicoddemus: https://github.com/nicoddemus\n>.. _jab: https://github.com/jab\n>.. _codewarrior0: https://github.com/codewarrior0\n>.. _jaraco: https://github.com/jaraco\n>.. _The-Compiler: https://github.com/The-Compiler\n>.. _Shinkenjoe: https://github.com/Shinkenjoe\n>.. _tomviner: https://github.com/tomviner\n>.. _RonnyPfannschmidt: https://github.com/RonnyPfannschmidt\n>.. _rabbbit: https://github.com/rabbbit\n>.. _hackebrot: https://github.com/hackebrot\n>.. _pquentin: https://github.com/pquentin\n>.. _ioggstream: https://github.com/ioggstream\n\n\n\n>### 2.8.7\n\n>=====\n\n>- fix 1338: use predictable object resolution for monkeypatch\n\n\n\n>### 2.8.6\n\n>=====\n\n>- fix 1259: allow for double nodeids in junitxml,\n>  this was a regression failing plugins combinations\n>  like pytest-pep8 + pytest-flakes\n\n>- Workaround for exception that occurs in pyreadline when using\n>  ``--pdb`` with standard I/O capture enabled.\n>  Thanks Erik M. Bray for the PR.\n\n>- fix 900: Better error message in case the target of a ``monkeypatch`` call\n>  raises an ``ImportError``.\n\n>- fix 1292: monkeypatch calls (setattr, setenv, etc.) are now O(1).\n>  Thanks David R. MacIver for the report and Bruno Oliveira for the PR.\n\n>- fix 1223: captured stdout and stderr are now properly displayed before\n>  entering pdb when ``--pdb`` is used instead of being thrown away.\n>  Thanks Cal Leeming for the PR.\n\n>- fix 1305: pytest warnings emitted during ``pytest_terminal_summary`` are now\n>  properly displayed.\n>  Thanks Ionel Maries Cristian for the report and Bruno Oliveira for the PR.\n\n>- fix 628: fixed internal UnicodeDecodeError when doctests contain unicode.\n>  Thanks Jason R. Coombs for the report and Bruno Oliveira for the PR.\n\n>- fix 1334: Add captured stdout to jUnit XML report on setup error.\n>  Thanks Georgy Dyuldin for the PR.\n\n\n\n\n>### 2.8.5\n\n>=====\n\n>- fix 1243: fixed issue where class attributes injected during collection could break pytest.\n>  PR by Alexei Kozlenok, thanks Ronny Pfannschmidt and Bruno Oliveira for the review and help.\n\n>- fix 1074: precompute junitxml chunks instead of storing the whole tree in objects\n>  Thanks Bruno Oliveira for the report and Ronny Pfannschmidt for the PR\n\n>- fix 1238: fix ``pytest.deprecated_call()`` receiving multiple arguments\n>  (Regression introduced in 2.8.4). Thanks Alex Gaynor for the report and\n>  Bruno Oliveira for the PR.\n\n\n\n\n>### 2.8.4\n\n>=====\n\n>- fix 1190: ``deprecated_call()`` now works when the deprecated\n>  function has been already called by another test in the same\n>  module. Thanks Mikhail Chernykh for the report and Bruno Oliveira for the\n>  PR.\n\n>- fix 1198: ``--pastebin`` option now works on Python 3. Thanks\n>  Mehdy Khoshnoody for the PR.\n\n>- fix 1219: ``--pastebin`` now works correctly when captured output contains\n>  non-ascii characters. Thanks Bruno Oliveira for the PR.\n\n>- fix 1204: another error when collecting with a nasty __getattr__().\n>  Thanks Florian Bruhin for the PR.\n\n>- fix the summary printed when no tests did run.\n>  Thanks Florian Bruhin for the PR.\n>- fix 1185 - ensure MANIFEST.in exactly matches what should go to a sdist\n\n>- a number of documentation modernizations wrt good practices.\n>  Thanks Bruno Oliveira for the PR.\n\n\n\n>### 2.8.3\n\n>=====\n\n>- fix 1169: add __name__ attribute to testcases in TestCaseFunction to\n>  support the unittest.skip decorator on functions and methods.\n>  Thanks Lee Kamentsky for the PR.\n\n>- fix 1035: collecting tests if test module level obj has __getattr__().\n>  Thanks Suor for the report and Bruno Oliveira / Tom Viner for the PR.\n\n>- fix 331: don&#39;t collect tests if their failure cannot be reported correctly\n>  e.g. they are a callable instance of a class.\n\n>- fix 1133: fixed internal error when filtering tracebacks where one entry\n>  belongs to a file which is no longer available.\n>  Thanks Bruno Oliveira for the PR.\n\n>- enhancement made to highlight in red the name of the failing tests so\n>  they stand out in the output.\n>  Thanks Gabriel Reis for the PR.\n\n>- add more talks to the documentation\n>- extend documentation on the --ignore cli option\n>- use pytest-runner for setuptools integration\n>- minor fixes for interaction with OS X El Capitan\n>  system integrity protection (thanks Florian)\n\n\n\n\n>### 2.8.2\n\n>=====\n\n>- fix 1085: proper handling of encoding errors when passing encoded byte\n>  strings to pytest.parametrize in Python 2.\n>  Thanks Themanwithoutaplan for the report and Bruno Oliveira for the PR.\n\n>- fix 1087: handling SystemError when passing empty byte strings to\n>  pytest.parametrize in Python 3.\n>  Thanks Paul Kehrer for the report and Bruno Oliveira for the PR.\n\n>- fix 995: fixed internal error when filtering tracebacks where one entry\n>  was generated by an exec() statement.\n>  Thanks Daniel Hahler, Ashley C Straw, Philippe Gauthier and Pavel Savchenko\n>  for contributing and Bruno Oliveira for the PR.\n\n>- fix 1100 and 1057: errors when using autouse fixtures and doctest modules.\n>  Thanks Sergey B Kirpichev and Vital Kudzelka for contributing and Bruno\n>  Oliveira for the PR.\n\n\n\n>### 2.8.1\n\n>=====\n\n>- fix 1034: Add missing nodeid on pytest_logwarning call in\n>  addhook.  Thanks Simon Gomizelj for the PR.\n\n>- &#39;deprecated_call&#39; is now only satisfied with a DeprecationWarning or\n>  PendingDeprecationWarning. Before 2.8.0, it accepted any warning, and 2.8.0\n>  made it accept only DeprecationWarning (but not PendingDeprecationWarning).\n>  Thanks Alex Gaynor for the issue and Eric Hunsberger for the PR.\n\n>- fix issue 1073: avoid calling __getattr__ on potential plugin objects.\n>  This fixes an incompatibility with pytest-django.  Thanks Andreas Pelme,\n>  Bruno Oliveira and Ronny Pfannschmidt for contributing and Holger Krekel\n>  for the fix.\n\n>- Fix issue 704: handle versionconflict during plugin loading more\n>  gracefully.  Thanks Bruno Oliveira for the PR.\n\n>- Fix issue 1064: &quot;&quot;--junitxml&quot; regression when used with the\n>  &quot;pytest-xdist&quot; plugin, with test reports being assigned to the wrong tests.\n>  Thanks Daniel Grunwald for the report and Bruno Oliveira for the PR.\n\n>- (experimental) adapt more SEMVER style versioning and change meaning of\n>  master branch in git repo: &quot;master&quot; branch now keeps the bugfixes, changes\n>  aimed for micro releases.  &quot;features&quot; branch will only be be released\n>  with minor or major pytest releases.\n\n>- Fix issue 766 by removing documentation references to distutils.\n>  Thanks Russel Winder.\n\n>- Fix issue 1030: now byte-strings are escaped to produce item node ids\n>  to make them always serializable.\n>  Thanks Andy Freeland for the report and Bruno Oliveira for the PR.\n\n>- Python 2: if unicode parametrized values are convertible to ascii, their\n>  ascii representation is used for the node id.\n\n>- Fix issue 411: Add __eq__ method to assertion comparison example.\n>  Thanks Ben Webb.\n>- Fix issue 653: deprecated_call can be used as context manager.\n\n>- fix issue 877: properly handle assertion explanations with non-ascii repr\n>  Thanks Mathieu Agopian for the report and Ronny Pfannschmidt for the PR.\n\n>- fix issue 1029: transform errors when writing cache values into pytest-warnings\n\n\n\n>### 2.8.0\n\n>=====\n\n>- new ``--lf`` and ``-ff`` options to run only the last failing tests or\n>  &quot;failing tests first&quot; from the last run.  This functionality is provided\n>  through porting the formerly external pytest-cache plugin into pytest core.\n>  BACKWARD INCOMPAT: if you used pytest-cache&#39;s functionality to persist\n>  data between test runs be aware that we don&#39;t serialize sets anymore.\n>  Thanks Ronny Pfannschmidt for most of the merging work.\n\n>- &quot;-r&quot; option now accepts &quot;a&quot; to include all possible reports, similar\n>  to passing &quot;fEsxXw&quot; explicitly (isse960).\n>  Thanks Abhijeet Kasurde for the PR.\n\n>- avoid python3.5 deprecation warnings by introducing version\n>  specific inspection helpers, thanks Michael Droettboom.\n\n>- fix issue562: nose.tools.istest now fully respected.\n\n>- fix issue934: when string comparison fails and a diff is too large to display\n>  without passing -vv, still show a few lines of the diff.\n>  Thanks Florian Bruhin for the report and Bruno Oliveira for the PR.\n\n>- fix issue736: Fix a bug where fixture params would be discarded when combined\n>  with parametrization markers.\n>  Thanks to Markus Unterwaditzer for the PR.\n\n>- fix issue710: introduce ALLOW_UNICODE doctest option: when enabled, the\n>  ``u`` prefix is stripped from unicode strings in expected doctest output. This\n>  allows doctests which use unicode to run in Python 2 and 3 unchanged.\n>  Thanks Jason R. Coombs for the report and Bruno Oliveira for the PR.\n\n>- parametrize now also generates meaningful test IDs for enum, regex and class\n>  objects (as opposed to class instances).\n>  Thanks to Florian Bruhin for the PR.\n\n>- Add &#39;warns&#39; to assert that warnings are thrown (like &#39;raises&#39;).\n>  Thanks to Eric Hunsberger for the PR.\n\n>- Fix issue683: Do not apply an already applied mark.  Thanks ojake for the PR.\n\n>- Deal with capturing failures better so fewer exceptions get lost to\n>  /dev/null.  Thanks David Szotten for the PR.\n\n>- fix issue730: deprecate and warn about the --genscript option.\n>  Thanks Ronny Pfannschmidt for the report and Christian Pommranz for the PR.\n\n>- fix issue751: multiple parametrize with ids bug if it parametrizes class with\n>  two or more test methods. Thanks Sergey Chipiga for reporting and Jan\n>  Bednarik for PR.\n\n>- fix issue82: avoid loading conftest files from setup.cfg/pytest.ini/tox.ini\n>  files and upwards by default (--confcutdir can still be set to override this).\n>  Thanks Bruno Oliveira for the PR.\n\n>- fix issue768: docstrings found in python modules were not setting up session\n>  fixtures. Thanks Jason R. Coombs for reporting and Bruno Oliveira for the PR.\n\n>- added ``tmpdir_factory``, a session-scoped fixture that can be used to create\n>  directories under the base temporary directory. Previously this object was\n>  installed as a ``_tmpdirhandler`` attribute of the ``config`` object, but now it\n>  is part of the official API and using ``config._tmpdirhandler`` is\n>  deprecated.\n>  Thanks Bruno Oliveira for the PR.\n\n>- fix issue808: pytest&#39;s internal assertion rewrite hook now implements the\n>  optional PEP302 get_data API so tests can access data files next to them.\n>  Thanks xmo-odoo for request and example and Bruno Oliveira for\n>  the PR.\n\n>- rootdir and inifile are now displayed during usage errors to help\n>  users diagnose problems such as unexpected ini files which add\n>  unknown options being picked up by pytest. Thanks to Pavel Savchenko for\n>  bringing the problem to attention in 821 and Bruno Oliveira for the PR.\n\n>- Summary bar now is colored yellow for warning\n>  situations such as: all tests either were skipped or xpass/xfailed,\n>  or no tests were run at all (this is a partial fix for issue500).\n\n>- fix issue812: pytest now exits with status code 5 in situations where no\n>  tests were run at all, such as the directory given in the command line does\n>  not contain any tests or as result of a command line option filters\n>  all out all tests (-k for example).\n>  Thanks Eric Siegerman (issue812) and Bruno Oliveira for the PR.\n\n>- Summary bar now is colored yellow for warning\n>  situations such as: all tests either were skipped or xpass/xfailed,\n>  or no tests were run at all (related to issue500).\n>  Thanks Eric Siegerman.\n\n>- New ``testpaths`` ini option: list of directories to search for tests\n>  when executing pytest from the root directory. This can be used\n>  to speed up test collection when a project has well specified directories\n>  for tests, being usually more practical than configuring norecursedirs for\n>  all directories that do not contain tests.\n>  Thanks to Adrian for idea (694) and Bruno Oliveira for the PR.\n\n>- fix issue713: JUnit XML reports for doctest failures.\n>  Thanks Punyashloka Biswal.\n\n>- fix issue970: internal pytest warnings now appear as &quot;pytest-warnings&quot; in\n>  the terminal instead of &quot;warnings&quot;, so it is clear for users that those\n>  warnings are from pytest and not from the builtin &quot;warnings&quot; module.\n>  Thanks Bruno Oliveira.\n\n>- Include setup and teardown in junitxml test durations.\n>  Thanks Janne Vanhala.\n\n>- fix issue735: assertion failures on debug versions of Python 3.4+\n\n>- new option ``--import-mode`` to allow to change test module importing\n>  behaviour to append to sys.path instead of prepending.  This better allows\n>  to run test modules against installated versions of a package even if the\n>  package under test has the same import root.  In this example::\n\n>        testing/__init__.py\n>        testing/test_pkg_under_test.py\n>        pkg_under_test/\n\n>  the tests will run against the installed version\n>  of pkg_under_test when ``--import-mode=append`` is used whereas\n>  by default they would always pick up the local version.  Thanks Holger Krekel.\n\n>- pytester: add method ``TmpTestdir.delete_loaded_modules()``, and call it\n>  from ``inline_run()`` to allow temporary modules to be reloaded.\n>  Thanks Eduardo Schettino.\n\n>- internally refactor pluginmanager API and code so that there\n>  is a clear distinction between a pytest-agnostic rather simple\n>  pluginmanager and the PytestPluginManager which adds a lot of\n>  behaviour, among it handling of the local conftest files.\n>  In terms of documented methods this is a backward compatible\n>  change but it might still break 3rd party plugins which relied on\n>  details like especially the pluginmanager.add_shutdown() API.\n>  Thanks Holger Krekel.\n\n>- pluginmanagement: introduce ``pytest.hookimpl`` and\n>  ``pytest.hookspec`` decorators for setting impl/spec\n>  specific parameters.  This substitutes the previous\n>  now deprecated use of ``pytest.mark`` which is meant to\n>  contain markers for test functions only.\n\n>- write/refine docs for &quot;writing plugins&quot; which now have their\n>  own page and are separate from the &quot;using/installing plugins`` page.\n\n>- fix issue732: properly unregister plugins from any hook calling\n>  sites allowing to have temporary plugins during test execution.\n\n>- deprecate and warn about ``__multicall__`` argument in hook\n>  implementations.  Use the ``hookwrapper`` mechanism instead already\n>  introduced with pytest-2.7.\n\n>- speed up pytest&#39;s own test suite considerably by using inprocess\n>  tests by default (testrun can be modified with --runpytest=subprocess\n>  to create subprocesses in many places instead).  The main\n>  APIs to run pytest in a test is &quot;runpytest()&quot; or &quot;runpytest_subprocess&quot;\n>  and &quot;runpytest_inprocess&quot; if you need a particular way of running\n>  the test.  In all cases you get back a RunResult but the inprocess\n>  one will also have a &quot;reprec&quot; attribute with the recorded events/reports.\n\n>- fix monkeypatch.setattr(&quot;x.y&quot;, raising=False) to actually not raise\n>  if &quot;y&quot; is not a pre-existing attribute. Thanks Florian Bruhin.\n\n>- fix issue741: make running output from testdir.run copy/pasteable\n>  Thanks Bruno Oliveira.\n\n>- add a new ``--noconftest`` argument which ignores all ``conftest.py`` files.\n\n>- add ``file`` and ``line`` attributes to JUnit-XML output.\n\n>- fix issue890: changed extension of all documentation files from ``txt`` to\n>  ``rst``. Thanks to Abhijeet for the PR.\n\n>- fix issue714: add ability to apply indirect=True parameter on particular argnames.\n>  Thanks Elizaveta239.\n\n>- fix issue890: changed extension of all documentation files from ``txt`` to\n>  ``rst``. Thanks to Abhijeet for the PR.\n\n>- fix issue957: &quot; doctest: SKIP&quot; option will now register doctests as SKIPPED\n>  rather than PASSED.\n>  Thanks Thomas Grainger for the report and Bruno Oliveira for the PR.\n\n>- issue951: add new record_xml_property fixture, that supports logging\n>  additional information on xml output. Thanks David Diaz for the PR.\n\n>- issue949: paths after normal options (for example ``-s``, ``-v``, etc) are now\n>  properly used to discover ``rootdir`` and ``ini`` files.\n>  Thanks Peter Lauri for the report and Bruno Oliveira for the PR.\n\n\n\n>### 2.7.3\n\n>=============================\n\n>- Allow &#39;dev&#39;, &#39;rc&#39;, or other non-integer version strings in ``importorskip``.\n>  Thanks to Eric Hunsberger for the PR.\n\n>- fix issue856: consider --color parameter in all outputs (for example\n>  --fixtures). Thanks Barney Gale for the report and Bruno Oliveira for the PR.\n\n>- fix issue855: passing str objects as ``plugins`` argument to pytest.main\n>  is now interpreted as a module name to be imported and registered as a\n>  plugin, instead of silently having no effect.\n>  Thanks xmo-odoo for the report and Bruno Oliveira for the PR.\n\n>- fix issue744: fix for ast.Call changes in Python 3.5+.  Thanks\n>  Guido van Rossum, Matthias Bussonnier, Stefan Zimmermann and\n>  Thomas Kluyver.\n\n>- fix issue842: applying markers in classes no longer propagate this markers\n>  to superclasses which also have markers.\n>  Thanks xmo-odoo for the report and Bruno Oliveira for the PR.\n\n>- preserve warning functions after call to pytest.deprecated_call. Thanks\n>  Pieter Mulder for PR.\n\n>- fix issue854: autouse yield_fixtures defined as class members of\n>  unittest.TestCase subclasses now work as expected.\n>  Thannks xmo-odoo for the report and Bruno Oliveira for the PR.\n\n>- fix issue833: --fixtures now shows all fixtures of collected test files, instead of just the\n>  fixtures declared on the first one.\n>  Thanks Florian Bruhin for reporting and Bruno Oliveira for the PR.\n\n>- fix issue863: skipped tests now report the correct reason when a skip/xfail\n>  condition is met when using multiple markers.\n>  Thanks Raphael Pierzina for reporting and Bruno Oliveira for the PR.\n\n>- optimized tmpdir fixture initialization, which should make test sessions\n>  faster (specially when using pytest-xdist). The only visible effect\n>  is that now pytest uses a subdirectory in the $TEMP directory for all\n>  directories created by this fixture (defaults to $TEMP/pytest-$USER).\n>  Thanks Bruno Oliveira for the PR.\n\n\n\n>### 2.7.2\n\n>=============================\n\n>- fix issue767: pytest.raises value attribute does not contain the exception\n>  instance on Python 2.6. Thanks Eric Siegerman for providing the test\n>  case and Bruno Oliveira for PR.\n\n>- Automatically create directory for junitxml and results log.\n>  Thanks Aron Curzon.\n\n>- fix issue713: JUnit XML reports for doctest failures.\n>  Thanks Punyashloka Biswal.\n\n>- fix issue735: assertion failures on debug versions of Python 3.4+\n>  Thanks Benjamin Peterson.\n\n>- fix issue114: skipif marker reports to internal skipping plugin;\n>  Thanks Floris Bruynooghe for reporting and Bruno Oliveira for the PR.\n\n>- fix issue748: unittest.SkipTest reports to internal pytest unittest plugin.\n>  Thanks Thomas De Schampheleire for reporting and Bruno Oliveira for the PR.\n\n>- fix issue718: failed to create representation of sets containing unsortable\n>  elements in python 2. Thanks Edison Gustavo Muenz.\n\n>- fix issue756, fix issue752 (and similar issues): depend on py-1.4.29\n>  which has a refined algorithm for traceback generation.\n\n\n\n\n>### 2.7.1\n\n>=============================\n\n>- fix issue731: do not get confused by the braces which may be present\n>  and unbalanced in an object&#39;s repr while collapsing False\n>  explanations.  Thanks Carl Meyer for the report and test case.\n\n>- fix issue553: properly handling inspect.getsourcelines failures in\n>  FixtureLookupError which would lead to to an internal error,\n>  obfuscating the original problem. Thanks talljosh for initial\n>  diagnose/patch and Bruno Oliveira for final patch.\n\n>- fix issue660: properly report scope-mismatch-access errors\n>  independently from ordering of fixture arguments.  Also\n>  avoid the pytest internal traceback which does not provide\n>  information to the user. Thanks Holger Krekel.\n\n>- streamlined and documented release process.  Also all versions\n>  (in setup.py and documentation generation) are now read\n>  from _pytest/__init__.py. Thanks Holger Krekel.\n\n>- fixed docs to remove the notion that yield-fixtures are experimental.\n>  They are here to stay :)  Thanks Bruno Oliveira.\n\n>- Support building wheels by using environment markers for the\n>  requirements.  Thanks Ionel Maries Cristian.\n\n>- fixed regression to 2.6.4 which surfaced e.g. in lost stdout capture printing\n>  when tests raised SystemExit. Thanks Holger Krekel.\n\n>- reintroduced _pytest fixture of the pytester plugin which is used\n>  at least by pytest-xdist.\n\n\n\n>### 2.7.0\n\n>=============================\n\n>- fix issue435: make reload() work when assert rewriting is active.\n>  Thanks Daniel Hahler.\n\n>- fix issue616: conftest.py files and their contained fixutres are now\n>  properly considered for visibility, independently from the exact\n>  current working directory and test arguments that are used.\n>  Many thanks to Eric Siegerman and his PR235 which contains\n>  systematic tests for conftest visibility and now passes.\n>  This change also introduces the concept of a ``rootdir`` which\n>  is printed as a new pytest header and documented in the pytest\n>  customize web page.\n\n>- change reporting of &quot;diverted&quot; tests, i.e. tests that are collected\n>  in one file but actually come from another (e.g. when tests in a test class\n>  come from a base class in a different file).  We now show the nodeid\n>  and indicate via a postfix the other file.\n\n>- add ability to set command line options by environment variable PYTEST_ADDOPTS.\n\n>- added documentation on the new pytest-dev teams on bitbucket and\n>  github.  See https://pytest.org/latest/contributing.html .\n>  Thanks to Anatoly for pushing and initial work on this.\n\n>- fix issue650: new option ``--docttest-ignore-import-errors`` which\n>  will turn import errors in doctests into skips.  Thanks Charles Cloud\n>  for the complete PR.\n\n>- fix issue655: work around different ways that cause python2/3\n>  to leak sys.exc_info into fixtures/tests causing failures in 3rd party code\n\n>- fix issue615: assertion re-writing did not correctly escape % signs\n>  when formatting boolean operations, which tripped over mixing\n>  booleans with modulo operators.  Thanks to Tom Viner for the report,\n>  triaging and fix.\n\n>- implement issue351: add ability to specify parametrize ids as a callable\n>  to generate custom test ids.  Thanks Brianna Laugher for the idea and\n>  implementation.\n\n>- introduce and document new hookwrapper mechanism useful for plugins\n>  which want to wrap the execution of certain hooks for their purposes.\n>  This supersedes the undocumented ``__multicall__`` protocol which\n>  pytest itself and some external plugins use.  Note that pytest-2.8\n>  is scheduled to drop supporting the old ``__multicall__``\n>  and only support the hookwrapper protocol.\n\n>- majorly speed up invocation of plugin hooks\n\n>- use hookwrapper mechanism in builtin pytest plugins.\n\n>- add a doctest ini option for doctest flags, thanks Holger Peters.\n\n>- add note to docs that if you want to mark a parameter and the\n>  parameter is a callable, you also need to pass in a reason to disambiguate\n>  it from the &quot;decorator&quot; case.  Thanks Tom Viner.\n\n>- &quot;python_classes&quot; and &quot;python_functions&quot; options now support glob-patterns\n>  for test discovery, as discussed in issue600. Thanks Ldiary Translations.\n\n>- allow to override parametrized fixtures with non-parametrized ones and vice versa (bubenkoff).\n\n>- fix issue463: raise specific error for &#39;parameterize&#39; misspelling (pfctdayelise).\n\n>- On failure, the ``sys.last_value``, ``sys.last_type`` and\n>  ``sys.last_traceback`` are set, so that a user can inspect the error\n>  via postmortem debugging (almarklein).\n\n\n\n>### 2.6.4\n\n>=====\n\n>- Improve assertion failure reporting on iterables, by using ndiff and\n>  pprint.\n\n>- removed outdated japanese docs from source tree.\n\n>- docs for &quot;pytest_addhooks&quot; hook.  Thanks Bruno Oliveira.\n\n>- updated plugin index docs.  Thanks Bruno Oliveira.\n\n>- fix issue557: with &quot;-k&quot; we only allow the old style &quot;-&quot; for negation\n>  at the beginning of strings and even that is deprecated.  Use &quot;not&quot; instead.\n>  This should allow to pick parametrized tests where &quot;-&quot; appeared in the parameter.\n\n>- fix issue604: Escape % character in the assertion message.\n\n>- fix issue620: add explanation in the --genscript target about what\n>  the binary blob means. Thanks Dinu Gherman.\n\n>- fix issue614: fixed pastebin support.\n\n\n>- fix issue620: add explanation in the --genscript target about what\n>  the binary blob means. Thanks Dinu Gherman.\n\n>- fix issue614: fixed pastebin support.\n\n\n\n>### 2.6.3\n\n>=====\n\n>- fix issue575: xunit-xml was reporting collection errors as failures\n>  instead of errors, thanks Oleg Sinyavskiy.\n\n>- fix issue582: fix setuptools example, thanks Laszlo Papp and Ronny\n>  Pfannschmidt.\n\n>- Fix infinite recursion bug when pickling capture.EncodedFile, thanks\n>  Uwe Schmitt.\n\n>- fix issue589: fix bad interaction with numpy and others when showing\n>  exceptions.  Check for precise &quot;maximum recursion depth exceed&quot; exception\n>  instead of presuming any RuntimeError is that one (implemented in py\n>  dep).  Thanks Charles Cloud for analysing the issue.\n\n>- fix conftest related fixture visibility issue: when running with a\n>  CWD outside of a test package pytest would get fixture discovery wrong.\n>  Thanks to Wolfgang Schnerring for figuring out a reproducable example.\n\n>- Introduce pytest_enter_pdb hook (needed e.g. by pytest_timeout to cancel the\n>  timeout when interactively entering pdb).  Thanks Wolfgang Schnerring.\n\n>- check xfail/skip also with non-python function test items. Thanks\n>  Floris Bruynooghe.\n\n\n\n>### 2.6.2\n\n>=====\n\n>- Added function pytest.freeze_includes(), which makes it easy to embed\n>  pytest into executables using tools like cx_freeze.\n>  See docs for examples and rationale. Thanks Bruno Oliveira.\n\n>- Improve assertion rewriting cache invalidation precision.\n\n>- fixed issue561: adapt autouse fixture example for python3.\n\n>- fixed issue453: assertion rewriting issue with __repr__ containing\n>  &quot;\\n{&quot;, &quot;\\n}&quot; and &quot;\\n~&quot;.\n\n>- fix issue560: correctly display code if an &quot;else:&quot; or &quot;finally:&quot; is\n>  followed by statements on the same line.\n\n>- Fix example in monkeypatch documentation, thanks t-8ch.\n\n>- fix issue572: correct tmpdir doc example for python3.\n\n>- Do not mark as universal wheel because Python 2.6 is different from\n>  other builds due to the extra argparse dependency.  Fixes issue566.\n>  Thanks sontek.\n\n>- Implement issue549: user-provided assertion messages now no longer\n>  replace the py.test introspection message but are shown in addition\n>  to them.\n\n\n\n>### 2.6.1\n\n>=====\n\n>- No longer show line numbers in the --verbose output, the output is now\n>  purely the nodeid.  The line number is still shown in failure reports.\n>  Thanks Floris Bruynooghe.\n\n>- fix issue437 where assertion rewriting could cause pytest-xdist slaves\n>  to collect different tests. Thanks Bruno Oliveira.\n\n>- fix issue555: add &quot;errors&quot; attribute to capture-streams to satisfy\n>  some distutils and possibly other code accessing sys.stdout.errors.\n\n>- fix issue547 capsys/capfd also work when output capturing (&quot;-s&quot;) is disabled.\n\n>- address issue170: allow pytest.mark.xfail(...) to specify expected exceptions via\n>  an optional &quot;raises=EXC&quot; argument where EXC can be a single exception\n>  or a tuple of exception classes.  Thanks David Mohr for the complete\n>  PR.\n\n>- fix integration of pytest with unittest.mock.patch decorator when\n>  it","created_at":"2016-12-06T13:09:42Z","updated_at":"2016-12-06T13:09:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/7/commits","review_comments_url":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/7/comments","review_comment_url":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/7/comments","statuses_url":"https://api.github.com/repos/vir-mir/aiorest_validator/statuses/7fcabd781b6f96d95d4a0d0a5aca6b73ea683114","head":{"label":"vir-mir:pyup-pin-pytest-3.0.5","ref":"pyup-pin-pytest-3.0.5","sha":"7fcabd781b6f96d95d4a0d0a5aca6b73ea683114","user":{"login":"vir-mir","id":2296252,"avatar_url":"https://avatars.githubusercontent.com/u/2296252?v=3","gravatar_id":"","url":"https://api.github.com/users/vir-mir","html_url":"https://github.com/vir-mir","followers_url":"https://api.github.com/users/vir-mir/followers","following_url":"https://api.github.com/users/vir-mir/following{/other_user}","gists_url":"https://api.github.com/users/vir-mir/gists{/gist_id}","starred_url":"https://api.github.com/users/vir-mir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vir-mir/subscriptions","organizations_url":"https://api.github.com/users/vir-mir/orgs","repos_url":"https://api.github.com/users/vir-mir/repos","events_url":"https://api.github.com/users/vir-mir/events{/privacy}","received_events_url":"https://api.github.com/users/vir-mir/received_events","type":"User","site_admin":false},"repo":{"id":75683217,"name":"aiorest_validator","full_name":"vir-mir/aiorest_validator","owner":{"login":"vir-mir","id":2296252,"avatar_url":"https://avatars.githubusercontent.com/u/2296252?v=3","gravatar_id":"","url":"https://api.github.com/users/vir-mir","html_url":"https://github.com/vir-mir","followers_url":"https://api.github.com/users/vir-mir/followers","following_url":"https://api.github.com/users/vir-mir/following{/other_user}","gists_url":"https://api.github.com/users/vir-mir/gists{/gist_id}","starred_url":"https://api.github.com/users/vir-mir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vir-mir/subscriptions","organizations_url":"https://api.github.com/users/vir-mir/orgs","repos_url":"https://api.github.com/users/vir-mir/repos","events_url":"https://api.github.com/users/vir-mir/events{/privacy}","received_events_url":"https://api.github.com/users/vir-mir/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vir-mir/aiorest_validator","description":null,"fork":false,"url":"https://api.github.com/repos/vir-mir/aiorest_validator","forks_url":"https://api.github.com/repos/vir-mir/aiorest_validator/forks","keys_url":"https://api.github.com/repos/vir-mir/aiorest_validator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vir-mir/aiorest_validator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vir-mir/aiorest_validator/teams","hooks_url":"https://api.github.com/repos/vir-mir/aiorest_validator/hooks","issue_events_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/events{/number}","events_url":"https://api.github.com/repos/vir-mir/aiorest_validator/events","assignees_url":"https://api.github.com/repos/vir-mir/aiorest_validator/assignees{/user}","branches_url":"https://api.github.com/repos/vir-mir/aiorest_validator/branches{/branch}","tags_url":"https://api.github.com/repos/vir-mir/aiorest_validator/tags","blobs_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/refs{/sha}","trees_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vir-mir/aiorest_validator/statuses/{sha}","languages_url":"https://api.github.com/repos/vir-mir/aiorest_validator/languages","stargazers_url":"https://api.github.com/repos/vir-mir/aiorest_validator/stargazers","contributors_url":"https://api.github.com/repos/vir-mir/aiorest_validator/contributors","subscribers_url":"https://api.github.com/repos/vir-mir/aiorest_validator/subscribers","subscription_url":"https://api.github.com/repos/vir-mir/aiorest_validator/subscription","commits_url":"https://api.github.com/repos/vir-mir/aiorest_validator/commits{/sha}","git_commits_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/commits{/sha}","comments_url":"https://api.github.com/repos/vir-mir/aiorest_validator/comments{/number}","issue_comment_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/comments{/number}","contents_url":"https://api.github.com/repos/vir-mir/aiorest_validator/contents/{+path}","compare_url":"https://api.github.com/repos/vir-mir/aiorest_validator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vir-mir/aiorest_validator/merges","archive_url":"https://api.github.com/repos/vir-mir/aiorest_validator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vir-mir/aiorest_validator/downloads","issues_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues{/number}","pulls_url":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls{/number}","milestones_url":"https://api.github.com/repos/vir-mir/aiorest_validator/milestones{/number}","notifications_url":"https://api.github.com/repos/vir-mir/aiorest_validator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vir-mir/aiorest_validator/labels{/name}","releases_url":"https://api.github.com/repos/vir-mir/aiorest_validator/releases{/id}","deployments_url":"https://api.github.com/repos/vir-mir/aiorest_validator/deployments","created_at":"2016-12-06T01:43:58Z","updated_at":"2016-12-06T01:47:20Z","pushed_at":"2016-12-06T13:09:41Z","git_url":"git://github.com/vir-mir/aiorest_validator.git","ssh_url":"git@github.com:vir-mir/aiorest_validator.git","clone_url":"https://github.com/vir-mir/aiorest_validator.git","svn_url":"https://github.com/vir-mir/aiorest_validator","homepage":null,"size":10,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":6,"forks":1,"open_issues":6,"watchers":0,"default_branch":"master"}},"base":{"label":"vir-mir:master","ref":"master","sha":"48117a70a5af8b36c073d3e84577ae11fc5f61cb","user":{"login":"vir-mir","id":2296252,"avatar_url":"https://avatars.githubusercontent.com/u/2296252?v=3","gravatar_id":"","url":"https://api.github.com/users/vir-mir","html_url":"https://github.com/vir-mir","followers_url":"https://api.github.com/users/vir-mir/followers","following_url":"https://api.github.com/users/vir-mir/following{/other_user}","gists_url":"https://api.github.com/users/vir-mir/gists{/gist_id}","starred_url":"https://api.github.com/users/vir-mir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vir-mir/subscriptions","organizations_url":"https://api.github.com/users/vir-mir/orgs","repos_url":"https://api.github.com/users/vir-mir/repos","events_url":"https://api.github.com/users/vir-mir/events{/privacy}","received_events_url":"https://api.github.com/users/vir-mir/received_events","type":"User","site_admin":false},"repo":{"id":75683217,"name":"aiorest_validator","full_name":"vir-mir/aiorest_validator","owner":{"login":"vir-mir","id":2296252,"avatar_url":"https://avatars.githubusercontent.com/u/2296252?v=3","gravatar_id":"","url":"https://api.github.com/users/vir-mir","html_url":"https://github.com/vir-mir","followers_url":"https://api.github.com/users/vir-mir/followers","following_url":"https://api.github.com/users/vir-mir/following{/other_user}","gists_url":"https://api.github.com/users/vir-mir/gists{/gist_id}","starred_url":"https://api.github.com/users/vir-mir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vir-mir/subscriptions","organizations_url":"https://api.github.com/users/vir-mir/orgs","repos_url":"https://api.github.com/users/vir-mir/repos","events_url":"https://api.github.com/users/vir-mir/events{/privacy}","received_events_url":"https://api.github.com/users/vir-mir/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vir-mir/aiorest_validator","description":null,"fork":false,"url":"https://api.github.com/repos/vir-mir/aiorest_validator","forks_url":"https://api.github.com/repos/vir-mir/aiorest_validator/forks","keys_url":"https://api.github.com/repos/vir-mir/aiorest_validator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vir-mir/aiorest_validator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vir-mir/aiorest_validator/teams","hooks_url":"https://api.github.com/repos/vir-mir/aiorest_validator/hooks","issue_events_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/events{/number}","events_url":"https://api.github.com/repos/vir-mir/aiorest_validator/events","assignees_url":"https://api.github.com/repos/vir-mir/aiorest_validator/assignees{/user}","branches_url":"https://api.github.com/repos/vir-mir/aiorest_validator/branches{/branch}","tags_url":"https://api.github.com/repos/vir-mir/aiorest_validator/tags","blobs_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/refs{/sha}","trees_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vir-mir/aiorest_validator/statuses/{sha}","languages_url":"https://api.github.com/repos/vir-mir/aiorest_validator/languages","stargazers_url":"https://api.github.com/repos/vir-mir/aiorest_validator/stargazers","contributors_url":"https://api.github.com/repos/vir-mir/aiorest_validator/contributors","subscribers_url":"https://api.github.com/repos/vir-mir/aiorest_validator/subscribers","subscription_url":"https://api.github.com/repos/vir-mir/aiorest_validator/subscription","commits_url":"https://api.github.com/repos/vir-mir/aiorest_validator/commits{/sha}","git_commits_url":"https://api.github.com/repos/vir-mir/aiorest_validator/git/commits{/sha}","comments_url":"https://api.github.com/repos/vir-mir/aiorest_validator/comments{/number}","issue_comment_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/comments{/number}","contents_url":"https://api.github.com/repos/vir-mir/aiorest_validator/contents/{+path}","compare_url":"https://api.github.com/repos/vir-mir/aiorest_validator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vir-mir/aiorest_validator/merges","archive_url":"https://api.github.com/repos/vir-mir/aiorest_validator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vir-mir/aiorest_validator/downloads","issues_url":"https://api.github.com/repos/vir-mir/aiorest_validator/issues{/number}","pulls_url":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls{/number}","milestones_url":"https://api.github.com/repos/vir-mir/aiorest_validator/milestones{/number}","notifications_url":"https://api.github.com/repos/vir-mir/aiorest_validator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vir-mir/aiorest_validator/labels{/name}","releases_url":"https://api.github.com/repos/vir-mir/aiorest_validator/releases{/id}","deployments_url":"https://api.github.com/repos/vir-mir/aiorest_validator/deployments","created_at":"2016-12-06T01:43:58Z","updated_at":"2016-12-06T01:47:20Z","pushed_at":"2016-12-06T13:09:41Z","git_url":"git://github.com/vir-mir/aiorest_validator.git","ssh_url":"git@github.com:vir-mir/aiorest_validator.git","clone_url":"https://github.com/vir-mir/aiorest_validator.git","svn_url":"https://github.com/vir-mir/aiorest_validator","homepage":null,"size":10,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":6,"forks":1,"open_issues":6,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/7"},"html":{"href":"https://github.com/vir-mir/aiorest_validator/pull/7"},"issue":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/7"},"comments":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/vir-mir/aiorest_validator/statuses/7fcabd781b6f96d95d4a0d0a5aca6b73ea683114"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":1,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"pyup-bot"}}