head 1.2; access; symbols pkgsrc-2026Q1:1.2.0.78 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.76 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.74 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.72 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.70 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.68 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.66 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.64 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.62 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.60 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.58 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.56 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.54 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.52 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.50 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.48 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.46 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.44 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.42 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.40 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.38 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.36 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.34 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.30 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.10 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.32 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.28 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.26 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.24 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.22 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.20 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.18 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.16 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.14 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.12 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.8 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.6 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.4 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.2 pkgsrc-2016Q3-base:1.2; locks; strict; comment @# @; 1.2 date 2016.08.24.21.35.12; author wiz; state Exp; branches; next 1.1; commitid jcZlF8cSMtGgxBjz; 1.1 date 2016.08.22.13.26.28; author wiz; state Exp; branches; next ; commitid qo6VkgImeFqvTijz; desc @@ 1.2 log @Fix typo in ALTERNATIVES file. Bump PKGREVISION. @ text @bin/py.test @@PREFIX@@/bin/py.test-@@PYVERSSUFFIX@@ bin/pytest @@PREFIX@@/bin/pytest-@@PYVERSSUFFIX@@ @ 1.1 log @Updated py-test to 3.0.0. 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. @ text @d1 2 a2 2 bin/py.test @@PREFIX@@/bin/py.test@@PYVERSSUFFIX@@ bin/pytest @@PREFIX@@/bin/pytest@@PYVERSSUFFIX@@ @