./devel/py-test, Python testing tool

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 4.6.3nb1, Package name: py37-test-4.6.3nb1, Maintainer: pkgsrc-users

The ``py.test`` testing tool makes it easy to write small tests, yet
scales to support complex functional testing. It provides
- auto-discovery of test modules and functions,
- detailed info on failing `assert statements
(no need to remember ``self.assert*`` names)
- modular fixtures for managing small or parametrized long-lived
test resources.
- multi-paradigm support: you can use ``py.test`` to run test suites based
on unittest (or trial), nose
- single-source compatibility to Python2.4 all the way up to Python3.3,
PyPy-1.9 and Jython-2.5.1.

Required to run:
[textproc/py-expat] [devel/py-setuptools] [devel/py-py] [lang/py-six] [devel/py-more-itertools] [devel/py-atomicwrites] [devel/py-pluggy] [devel/py-attrs] [devel/py-wcwidth] [lang/python37]

Required to build:
[pkgtools/cwrappers] [devel/py-setuptools_scm]

Master sites:

SHA1: 0cb821cec85298dfa6f94f7b252668f273a387d2
RMD160: 5d88707bd2fc29ee675087b24461a9ca8cbe1ffb
Filesize: 927.683 KB

Version history: (Expand)

CVS history: (Expand)

   2019-06-13 09:44:54 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
py-test: update to 4.6.3nb1.

From the 4.5.0 changelog:
- pytest now depends on wcwidth

Make it so.
   2019-06-12 12:03:49 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.6.3

pytest 4.6.3:
Bug Fixes
* -q has again an impact on the style of the collected items (--collect-only) \ 
when --log-cli-level is used.
* Fix regressions of 5063 for importlib_metadata.PathDistribution which have \ 
their files attribute being None.
* Fix regression where the obj attribute of TestCase items was no longer bound \ 
to methods.
   2019-06-05 07:11:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.6.2

pytest 4.6.2:
Bug Fixes
* Revert unrolling of all() to fix NameError on nested comprehensions.
* Revert unrolling of all() to fix incorrect handling of generators with if.
* Revert unrolling of all() to fix incorrect assertion when using all() in an \ 
   2019-06-03 10:42:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.6.1

pytest 4.6.1:
Bug Fixes
* Fix pytest.mark.parametrize when the argvalues is an iterator.
* Fix assertion rewriting of all() calls to deal with non-generators.
   2019-06-02 10:31:27 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.6.0

pytest 4.6.0:

The 4.6.X series will be the last series to support Python 2 and Python 3.4.

* Added the junit_log_passing_tests ini value which can be used to enable or \ 
disable logging of passing test output in the Junit XML file.
* pytester’s testdir.spawn uses tmpdir as HOME/USERPROFILE directory.
* Unroll calls to all to full for-loops with assertion rewriting for better \ 
failure messages, especially when using Generator Expressions.
* Switch from pkg_resources to importlib-metadata for entrypoint detection for \ 
improved performance and import time.
* The output for ini options in --help has been improved.
* pytest.importorskip includes the ImportError now in the default reason.
* Captured logs that are output for each failing test are formatted using the \ 
* Improved formatting of multiline log messages in Python 3.
Bug Fixes

* The debugging plugin imports the wrapped Pdb class (--pdbcls) on-demand now.
* The pytest_enter_pdb hook gets called with post-mortem (--pdb).
* Fix issue where fixtures dependent on other parametrized fixtures would be \ 
erroneously parametrized.
* Handle internal error due to a lone surrogate unicode character not being \ 
representable in Jython.
* Ensure that sys.stdout.mode does not include 'b' as it is a text stream.
* Pytest’s internal python plugin can be disabled using -p no:python again.
* Fix issue with \ 
disable_test_id_escaping_and_forfeit_all_rights_to_community_support option not \ 
working when using a list of test IDs in parametrized tests.
* Show the test module being collected when emitting PytestCollectionWarning \ 
messages for test classes with __init__ and __new__ methods to make it easier to \ 
pin down the problem.
* Fix regression in 4.5.0 with --lf not re-running all tests with known failures \ 
from non-selected tests.

Improved Documentation
* Expand docs on use of setenv and delenv with monkeypatch.
   2019-05-14 09:42:01 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.5.0

pytest 4.5.0:

- A warning is now emitted when unknown marks are used as a decorator.
  This is often due to a typo, which can lead to silently broken tests.
- Show XFail reason as part of JUnitXML message field.
- Messages from crash reports are displayed within test summaries now, truncated \ 
to the terminal width.
- New flag --strict-markers that triggers an error when unknown markers (e.g. \ 
those not registered using the markers option_ in the configuration file) are \ 
used in the test suite.
  The existing --strict option has the same behavior currently, but can be \ 
augmented in the future for additional checks.
- Assertion failure messages for sequences and dicts contain the number of \ 
different items now.
- Improve reporting with --lf and --ff (run-last-failure).
- The --cache-show option/action accepts an optional glob to show only matching \ 
cache entries.
- Standard input (stdin) can be given to pytester's Testdir.run() and \ 
- The -r option learnt about A to display all reports (including passed ones) in \ 
the short test summary.
- The short test summary is displayed after passes with output (-rP).
- The --last-failed (--lf) option got smarter and will now skip entire files if \ 
all tests
  of that test file have passed in previous runs, greatly speeding up collection.
- Introduce new specific warning PytestWarning subclasses to make it easier to \ 
filter warnings based on the class, rather than on the message. The new \ 
subclasses are:
  * PytestAssertRewriteWarning
  * PytestCacheWarning
  * PytestCollectionWarning
  * PytestConfigWarning
  * PytestUnhandledCoroutineWarning
  * PytestUnknownMarkWarning
- New record_testsuite_property session-scoped fixture allows users to log \ 
<property> tags at the testsuite
  level with the junitxml plugin.
  The generated XML is compatible with the latest xunit standard, contrary to
  the properties recorded by record_property and record_xml_attribute.
- The default logging format has been changed to improve readability. Here is an
  example of a previous logging message::
      test_log_cli_enabled_disabled.py    3 CRITICAL critical message logged by test
  This has now become::
      CRITICAL root:test_log_cli_enabled_disabled.py:3 critical message logged \ 
by test
  The formatting can be changed through the log_format \ 
<https://docs.pytest.org/en/latest/reference.html#confval-log_format>__ \ 
configuration option.
- --fixtures now also shows fixture scope for scopes other than "function".

Bug Fixes
- Deselected items from plugins using pytest_collect_modifyitems as a \ 
hookwrapper are correctly reported now.
-  With usage errors exitstatus is set to EXIT_USAGEERROR in the \ 
pytest_sessionfinish hook now as expected.
- outcome.exit is not used with EOF in the pdb wrapper anymore, but only with quit.

Improved Documentation
- Expand docs on registering marks and the effect of --strict.

Trivial/Internal Changes
- logging.raiseExceptions is not set to False anymore.
- pytest now depends on wcwidth <https://pypi.org/project/wcwidth>__ to \ 
properly track unicode character sizes for more precise terminal output.
- pytester's Testdir.popen() uses stdout and stderr via keyword arguments with \ 
defaults now (subprocess.PIPE).
- The code for the short test summary in the terminal was moved to the terminal \ 
- Improved validation of kwargs for various methods in the pytester plugin.
- record_property now emits a PytestWarning when used with junit_family=xunit2: \ 
the fixture generates
  property tags as children of testcase, which is not permitted according to the most
  recent schema <https://github.com/jenkinsci/xunit-plugin/blob/master/
- Pin pluggy to < 1.0 so we don't update to 1.0 automatically when
  it gets released: there are planned breaking changes, and we want to ensure
  pytest properly supports pluggy 1.0.
   2019-05-09 13:59:31 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.4.2

pytest 4.4.2:

Bug Fixes
* Fix crash caused by error in __repr__ function with both showlocals and \ 
verbose output enabled.
* Eliminate core dependency on ‘terminal’ plugin.
* Require pluggy>=0.11.0 which reverts a dependency to importlib-metadata \ 
added in 0.10.0. The importlib-metadata package cannot be imported when \ 
installed as an egg and causes issues when relying on setup.py to install test \ 

Improved Documentation
* Doc: pytest_ignore_collect, pytest_collect_directory, pytest_collect_file and \ 
pytest_pycollect_makemodule hooks’s ‘path’ parameter documented type is \ 
now py.path.local
* Improve help for --runxfail flag.

Trivial/Internal Changes
* Removed internal and unused _pytest.deprecated.MARK_INFO_ATTRIBUTE.
   2019-04-16 09:17:07 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 4.4.1

pytest 4.4.1:
Bug Fixes
* Environment variables are properly restored when using pytester’s testdir \ 
* Fix regression with --pdbcls, which stopped working with local modules in 4.0.0.
* Produce a warning when unknown keywords are passed to pytest.param(...).
* Invalidate import caches with monkeypatch.syspath_prepend, which is required \ 
with namespace packages being used.