docs: updating the docs to make --lfnf more clear

This commit is contained in:
Sean Malloy 2023-08-28 14:51:27 -07:00
parent 722b4877da
commit 75e815f6c1
3 changed files with 13 additions and 17 deletions

View File

@ -176,17 +176,14 @@ with more recent files coming first.
Behavior when no tests failed in the last run
---------------------------------------------
When no tests failed in the last run, or when no cached ``lastfailed`` data was
found, ``pytest`` can be configured either to run all of the tests or no tests,
using the ``--last-failed-no-failures`` option, which takes one of the following values:
This option governs the behavior of ``--last-failed``.
Determines whether to execute tests when there are no previously (known)
failures or when no cached ``lastfailed`` data was found.
.. code-block:: bash
pytest --last-failed --last-failed-no-failures all # run all tests (default behavior)
pytest --last-failed --last-failed-no-failures none # run no tests and exit
The ``--last-failed-no-failures`` option governs the behavior of ``--if``.
Default ``all`` runs all tests with no known failures. ``none`` avoids tests and exits successfully when there are no known failures.
pytest --last-failed --last-failed-no-failures all # run the full test suite again (default behavior)
pytest --last-failed --last-failed-no-failures none # runs no tests, emits a message about no known failures and exits successfully
The new config.cache object
--------------------------------

View File

@ -1892,12 +1892,11 @@ All the command-line flags can be obtained by running ``pytest --help``::
tests. Optional argument: glob (default: '*').
--cache-clear Remove all cache contents at start of test run
--lfnf={all,none}, --last-failed-no-failures={all,none}
Determines whether to execute tests when there
With ``--lf``, determines whether to execute tests when there
are no previously (known) failures or when no
cached ``lastfailed`` data was found.
This option governs the behavior of ``--if``.
Default ``all`` runs all tests with no known failures.
``none`` avoids tests and exits if no failures.
``all`` (the default) runs the full test suite again.
``none`` just emits a message about no known failures and exits successfully.
--sw, --stepwise Exit on test failure and continue from last failing
test next time
--sw-skip, --stepwise-skip

View File

@ -499,11 +499,11 @@ def pytest_addoption(parser: Parser) -> None:
dest="last_failed_no_failures",
choices=("all", "none"),
default="all",
help="Determines whether to execute tests when there are no previously (known)"
"failures or when no cached ``lastfailed`` data was found."
"This option governs the behavior of ``--if``."
"Default ``all`` runs all tests with no known failures."
"``none`` avoids tests and exits if no failures.",
help="With ``--lf``, determines whether to execute tests when there"
"are no previously (known) failures or when no"
"cached ``lastfailed`` data was found."
"``all`` (the default) runs the full test suite again."
"``none`` just emits a message about no known failures and exits successfully.",
)