2b5eb8eb75
Add ALTERNATIVES file. 3.0.0 ===== **Incompatible changes** A number of incompatible changes were made in this release, with the intent of removing features deprecated for a long time or change existing behaviors in order to make them less surprising/more useful. * Reinterpretation mode has now been removed. Only plain and rewrite mode are available, consequently the ``--assert=reinterp`` option is no longer available. Thanks `@flub`_ for the PR. * The following deprecated commandline options were removed: * ``--genscript``: no longer supported; * ``--no-assert``: use ``--assert=plain`` instead; * ``--nomagic``: use ``--assert=plain`` instead; * ``--report``: use ``-r`` instead; Thanks to `@RedBeardCode`_ for the PR (`#1664`_). * ImportErrors in plugins now are a fatal error instead of issuing a pytest warning (`#1479`_). Thanks to `@The-Compiler`_ for the PR. * Removed support code for Python 3 versions < 3.3 (`#1627`_). * Removed all ``py.test-X*`` entry points. The versioned, suffixed entry points were never documented and a leftover from a pre-virtualenv era. These entry points also created broken entry points in wheels, so removing them also removes a source of confusion for users (`#1632`_). Thanks `@obestwalter`_ for the PR. * ``pytest.skip()`` now raises an error when used to decorate a test function, as opposed to its original intent (to imperatively skip a test inside a test function). Previously this usage would cause the entire module to be skipped (`#607`_). Thanks `@omarkohl`_ for the complete PR (`#1519`_). * Exit tests if a collection error occurs. A poll indicated most users will hit CTRL-C anyway as soon as they see collection errors, so pytest might as well make that the default behavior (`#1421`_). A ``--continue-on-collection-errors`` option has been added to restore the previous behaviour. Thanks `@olegpidsadnyi`_ and `@omarkohl`_ for the complete PR (`#1628`_). * Renamed the pytest ``pdb`` module (plugin) into ``debugging`` to avoid clashes with the builtin ``pdb`` module. * Raise a helpful failure message when requesting a parametrized fixture at runtime, e.g. with ``request.getfixturevalue``. Previously these parameters were simply never defined, so a fixture decorated like ``@pytest.fixture(params=[0, 1, 2])`` only ran once (`#460`_). Thanks to `@nikratio`_ for the bug report, `@RedBeardCode`_ and `@tomviner`_ for the PR. * ``_pytest.monkeypatch.monkeypatch`` class has been renamed to ``_pytest.monkeypatch.MonkeyPatch`` so it doesn't conflict with the ``monkeypatch`` fixture. * ``--exitfirst / -x`` can now be overridden by a following ``--maxfail=N`` and is just a synonym for ``--maxfail=1``. **New Features** * Support nose-style ``__test__`` attribute on methods of classes, including unittest-style Classes. If set to ``False``, the test will not be collected. * New ``doctest_namespace`` fixture for injecting names into the namespace in which doctests run. Thanks `@milliams`_ for the complete PR (`#1428`_). * New ``--doctest-report`` option available to change the output format of diffs when running (failing) doctests (implements `#1749`_). Thanks `@hartym`_ for the PR. * New ``name`` argument to ``pytest.fixture`` decorator which allows a custom name for a fixture (to solve the funcarg-shadowing-fixture problem). Thanks `@novas0x2a`_ for the complete PR (`#1444`_). * New ``approx()`` function for easily comparing floating-point numbers in tests. Thanks `@kalekundert`_ for the complete PR (`#1441`_). * Ability to add global properties in the final xunit output file by accessing the internal ``junitxml`` plugin (experimental). Thanks `@tareqalayan`_ for the complete PR `#1454`_). * New ``ExceptionInfo.match()`` method to match a regular expression on the string representation of an exception (`#372`_). Thanks `@omarkohl`_ for the complete PR (`#1502`_). * ``__tracebackhide__`` can now also be set to a callable which then can decide whether to filter the traceback based on the ``ExceptionInfo`` object passed to it. Thanks `@The-Compiler`_ for the complete PR (`#1526`_). * New ``pytest_make_parametrize_id(config, val)`` hook which can be used by plugins to provide friendly strings for custom types. Thanks `@palaviv`_ for the PR. * ``capsys`` and ``capfd`` now have a ``disabled()`` context-manager method, which can be used to temporarily disable capture within a test. Thanks `@nicoddemus`_ for the PR. * New cli flag ``--fixtures-per-test``: shows which fixtures are being used for each selected test item. Features doc strings of fixtures by default. Can also show where fixtures are defined if combined with ``-v``. Thanks `@hackebrot`_ for the PR. * Introduce ``pytest`` command as recommended entry point. Note that ``py.test`` still works and is not scheduled for removal. Closes proposal `#1629`_. Thanks `@obestwalter`_ and `@davehunt`_ for the complete PR (`#1633`_). * New cli flags: + ``--setup-plan``: performs normal collection and reports the potential setup and teardown and does not execute any fixtures and tests; + ``--setup-only``: performs normal collection, executes setup and teardown of fixtures and reports them; + ``--setup-show``: performs normal test execution and additionally shows setup and teardown of fixtures; + ``--keep-duplicates``: py.test now ignores duplicated paths given in the command line. To retain the previous behavior where the same test could be run multiple times by specifying it in the command-line multiple times, pass the ``--keep-duplicates`` argument (`#1609`_); Thanks `@d6e`_, `@kvas-it`_, `@sallner`_, `@ioggstream`_ and `@omarkohl`_ for the PRs. * New CLI flag ``--override-ini``/``-o``: overrides values from the ini file. For example: ``"-o xfail_strict=True"``'. Thanks `@blueyed`_ and `@fengxx`_ for the PR. * New hooks: + ``pytest_fixture_setup(fixturedef, request)``: executes fixture setup; + ``pytest_fixture_post_finalizer(fixturedef)``: called after the fixture's finalizer and has access to the fixture's result cache. Thanks `@d6e`_, `@sallner`_. * Issue warnings for asserts whose test is a tuple literal. Such asserts will never fail because tuples are always truthy and are usually a mistake (see `#1562`_). Thanks `@kvas-it`_, for the PR. * Allow passing a custom debugger class (e.g. ``--pdbcls=IPython.core.debugger:Pdb``). Thanks to `@anntzer`_ for the PR. **Changes** * Plugins now benefit from assertion rewriting. Thanks `@sober7`_, `@nicoddemus`_ and `@flub`_ for the PR. * Change ``report.outcome`` for ``xpassed`` tests to ``"passed"`` in non-strict mode and ``"failed"`` in strict mode. Thanks to `@hackebrot`_ for the PR (`#1795`_) and `@gprasad84`_ for report (`#1546`_). * Tests marked with ``xfail(strict=False)`` (the default) now appear in JUnitXML reports as passing tests instead of skipped. Thanks to `@hackebrot`_ for the PR (`#1795`_). * Highlight path of the file location in the error report to make it easier to copy/paste. Thanks `@suzaku`_ for the PR (`#1778`_). * Fixtures marked with ``@pytest.fixture`` can now use ``yield`` statements exactly like those marked with the ``@pytest.yield_fixture`` decorator. This change renders ``@pytest.yield_fixture`` deprecated and makes ``@pytest.fixture`` with ``yield`` statements the preferred way to write teardown code (`#1461`_). Thanks `@csaftoiu`_ for bringing this to attention and `@nicoddemus`_ for the PR. * Explicitly passed parametrize ids do not get escaped to ascii (`#1351`_). Thanks `@ceridwen`_ for the PR. * Fixtures are now sorted in the error message displayed when an unknown fixture is declared in a test function. Thanks `@nicoddemus`_ for the PR. * ``pytest_terminal_summary`` hook now receives the ``exitstatus`` of the test session as argument. Thanks `@blueyed`_ for the PR (`#1809`_). * Parametrize ids can accept ``None`` as specific test id, in which case the automatically generated id for that argument will be used. Thanks `@palaviv`_ for the complete PR (`#1468`_). * The parameter to xunit-style setup/teardown methods (``setup_method``, ``setup_module``, etc.) is now optional and may be omitted. Thanks `@okken`_ for bringing this to attention and `@nicoddemus`_ for the PR. * Improved automatic id generation selection in case of duplicate ids in parametrize. Thanks `@palaviv`_ for the complete PR (`#1474`_). * Now pytest warnings summary is shown up by default. Added a new flag ``--disable-pytest-warnings`` to explicitly disable the warnings summary (`#1668`_). * Make ImportError during collection more explicit by reminding the user to check the name of the test module/package(s) (`#1426`_). Thanks `@omarkohl`_ for the complete PR (`#1520`_). * Add ``build/`` and ``dist/`` to the default ``--norecursedirs`` list. Thanks `@mikofski`_ for the report and `@tomviner`_ for the PR (`#1544`_). * ``pytest.raises`` in the context manager form accepts a custom ``message`` to raise when no exception occurred. Thanks `@palaviv`_ for the complete PR (`#1616`_). * ``conftest.py`` files now benefit from assertion rewriting; previously it was only available for test modules. Thanks `@flub`_, `@sober7`_ and `@nicoddemus`_ for the PR (`#1619`_). * Text documents without any doctests no longer appear as "skipped". Thanks `@graingert`_ for reporting and providing a full PR (`#1580`_). * Ensure that a module within a namespace package can be found when it is specified on the command line together with the ``--pyargs`` option. Thanks to `@taschini`_ for the PR (`#1597`_). * Always include full assertion explanation during assertion rewriting. The previous behaviour was hiding sub-expressions that happened to be ``False``, assuming this was redundant information. Thanks `@bagerard`_ for reporting (`#1503`_). Thanks to `@davehunt`_ and `@tomviner`_ for the PR. * ``OptionGroup.addoption()`` now checks if option names were already added before, to make it easier to track down issues like `#1618`_. Before, you only got exceptions later from ``argparse`` library, giving no clue about the actual reason for double-added options. * ``yield``-based tests are considered deprecated and will be removed in pytest-4.0. Thanks `@nicoddemus`_ for the PR. * ``[pytest]`` sections in ``setup.cfg`` files should now be named ``[tool:pytest]`` to avoid conflicts with other distutils commands (see `#567`_). ``[pytest]`` sections in ``pytest.ini`` or ``tox.ini`` files are supported and unchanged. Thanks `@nicoddemus`_ for the PR. * Using ``pytest_funcarg__`` prefix to declare fixtures is considered deprecated and will be removed in pytest-4.0 (`#1684`_). Thanks `@nicoddemus`_ for the PR. * Raise helpful failure message, when requesting parametrized fixture at runtime, e.g. with ``request.getfuncargvalue``. BACKWARD INCOMPAT: Previously these params were simply never defined. So a fixture decorated like ``@pytest.fixture(params=[0, 1, 2])`` only ran once. Now a failure is raised. Fixes (`#460`_). Thanks to `@nikratio`_ for bug report, `@RedBeardCode`_ and `@tomviner`_ for the PR. * Passing a command-line string to ``pytest.main()`` is considered deprecated and scheduled for removal in pytest-4.0. It is recommended to pass a list of arguments instead (`#1723`_). * Rename ``getfuncargvalue`` to ``getfixturevalue``. ``getfuncargvalue`` is still present but is now considered deprecated. Thanks to `@RedBeardCode`_ and `@tomviner`_ for the PR (`#1626`_). * ``optparse`` type usage now triggers DeprecationWarnings (`#1740`_). * ``optparse`` backward compatibility supports float/complex types (`#457`_). * Refined logic for determining the ``rootdir``, considering only valid paths which fixes a number of issues: `#1594`_, `#1435`_ and `#1471`_. Thanks to `@blueyed`_ and `@davehunt`_ for the PR. * Always include full assertion explanation. The previous behaviour was hiding sub-expressions that happened to be False, assuming this was redundant information. Thanks `@bagerard`_ for reporting (`#1503`_). Thanks to `@davehunt`_ and `@tomviner`_ for PR. * Renamed the pytest ``pdb`` module (plugin) into ``debugging``. * Better message in case of not using parametrized variable (see `#1539`_). Thanks to `@tramwaj29`_ for the PR. * Updated docstrings with a more uniform style. * Add stderr write for ``pytest.exit(msg)`` during startup. Previously the message was never shown. Thanks `@BeyondEvil`_ for reporting `#1210`_. Thanks to `@JonathonSonesen`_ and `@tomviner`_ for the PR. * No longer display the incorrect test deselection reason (`#1372`_). Thanks `@ronnypfannschmidt`_ for the PR. * The ``--resultlog`` command line option has been deprecated: it is little used and there are more modern and better alternatives (see `#830`_). Thanks `@nicoddemus`_ for the PR. * Improve error message with fixture lookup errors: add an 'E' to the first line and '>' to the rest. Fixes `#717`_. Thanks `@blueyed`_ for reporting and a PR, `@eolo999`_ for the initial PR and `@tomviner`_ for his guidance during EuroPython2016 sprint. **Bug Fixes** * Parametrize now correctly handles duplicated test ids. * Fix internal error issue when the ``method`` argument is missing for ``teardown_method()`` (`#1605`_). * Fix exception visualization in case the current working directory (CWD) gets deleted during testing (`#1235`_). Thanks `@bukzor`_ for reporting. PR by `@marscher`_. * Improve test output for logical expression with brackets (`#925`_). Thanks `@DRMacIver`_ for reporting and `@RedBeardCode`_ for the PR. * Create correct diff for strings ending with newlines (`#1553`_). Thanks `@Vogtinator`_ for reporting and `@RedBeardCode`_ and `@tomviner`_ for the PR. * ``ConftestImportFailure`` now shows the traceback making it easier to identify bugs in ``conftest.py`` files (`#1516`_). Thanks `@txomon`_ for the PR. * Add an 'E' to the first line of error messages from FixtureLookupErrorRepr. Fixes `#717`_. Thanks `@blueyed`_ for reporting, `@eolo999`_ for the PR and `@tomviner`_ for his guidance during EuroPython2016 sprint. * Text documents without any doctests no longer appear as "skipped". Thanks `@graingert`_ for reporting and providing a full PR (`#1580`_). * Fixed collection of classes with custom ``__new__`` method. Fixes `#1579`_. Thanks to `@Stranger6667`_ for the PR. * Fixed scope overriding inside metafunc.parametrize (`#634`_). Thanks to `@Stranger6667`_ for the PR. * Fixed the total tests tally in junit xml output (`#1798`_). Thanks to `@cryporchild`_ for the PR. * Fixed off-by-one error with lines from ``request.node.warn``. Thanks to `@blueyed`_ for the PR.
133 lines
4.7 KiB
Text
133 lines
4.7 KiB
Text
@comment $NetBSD: PLIST,v 1.5 2016/08/22 13:26:28 wiz Exp $
|
|
bin/py.test-${PYVERSSUFFIX}
|
|
bin/pytest-${PYVERSSUFFIX}
|
|
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
|
|
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
|
|
${PYSITELIB}/${EGG_INFODIR}/requires.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
|
|
${PYSITELIB}/_pytest/__init__.py
|
|
${PYSITELIB}/_pytest/__init__.pyc
|
|
${PYSITELIB}/_pytest/__init__.pyo
|
|
${PYSITELIB}/_pytest/_argcomplete.py
|
|
${PYSITELIB}/_pytest/_argcomplete.pyc
|
|
${PYSITELIB}/_pytest/_argcomplete.pyo
|
|
${PYSITELIB}/_pytest/_code/__init__.py
|
|
${PYSITELIB}/_pytest/_code/__init__.pyc
|
|
${PYSITELIB}/_pytest/_code/__init__.pyo
|
|
${PYSITELIB}/_pytest/_code/_py2traceback.py
|
|
${PYSITELIB}/_pytest/_code/_py2traceback.pyc
|
|
${PYSITELIB}/_pytest/_code/_py2traceback.pyo
|
|
${PYSITELIB}/_pytest/_code/code.py
|
|
${PYSITELIB}/_pytest/_code/code.pyc
|
|
${PYSITELIB}/_pytest/_code/code.pyo
|
|
${PYSITELIB}/_pytest/_code/source.py
|
|
${PYSITELIB}/_pytest/_code/source.pyc
|
|
${PYSITELIB}/_pytest/_code/source.pyo
|
|
${PYSITELIB}/_pytest/_pluggy.py
|
|
${PYSITELIB}/_pytest/_pluggy.pyc
|
|
${PYSITELIB}/_pytest/_pluggy.pyo
|
|
${PYSITELIB}/_pytest/assertion/__init__.py
|
|
${PYSITELIB}/_pytest/assertion/__init__.pyc
|
|
${PYSITELIB}/_pytest/assertion/__init__.pyo
|
|
${PYSITELIB}/_pytest/assertion/rewrite.py
|
|
${PYSITELIB}/_pytest/assertion/rewrite.pyc
|
|
${PYSITELIB}/_pytest/assertion/rewrite.pyo
|
|
${PYSITELIB}/_pytest/assertion/util.py
|
|
${PYSITELIB}/_pytest/assertion/util.pyc
|
|
${PYSITELIB}/_pytest/assertion/util.pyo
|
|
${PYSITELIB}/_pytest/cacheprovider.py
|
|
${PYSITELIB}/_pytest/cacheprovider.pyc
|
|
${PYSITELIB}/_pytest/cacheprovider.pyo
|
|
${PYSITELIB}/_pytest/capture.py
|
|
${PYSITELIB}/_pytest/capture.pyc
|
|
${PYSITELIB}/_pytest/capture.pyo
|
|
${PYSITELIB}/_pytest/compat.py
|
|
${PYSITELIB}/_pytest/compat.pyc
|
|
${PYSITELIB}/_pytest/compat.pyo
|
|
${PYSITELIB}/_pytest/config.py
|
|
${PYSITELIB}/_pytest/config.pyc
|
|
${PYSITELIB}/_pytest/config.pyo
|
|
${PYSITELIB}/_pytest/debugging.py
|
|
${PYSITELIB}/_pytest/debugging.pyc
|
|
${PYSITELIB}/_pytest/debugging.pyo
|
|
${PYSITELIB}/_pytest/deprecated.py
|
|
${PYSITELIB}/_pytest/deprecated.pyc
|
|
${PYSITELIB}/_pytest/deprecated.pyo
|
|
${PYSITELIB}/_pytest/doctest.py
|
|
${PYSITELIB}/_pytest/doctest.pyc
|
|
${PYSITELIB}/_pytest/doctest.pyo
|
|
${PYSITELIB}/_pytest/fixtures.py
|
|
${PYSITELIB}/_pytest/fixtures.pyc
|
|
${PYSITELIB}/_pytest/fixtures.pyo
|
|
${PYSITELIB}/_pytest/freeze_support.py
|
|
${PYSITELIB}/_pytest/freeze_support.pyc
|
|
${PYSITELIB}/_pytest/freeze_support.pyo
|
|
${PYSITELIB}/_pytest/helpconfig.py
|
|
${PYSITELIB}/_pytest/helpconfig.pyc
|
|
${PYSITELIB}/_pytest/helpconfig.pyo
|
|
${PYSITELIB}/_pytest/hookspec.py
|
|
${PYSITELIB}/_pytest/hookspec.pyc
|
|
${PYSITELIB}/_pytest/hookspec.pyo
|
|
${PYSITELIB}/_pytest/junitxml.py
|
|
${PYSITELIB}/_pytest/junitxml.pyc
|
|
${PYSITELIB}/_pytest/junitxml.pyo
|
|
${PYSITELIB}/_pytest/main.py
|
|
${PYSITELIB}/_pytest/main.pyc
|
|
${PYSITELIB}/_pytest/main.pyo
|
|
${PYSITELIB}/_pytest/mark.py
|
|
${PYSITELIB}/_pytest/mark.pyc
|
|
${PYSITELIB}/_pytest/mark.pyo
|
|
${PYSITELIB}/_pytest/monkeypatch.py
|
|
${PYSITELIB}/_pytest/monkeypatch.pyc
|
|
${PYSITELIB}/_pytest/monkeypatch.pyo
|
|
${PYSITELIB}/_pytest/nose.py
|
|
${PYSITELIB}/_pytest/nose.pyc
|
|
${PYSITELIB}/_pytest/nose.pyo
|
|
${PYSITELIB}/_pytest/pastebin.py
|
|
${PYSITELIB}/_pytest/pastebin.pyc
|
|
${PYSITELIB}/_pytest/pastebin.pyo
|
|
${PYSITELIB}/_pytest/pytester.py
|
|
${PYSITELIB}/_pytest/pytester.pyc
|
|
${PYSITELIB}/_pytest/pytester.pyo
|
|
${PYSITELIB}/_pytest/python.py
|
|
${PYSITELIB}/_pytest/python.pyc
|
|
${PYSITELIB}/_pytest/python.pyo
|
|
${PYSITELIB}/_pytest/recwarn.py
|
|
${PYSITELIB}/_pytest/recwarn.pyc
|
|
${PYSITELIB}/_pytest/recwarn.pyo
|
|
${PYSITELIB}/_pytest/resultlog.py
|
|
${PYSITELIB}/_pytest/resultlog.pyc
|
|
${PYSITELIB}/_pytest/resultlog.pyo
|
|
${PYSITELIB}/_pytest/runner.py
|
|
${PYSITELIB}/_pytest/runner.pyc
|
|
${PYSITELIB}/_pytest/runner.pyo
|
|
${PYSITELIB}/_pytest/setuponly.py
|
|
${PYSITELIB}/_pytest/setuponly.pyc
|
|
${PYSITELIB}/_pytest/setuponly.pyo
|
|
${PYSITELIB}/_pytest/setupplan.py
|
|
${PYSITELIB}/_pytest/setupplan.pyc
|
|
${PYSITELIB}/_pytest/setupplan.pyo
|
|
${PYSITELIB}/_pytest/skipping.py
|
|
${PYSITELIB}/_pytest/skipping.pyc
|
|
${PYSITELIB}/_pytest/skipping.pyo
|
|
${PYSITELIB}/_pytest/terminal.py
|
|
${PYSITELIB}/_pytest/terminal.pyc
|
|
${PYSITELIB}/_pytest/terminal.pyo
|
|
${PYSITELIB}/_pytest/tmpdir.py
|
|
${PYSITELIB}/_pytest/tmpdir.pyc
|
|
${PYSITELIB}/_pytest/tmpdir.pyo
|
|
${PYSITELIB}/_pytest/unittest.py
|
|
${PYSITELIB}/_pytest/unittest.pyc
|
|
${PYSITELIB}/_pytest/unittest.pyo
|
|
${PYSITELIB}/_pytest/vendored_packages/__init__.py
|
|
${PYSITELIB}/_pytest/vendored_packages/__init__.pyc
|
|
${PYSITELIB}/_pytest/vendored_packages/__init__.pyo
|
|
${PYSITELIB}/_pytest/vendored_packages/pluggy.py
|
|
${PYSITELIB}/_pytest/vendored_packages/pluggy.pyc
|
|
${PYSITELIB}/_pytest/vendored_packages/pluggy.pyo
|
|
${PYSITELIB}/pytest.py
|
|
${PYSITELIB}/pytest.pyc
|
|
${PYSITELIB}/pytest.pyo
|