test_ok2/changelog
Jon Parise 8ac6dce2c7
Add shell-style wildcard support to 'testpaths' (#9897)
This is especially useful for large repositories (e.g. monorepos) that
use a hierarchical file system organization for nested test paths.

    src/*/tests

The implementation uses the standard `glob` module to perform wildcard
expansion in Config.parse().

The related logic that determines whether or not to include 'testpaths'
in the terminal header was previously relying on a weak heuristic: if
Config.args matched 'testpaths', then its value was printed. That
generally worked, but it could also print when the user explicitly used
the same arguments on the command-line as listed in 'testpaths'. Not a
big deal, but it shows that the check was logically incorrect.

Now that 'testpaths' can contain wildcards, it's no longer possible to
perform this simple comparison, so this change also introduces a public
Config.ArgSource enum and Config.args_source attribute that explicitly
names the "source" of the arguments: the command line, the invocation
directory, or the 'testdata' configuration value.
2022-05-24 10:20:51 +02:00
..
8508.improvement.rst Enhance errors for exception/warnings matching (#8508) 2022-03-20 23:32:39 -03:00
8646.improvement.rst Update 8646.improvement.rst 2022-05-10 23:27:33 -07:00
9741.improvement.rst Use tomllib on Python 3.11 (#9741) 2022-04-17 21:11:17 +03:00
9742.improvement.rst Remove newlines from left/right operands with '-vv' (#9743) 2022-03-19 11:55:39 +00:00
9823.improvement.rst Add changelog 2022-03-29 12:37:23 +02:00
9873.improvement.rst Add CHANGELOG for #9873 (#9953) 2022-05-14 12:50:40 +02:00
9897.feature.rst Add shell-style wildcard support to 'testpaths' (#9897) 2022-05-24 10:20:51 +02:00
9906.trivial.rst Re-export importlib.metadata from _pytest.compat (#9906) 2022-05-01 10:05:41 +03:00
9910.trivial.rst Fix default encoding in cacheprovider 2022-05-03 20:56:46 +04:30
9920.improvement.rst Do not truncate crash messages in short test summary on CI (#9933) 2022-05-13 08:15:52 -03:00
README.rst docs: use doc/en/_build/html for html output (#6842) 2020-02-29 00:47:30 +01:00
_template.rst Update CHANGELOG template to put issue links at the start of entries 2018-07-07 11:02:33 -03:00

README.rst

This directory contains "newsfragments" which are short files that contain a small **ReST**-formatted
text that will be added to the next ``CHANGELOG``.

The ``CHANGELOG`` will be read by **users**, so this description should be aimed to pytest users
instead of describing internal changes which are only relevant to the developers.

Make sure to use full sentences in the **past or present tense** and use punctuation, examples::

    Improved verbose diff output with sequences.

    Terminal summary statistics now use multiple colors.

Each file should be named like ``<ISSUE>.<TYPE>.rst``, where
``<ISSUE>`` is an issue number, and ``<TYPE>`` is one of:

* ``feature``: new user facing features, like new command-line options and new behavior.
* ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--junitxml``, improved colors in terminal, etc).
* ``bugfix``: fixes a bug.
* ``doc``: documentation improvement, like rewording an entire session or adding missing docs.
* ``deprecation``: feature deprecation.
* ``breaking``: a change which may break existing suites, such as feature removal or behavior change.
* ``vendor``: changes in packages vendored in pytest.
* ``trivial``: fixing a small typo or internal change that might be noteworthy.

So for example: ``123.feature.rst``, ``456.bugfix.rst``.

If your PR fixes an issue, use that number here. If there is no issue,
then after you submit the PR and get the PR number you can add a
changelog using that instead.

If you are not sure what issue type to use, don't hesitate to ask in your PR.

``towncrier`` preserves multiple paragraphs and formatting (code blocks, lists, and so on), but for entries
other than ``features`` it is usually better to stick to a single paragraph to keep it concise.

You can also run ``tox -e docs`` to build the documentation
with the draft changelog (``doc/en/_build/html/changelog.html``) if you want to get a preview of how your change will look in the final release notes.