Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TEST: merge (#142) + revert (#143) #179

Open
wants to merge 210 commits into
base: my-master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
04f27d4
unittest: do not use TestCase.debug() with `--pdb`
blueyed Oct 18, 2019
f7b1de7
No need to call tearDown on expected failures
nicoddemus Nov 12, 2019
5936965
Bring back explicit tear down
nicoddemus Nov 12, 2019
8feeb09
fixes #5065
RonnyPfannschmidt Nov 27, 2019
da091b8
rename test_pdb to test_debugging (#6282)
nicoddemus Nov 27, 2019
16ff9f5
Update mypy 0.740 -> 0.750
bluetech Dec 2, 2019
c9ec724
Merge pull request #6307 from bluetech/mypy-750
bluetech Dec 3, 2019
41b7b10
Merge branch 'features' into unittest-debug
nicoddemus Dec 3, 2019
59f95b7
Merge remote-tracking branch 'upstream/master' into mm
nicoddemus Dec 3, 2019
1c4a672
unittest: do not use TestCase.debug() with `--pdb` (#5996)
nicoddemus Dec 3, 2019
985ac09
Merge master into features (#6312)
nicoddemus Dec 3, 2019
e24b6b0
Change -k EXPRESSION matching to be case-insensitive
cb109 Dec 5, 2019
ac5929e
Update docs about case-insensitive expression matching
cb109 Dec 5, 2019
24d4882
Update authors file and sort the list
cb109 Dec 5, 2019
5a7de2c
Add changelog file for PR 6316
cb109 Dec 5, 2019
623b398
Update doc/en/example/markers.rst
cb109 Dec 5, 2019
a326fa2
Add a failing test to ensure not everything matches by accident
cb109 Dec 5, 2019
5561e52
Merge branch 'features' into merge
blueyed Dec 5, 2019
97017d9
--cache-clear: add test for keeping non-supporting files
blueyed Dec 3, 2019
4398d58
Fix argcomplete
blueyed Dec 3, 2019
3a0f436
Iterate a generator expression instead of a temporary list
cb109 Dec 6, 2019
c6ed69a
Replace 'removal' by 'breaking' changelog category
nicoddemus Dec 6, 2019
3812985
update backward compatibility policy to allow for breakage
RonnyPfannschmidt Dec 1, 2019
30f2729
Merge pull request #6298 from RonnyPfannschmidt/deprecation-breakage
RonnyPfannschmidt Dec 7, 2019
e13ad22
Include new --capture-mode=tee-sys option
Dec 3, 2019
1ef29ab
#4597: tee-stdio capture method (#6315)
nicoddemus Dec 9, 2019
0711060
Change 4639 from feature to improvement
nicoddemus Dec 9, 2019
b29ae03
Merge pull request #6329 from nicoddemus/4639-improv
asottile Dec 11, 2019
cbb2f95
Merge pull request #6316 from cb109/make-keyword-expression-matching-…
nicoddemus Dec 12, 2019
59067ad
Make -r letters "f" and "F" aliases
nicoddemus Dec 12, 2019
fa51a26
Make -r letters "s" and "S" aliases
nicoddemus Dec 12, 2019
9b74bf1
Add CHANGELOG entry for #6334
nicoddemus Dec 12, 2019
226f0c4
fix #5686, mktemp now fails given absolute and non-normalized paths.
gftea Dec 6, 2019
ecd1e43
Make 'S' and 'F' aliases to 's' and 'f' respectively (#6337)
nicoddemus Dec 13, 2019
853889e
Merge remote-tracking branch 'upstream/master' into mm
nicoddemus Dec 14, 2019
afbaee7
Deprecate --no-print-logs option
vinaycalastry Dec 11, 2019
c487cf9
Deprecate no print logs (#6333)
nicoddemus Dec 16, 2019
75493f7
Merge master into features (#6346)
nicoddemus Dec 17, 2019
ed57b8e
invocation in last section 'pythonpath.rst' title swapped
sathoune Dec 19, 2019
a9608d5
Switch the order of the commands back and update the text
nicoddemus Dec 26, 2019
466bbbf
invocation in last section 'pythonpath.rst' title swapped (#6357)
nicoddemus Dec 26, 2019
3ac1f41
Merge remote-tracking branch 'origin/master' into merge
blueyed Dec 30, 2019
1238736
Merge remote-tracking branch 'origin/features' into merge
blueyed Dec 30, 2019
1f58d29
Merge branch 'my-master' into merge
blueyed Dec 30, 2019
a5224f7
Revert black formatting of essential_plugins
blueyed Dec 30, 2019
8f3b9be
adjust tests (for additional fname/lnum)
blueyed Dec 30, 2019
8656c1a
Merge pull request #6381 from blueyed/fix-revert-formatting
blueyed Jan 1, 2020
4848bbd
Update mypy 0.750 -> 0.761
bluetech Jan 1, 2020
0375c1b
Merge pull request #6388 from bluetech/mypy-761
bluetech Jan 1, 2020
c627ac4
Remove unused _pytest.code.Source.isparseable function
nicoddemus Jan 5, 2020
0fa3596
Remove unused _pytest.code.Source.isparseable function (#6405)
nicoddemus Jan 5, 2020
12f74a2
Revert "Remove unused _pytest.code.Source.isparseable function"
nicoddemus Jan 5, 2020
91a96ec
Remove usage of parser module, deprecated in Python 3.9
nicoddemus Jan 5, 2020
e8c8559
Remove usage of parser module (deprecated in Python 3.9) (#6407)
nicoddemus Jan 6, 2020
2d2c67d
cacheprovider: pytest_collection_modifyitems: copy items
blueyed Jan 6, 2020
9f1ade9
Merge pull request #6411 from blueyed/cacheprovider-copy-items
blueyed Jan 9, 2020
13baab7
terminal: use "yellow" with any "xpassed" tests
blueyed Jan 9, 2020
fa645a7
Improve docstrings for mktemp
nicoddemus Jan 9, 2020
5b295ec
Merge remote-tracking branch 'upstream/features' into gftea/features
nicoddemus Jan 9, 2020
29db2da
tmpdir_factory.mktemp now fails given absolute and non-normaliz… (#6323)
nicoddemus Jan 9, 2020
1e28cb8
Merge pull request #6425 from blueyed/xfail-yellow
blueyed Jan 9, 2020
1356d20
Merge master into features
blueyed Jan 10, 2020
2d488f7
Merge pull request #6432 from blueyed/merge-master-into-features
blueyed Jan 10, 2020
10d5bb3
Merge remote-tracking branch 'blueyed/my-master' into merge
blueyed Jan 10, 2020
6027f2b
Merge branch 'my-master' into merge
blueyed Jan 14, 2020
eb8aad4
Merge branch 'my-master' into merge
blueyed Jan 14, 2020
e9d9f71
Merge remote-tracking branch 'upstream/master' into mm
nicoddemus Jan 14, 2020
21d189e
Enable GitHub actions for 'features'
nicoddemus Jan 14, 2020
fd1691a
Make --showlocals work together with --tb=short
pv Dec 30, 2019
b9c136b
Use a dummy RemoteTraceback for test in Python 3.5 Windows
nicoddemus Jan 14, 2020
f2659f7
Merge master into features (#6458)
nicoddemus Jan 14, 2020
8ba0b7b
fix #6341 - disallow session/config in Node.from_parent
RonnyPfannschmidt Dec 31, 2019
ab6406b
Update junit_logging with no,log,system-out,system-err,out-err,all
Jan 16, 2020
9298f7e
Improve CHANGELOG and docs for junit_logging
nicoddemus Jan 16, 2020
3789bb5
junit_logging options (follow up to #6469) (#6473)
nicoddemus Jan 16, 2020
83813bf
Merge master into features
blueyed Jan 16, 2020
5f4cd53
Use _pytest.compat.TYPE_CHECKING
blueyed Jan 16, 2020
a4f5b8a
Merge pull request #6478 from blueyed/merge-master-into-features
blueyed Jan 16, 2020
1667cf3
Merge pull request #6384 from pv/showlocals-short
blueyed Jan 16, 2020
9b08b65
Merge branch 'my-master' into merge
blueyed Jan 17, 2020
7a62692
[features] tests: fix test_crash_on_closing_tmpfile_py27
blueyed Jan 18, 2020
d0811c1
Merge pull request #6502 from blueyed/fix-ci-features
blueyed Jan 18, 2020
40d0031
Drop deploy from Travis in favor of GitHub actions
nicoddemus Jan 16, 2020
89f92a4
ci: Travis: remove non-coverage jobs
blueyed Jan 18, 2020
2f0d0fb
Merge pull request #6503 from blueyed/ci-travis-features
blueyed Jan 18, 2020
7b1e3d1
Clear collection caches after collection is done
nicoddemus Jan 17, 2020
93b74d2
Merge remote-tracking branch 'upstream/master' into mm
nicoddemus Jan 22, 2020
0bf9628
Merge master into features (#6537)
nicoddemus Jan 22, 2020
aca1723
Merge master into features
blueyed Jan 22, 2020
72d06e6
Merge pull request #6539 from blueyed/merge-master-into-features
blueyed Jan 22, 2020
e17f5fa
Clear node collection cache after collection is done (#6491)
nicoddemus Jan 22, 2020
e2f90d2
Merge branch 'my-master' into merge
blueyed Jan 23, 2020
09bdbff
Merge master into features
blueyed Jan 24, 2020
498884a
Merge pull request #6563 from blueyed/merge-master-into-features
blueyed Jan 24, 2020
dd5c2b2
Refactor Session._initialparts to have a more explicit type
bluetech Jan 23, 2020
a76bc64
Merge pull request #6547 from bluetech/session-initialparts
bluetech Jan 25, 2020
f396733
Split Session._collection_node_cache to 3 mutually exclusive parts
bluetech Jan 24, 2020
c51173d
Merge master into features
blueyed Jan 25, 2020
2e8f7ef
Merge pull request #6569 from blueyed/merge-master-into-features
blueyed Jan 25, 2020
57512aa
_get_main_color: no yellow ("boring") for non-last item
blueyed Jan 6, 2020
1e3bc18
typing for test_summary_stats
blueyed Jan 25, 2020
30922ee
Merge master into features
blueyed Jan 28, 2020
1586653
Merge pull request #6594 from blueyed/merge-master-into-features
blueyed Jan 28, 2020
7c4b8a0
Revert "Node from parent (#5975)"
blueyed Dec 3, 2019
e440b43
Merge pull request #6555 from bluetech/nodes-cache-split
bluetech Jan 28, 2020
abd5fc8
Fix node ids which contain a parametrized empty-string variable
asottile Jan 28, 2020
ddaa5d8
terminal: default to `fE` with `-r` (reportchars)
blueyed Jan 21, 2020
3ccf2a5
Merge pull request #6524 from blueyed/reportchars-default
blueyed Jan 29, 2020
55e5817
Merge master into features
blueyed Jan 29, 2020
06a7fef
Merge pull request #6616 from blueyed/merge-master-into-features
blueyed Jan 29, 2020
595d62b
Merge pull request #6607 from asottile/empty_string_parametrize_nodeid
asottile Jan 29, 2020
64ab68f
Fix 6341 disallow session config in fromparent (#6387)
nicoddemus Jan 29, 2020
b5b6e05
Merge master into features
blueyed Jan 30, 2020
4de8e68
Merge pull request #6625 from blueyed/merge-master-into-features
blueyed Jan 30, 2020
7073929
Remove deprecated 'pytest_itemstart' hook
nicoddemus Jan 30, 2020
a435faa
Merge branch 'master' into master-to-features
bluetech Jan 31, 2020
4038d6c
Merge pull request #6640 from bluetech/master-to-features
bluetech Jan 31, 2020
89abdb9
keep test, warning
blueyed Jan 31, 2020
c9062ed
warn via NodeMeta
blueyed Jan 31, 2020
149bddb
keep/adjust testing/test_mark.py:1013::test_addmarker_order
blueyed Jan 31, 2020
de91222
tests: handle DefinitionMock
blueyed Jan 31, 2020
72e60f4
Merge branch 'my-master' into revert
blueyed Jan 31, 2020
9e3b17f
fix testing/test_collection.py:453::TestSession::test_parsearg
blueyed Jan 31, 2020
39b25dd
Remove deprecated 'pytest_itemstart' hook (#6637)
nicoddemus Jan 31, 2020
7f70c38
Merge branch 'my-master' into merge
blueyed Jan 31, 2020
872788b
Merge pytest-dev/pytest@features
blueyed Feb 1, 2020
75a972d
TEST: Merge branch 'revert' into test-revert
blueyed Feb 1, 2020
128b50e
Merge branch 'my-master' into test-revert
blueyed Feb 1, 2020
6ecc67c
Merge branch 'my-master' into merge
blueyed Feb 2, 2020
647be61
Merge branch 'my-master' into revert
blueyed Feb 2, 2020
60f09d4
Merge branch 'my-master' into test-revert
blueyed Feb 2, 2020
8ec4d03
Inline FunctionMixin with Function (#6664)
blueyed Feb 3, 2020
75714ee
pluginmanager.consider_preparse: add exclude_only kwarg (#6443)
blueyed Feb 3, 2020
5a4c1b6
Use inspect.getdoc to massage fixture docstrings (#6668)
blueyed Feb 4, 2020
39d9f7c
pytester: LineMatcher: typing, docs, consecutive line matching (#6653)
blueyed Feb 4, 2020
9e26203
[parametrize] enforce explicit argnames declaration (#6330)
erheron Feb 6, 2020
b4ace46
capture: cleanup item fixture handling (#6663)
blueyed Feb 7, 2020
7a7c634
factor out KNOWN_TYPES
blueyed Jan 30, 2020
114de91
factor out _determine_main_color
blueyed Jan 30, 2020
37b93b0
Merge branch 'my-master' into merge
blueyed Feb 9, 2020
f9dd580
Fix CaptureManager.__repr__ (#6697)
blueyed Feb 10, 2020
0b2b40e
Remove some redundant commas
bluetech Feb 10, 2020
3e4e629
Remove unused field FixtureManager._arg2finish
bluetech Feb 10, 2020
b59d32a
Merge pull request #6709 from bluetech/rm-arg2finish
bluetech Feb 10, 2020
1ebca37
Merge pull request #6708 from bluetech/redundant-commas-2
bluetech Feb 10, 2020
7cc513b
Remove unused NodeMarkers
bluetech Feb 10, 2020
d59adc6
Reverse / fix meaning of "+/-" in error diffs
sscherfke Feb 4, 2020
d33da07
Move ExitCode's definition from _pytest.main to _pytest.config
bluetech Feb 10, 2020
d25123e
Merge pull request #6710 from bluetech/rm-nodemarkers
bluetech Feb 10, 2020
7484e34
Merge pull request #6711 from bluetech/mv-exitcode
bluetech Feb 11, 2020
78baa7b
Merge remote-tracking branch 'upstream/master' into mm
nicoddemus Feb 11, 2020
3b58285
Merge pull request #6712 from nicoddemus/mm
nicoddemus Feb 11, 2020
76e4ecd
Merge branch 'my-master' into merge
blueyed Feb 12, 2020
ba2ddbe
Merge branch 'features' into merge
blueyed Feb 12, 2020
aaac820
Merge branch 'merge' into test-revert
blueyed Feb 12, 2020
fa87766
_set_main_color: does not need to return
blueyed Feb 12, 2020
4209ad6
Use code highlighting if pygments is installed (#6658)
nicoddemus Feb 12, 2020
c9f9664
Merge branch 'features' into master
bluetech Feb 12, 2020
b0d6aca
Merge branch 'my-master' into revert
blueyed Feb 12, 2020
2b7dfbe
Merge branch 'revert' into test-revert
blueyed Feb 12, 2020
d79179a
Merge pull request #6716 from bluetech/features-to-master-for-real
nicoddemus Feb 12, 2020
b7ad4c2
_pformat_dispatch: pass through args (#6715)
blueyed Feb 12, 2020
e6ea9ed
Merge pull request #6673 from sscherfke/features
nicoddemus Feb 12, 2020
8b3035e
Merge branch 'my-master' into merge
blueyed Feb 12, 2020
3c66c7d
Merge branch 'master' into merge
blueyed Feb 12, 2020
95d09cb
test_color_yes: use multi-line error
blueyed Feb 12, 2020
9527869
TEMP: fix/improve this
blueyed Feb 12, 2020
a0a5076
Merge branch 'merge' into test-revert
blueyed Feb 12, 2020
8a4d522
Remove unused CallSpec2 fields _globalid, _globalparam
bluetech Feb 13, 2020
56a5dbe
Merge pull request #6722 from bluetech/rm-callspec2-global
bluetech Feb 13, 2020
07b7b6f
doc: add docstring for CaptureManager._capturing_for_request (#6698)
blueyed Feb 13, 2020
dbae5a7
Recognize `-V` as a short option for `--version` (#6721)
blueyed Feb 13, 2020
83137c8
tests: test_unicode_plus_minus: use unicode sign directly (#6727)
blueyed Feb 14, 2020
d89b505
assertrepr_compare: provide more info (location) with exceptions (#6728)
blueyed Feb 14, 2020
d839686
Don't delete FixtureDef.cached_result, set it to None instead
bluetech Feb 14, 2020
ef73a56
Merge pull request #6737 from bluetech/fixture-cached-result
nicoddemus Feb 14, 2020
de3353a
test_load_initial_conftest_last_ordering: handle testing package (#6706)
blueyed Feb 14, 2020
4b70ba2
tests: harden test_better_reporting_on_conftest_load_failure (#6713)
blueyed Feb 14, 2020
9631b3c
reports: use attr.asdict with serialize_repr_{crash,traceback} (#6732)
blueyed Feb 14, 2020
b09762d
doc: link to `python_files` from "Assertion Rewriting" (#6705)
blueyed Feb 14, 2020
67e69a7
tests: harden test_xdist_verbose (#6700)
blueyed Feb 15, 2020
02aa8ad
cacheprovider: use warnings directly
blueyed Feb 11, 2020
2b5adc8
Move test_issue4445_cacheprovider_set into test_cache_failure_warns
blueyed Feb 15, 2020
7fc9d4c
Use warnings module directly with cacheprovider (#6740)
blueyed Feb 15, 2020
371939f
Avoid getattr when dispatching pytest_runtest_* hooks
bluetech Feb 15, 2020
a7a1686
Add Item.runtest stub implementation
bluetech Feb 15, 2020
7155b22
Ignore "assert False" statements in coverage
bluetech Feb 15, 2020
5945c3f
Type annotate Metafunc
bluetech Feb 14, 2020
959e6b4
Merge pull request #6743 from bluetech/runtest-getattr
bluetech Feb 15, 2020
9785ee4
doc: expand first sentence on fixtures into a paragraph (#6742)
kpinc Feb 15, 2020
e872532
Merge branch 'master' into term-color
blueyed Feb 15, 2020
3692847
terminal: refactor, no yellow ("boring") for non-last item (#6409)
blueyed Feb 15, 2020
0c68e7a
Merge pull request #6744 from bluetech/item-runtest-stub
bluetech Feb 15, 2020
7b8968f
Merge pull request #6735 from bluetech/metafunc-annotate
bluetech Feb 15, 2020
bc976dc
pytester: add __tracebackhide__ for matching randomly (#6746)
blueyed Feb 16, 2020
d18c75b
doc: fix test with link to `python_files` (#6741)
blueyed Feb 16, 2020
442f7a7
Do not use fixed line number with test_cache_failure_warns (#6748)
blueyed Feb 18, 2020
24dcc76
Use a hack to make typing of pytest.fail.Exception & co work
bluetech Feb 16, 2020
f95c7f5
doctest: handle any OutcomeException (#6669)
blueyed Feb 19, 2020
4021770
pytester: LineMatcher: use `_fail` with `_match_lines_random` (#6747)
blueyed Feb 19, 2020
7c09d88
#6289: Add new example to XFAIL documentation (#6685)
nathanielcompton Feb 19, 2020
781a730
terminal: remove confusing comment about `_tw` (#6763)
blueyed Feb 19, 2020
af2b0e1
Merge pull request #6758 from bluetech/outcome-exception-callable-2
bluetech Feb 19, 2020
1b30514
LFPlugin: use sub-plugins to deselect during collection (#6448)
blueyed Feb 19, 2020
2b13a9b
Use TYPE_CHECKING (#6771)
blueyed Feb 19, 2020
fb16d3e
capture: revisit/fix __repr__, define _in_suspended (#6749)
blueyed Feb 19, 2020
3a975a8
Merge branch 'my-master' into merge
blueyed Feb 20, 2020
39da9bf
Merge branch 'master' into merge
blueyed Feb 20, 2020
ebb9aae
Merge branch 'my-master' into merge
blueyed Feb 20, 2020
226f532
Merge branch 'merge' into test-revert
blueyed Feb 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ exclude_lines =
\#\s*pragma: no cover
^\s*raise NotImplementedError\b
^\s*return NotImplemented\b
^\s*assert False(,|$)

^\s*if TYPE_CHECKING:
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ repos:
- id: changelogs-rst
name: changelog filenames
language: fail
entry: 'changelog files must be named ####.(feature|bugfix|doc|deprecation|removal|vendor|trivial).rst'
exclude: changelog/(\d+\.(feature|improvement|bugfix|doc|deprecation|removal|vendor|trivial).rst|README.rst|_template.rst)
entry: 'changelog files must be named ####.(breaking|bugfix|deprecation|doc|feature|improvement|trivial|vendor).rst'
exclude: changelog/(\d+\.(breaking|bugfix|deprecation|doc|feature|improvement|trivial|vendor).rst|README.rst|_template.rst)
files: ^changelog/
- id: py-deprecated
name: py library is deprecated
Expand Down
11 changes: 9 additions & 2 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -52,20 +52,21 @@ Carl Friedrich Bolz
Carlos Jenkins
Ceridwen
Charles Cloud
Charles Machalow
Charnjit SiNGH (CCSJ)
Chris Lamb
Christian Boelsen
Christian Fetzer
Christian Neumüller
Christian Theunert
Christian Tismer
Christopher Gilling
Christoph Buelter
Christopher Dignam
Christopher Gilling
Claudio Madotto
CrazyMerlyn
Cyrus Maden
Damian Skrzypczak
Dhiren Serai
Daniel Grana
Daniel Hahler
Daniel Nuri
Expand All @@ -80,6 +81,7 @@ David Szotten
David Vierra
Daw-Ran Liou
Denis Kirisov
Dhiren Serai
Diego Russo
Dmitry Dygalo
Dmitry Pribysh
Expand Down Expand Up @@ -121,6 +123,7 @@ Ilya Konstantinov
Ionuț Turturică
Iwan Briquemont
Jaap Broekhuizen
Jakub Mitoraj
Jan Balster
Janne Vanhala
Jason R. Coombs
Expand Down Expand Up @@ -191,6 +194,7 @@ Mihai Capotă
Mike Hoyle (hoylemd)
Mike Lundy
Miro Hrončok
Nathaniel Compton
Nathaniel Waisbrot
Ned Batchelder
Neven Mundar
Expand All @@ -207,6 +211,7 @@ Omer Hadari
Ondřej Súkup
Oscar Benjamin
Patrick Hayes
Pauli Virtanen
Paweł Adamczak
Pedro Algarvio
Philipp Loose
Expand Down Expand Up @@ -242,6 +247,7 @@ Simon Gomizelj
Skylar Downes
Srinivas Reddy Thatiparthy
Stefan Farmbauer
Stefan Scherfke
Stefan Zimmermann
Stefano Taschini
Steffen Allner
Expand Down Expand Up @@ -270,6 +276,7 @@ Vidar T. Fauske
Virgil Dupras
Vitaly Lashmanov
Vlad Dragos
Vladyslav Rachek
Volodymyr Piskun
Wei Lin
Wil Cooley
Expand Down
1 change: 1 addition & 0 deletions changelog/310.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add support for calling `pytest.xfail()` and `pytest.importorskip()` with doctests.
5 changes: 5 additions & 0 deletions changelog/3238.deprecation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Option ``--no-print-logs`` is deprecated and meant to be removed in a future release. If you use ``--no-print-logs``, please try out ``--show-capture`` and
provide feedback.

``--show-capture`` command-line option was added in ``pytest 3.5.0`` and allows to specify how to
display captured output when tests fail: ``no``, ``stdout``, ``stderr``, ``log`` or ``all`` (the default).
1 change: 1 addition & 0 deletions changelog/4597.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
New :ref:`--capture=tee-sys <capture-method>` option to allow both live printing and capturing of test output.
4 changes: 4 additions & 0 deletions changelog/4639.improvement.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Revert "A warning is now issued when assertions are made for ``None``".

The warning proved to be less useful than initially expected and had quite a
few false positive cases.
1 change: 1 addition & 0 deletions changelog/5301.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix ``--last-failed`` to collect new tests from files with known failures.
1 change: 1 addition & 0 deletions changelog/5686.improvement.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
``tmpdir_factory.mktemp`` now fails when given absolute and non-normalized paths.
2 changes: 2 additions & 0 deletions changelog/5712.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Now all arguments to ``@pytest.mark.parametrize`` need to be explicitly declared in the function signature or via ``indirect``.
Previously it was possible to omit an argument if a fixture with the same name existed, which was just an accident of implementation and was not meant to be a part of the API.
6 changes: 0 additions & 6 deletions changelog/5975.deprecation.rst

This file was deleted.

1 change: 1 addition & 0 deletions changelog/6316.breaking.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Matching of ``-k EXPRESSION`` to test names is now case-insensitive.
3 changes: 3 additions & 0 deletions changelog/6334.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Fix summary entries appearing twice when ``f/F`` and ``s/S`` report chars were used at the same time in the ``-r`` command-line option (for example ``-rFf``).

The upper case variants were never documented and the preferred form should be the lower case.
1 change: 1 addition & 0 deletions changelog/6384.improvement.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Make `--showlocals` work also with `--tb=short`.
1 change: 1 addition & 0 deletions changelog/6404.trivial.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove usage of ``parser`` module, deprecated in Python 3.9.
3 changes: 3 additions & 0 deletions changelog/6443.breaking.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Plugins specified with ``-p`` are now loaded after internal plugins, which results in their hooks being called *before* the internal ones.

This makes the ``-p`` behavior consistent with ``PYTEST_PLUGINS``.
1 change: 1 addition & 0 deletions changelog/6454.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`--disable-warnings` is honored with `-ra` and `-rA`.
1 change: 1 addition & 0 deletions changelog/6454.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Changed default for `-r` to `fE`, which displays failures and errors in the :ref:`short test summary <pytest.detailed_failed_tests_usage>`. `-rN` can be used to disable it (the old behavior).
1 change: 1 addition & 0 deletions changelog/6469.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
New options have been added to the :confval:`junit_logging` option: ``log``, ``out-err``, and ``all``.
1 change: 1 addition & 0 deletions changelog/6597.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix node ids which contain a parametrized empty-string variable.
3 changes: 3 additions & 0 deletions changelog/6637.breaking.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Removed the long-deprecated ``pytest_itemstart`` hook.

This hook has been marked as deprecated and not been even called by pytest for over 10 years now.
4 changes: 4 additions & 0 deletions changelog/6658.improvement.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Code is now highlighted in tracebacks when ``pygments`` is installed.

Users are encouraged to install ``pygments`` into their environment and provide feedback, because
the plan is to make ``pygments`` a regular dependency in the future.
1 change: 1 addition & 0 deletions changelog/6673.breaking.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Reversed / fix meaning of "+/-" in error diffs. "-" means that sth. expected is missing in the result and "+" means that there are unexpected extras in the result.
7 changes: 7 additions & 0 deletions changelog/6737.breaking.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
The ``cached_result`` attribute of ``FixtureDef`` is now set to ``None`` when
the result is unavailable, instead of being deleted.

If your plugin perform checks like ``hasattr(fixturedef, 'cached_result')``,
for example in a ``pytest_fixture_post_finalizer`` hook implementation, replace
it with ``fixturedef.cached_result is not None``. If you ``del`` the attribute,
set it to ``None`` instead.
1 change: 1 addition & 0 deletions changelog/6742.doc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Expand first sentence on fixtures into a paragraph.
2 changes: 1 addition & 1 deletion changelog/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Each file should be named like ``<ISSUE>.<TYPE>.rst``, where
* ``bugfix``: fixes a bug.
* ``doc``: documentation improvement, like rewording an entire session or adding missing docs.
* ``deprecation``: feature deprecation.
* ``removal``: feature removal.
* ``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.

Expand Down
58 changes: 58 additions & 0 deletions doc/en/backwards-compatibility.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,61 @@
Backwards Compatibility Policy
==============================

.. versionadded: 6.0

pytest is actively evolving and is a project that has been decades in the making,
we keep learning about new and better structures to express different details about testing.

While we implement those modifications we try to ensure an easy transition and don't want to impose unnecessary churn on our users and community/plugin authors.

As of now, pytest considers multipe types of backward compatibility transitions:

a) trivial: APIs which trivially translate to the new mechanism,
and do not cause problematic changes.

We try to support those indefinitely while encouraging users to switch to newer/better mechanisms through documentation.

b) transitional: the old and new API don't conflict
and we can help users transition by using warnings, while supporting both for a prolonged time.

We will only start the removal of deprecated functionality in major releases (e.g. if we deprecate something in 3.0 we will start to remove it in 4.0), and keep it around for at least two minor releases (e.g. if we deprecate something in 3.9 and 4.0 is the next release, we start to remove it in 5.0, not in 4.0).

When the deprecation expires (e.g. 4.0 is released), we won't remove the deprecated functionality immediately, but will use the standard warning filters to turn them into **errors** by default. This approach makes it explicit that removal is imminent, and still gives you time to turn the deprecated feature into a warning instead of an error so it can be dealt with in your own time. In the next minor release (e.g. 4.1), the feature will be effectively removed.


c) true breakage: should only to be considered when normal transition is unreasonably unsustainable and would offset important development/features by years.
In addition, they should be limited to APIs where the number of actual users is very small (for example only impacting some plugins), and can be coordinated with the community in advance.

Examples for such upcoming changes:

* removal of ``pytest_runtest_protocol/nextitem`` - `#895`_
* rearranging of the node tree to include ``FunctionDefinition``
* rearranging of ``SetupState`` `#895`_

True breakages must be announced first in an issue containing:

* Detailed description of the change
* Rationale
* Expected impact on users and plugin authors (example in `#895`_)

After there's no hard *-1* on the issue it should be followed up by an initial proof-of-concept Pull Request.

This POC serves as both a coordination point to assess impact and potential inspriation to come up with a transitional solution after all.

After a reasonable amount of time the PR can be merged to base a new major release.

For the PR to mature from POC to acceptance, it must contain:
* Setup of deprecation errors/warnings that help users fix and port their code. If it is possible to introduce a deprecation period under the current series, before the true breakage, it should be introduced in a separate PR and be part of the current release stream.
* Detailed description of the rationale and examples on how to port code in ``doc/en/deprecations.rst``.


History
=========


Focus primary on smooth transition - stance (pre 6.0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Keeping backwards compatibility has a very high priority in the pytest project. Although we have deprecated functionality over the years, most of it is still supported. All deprecations in pytest were done because simpler or more efficient ways of accomplishing the same tasks have emerged, making the old way of doing things unnecessary.

With the pytest 3.0 release we introduced a clear communication scheme for when we will actually remove the old busted joint and politely ask you to use the new hotness instead, while giving you enough time to adjust your tests or raise concerns if there are valid reasons to keep deprecated functionality around.
Expand All @@ -20,3 +75,6 @@ Deprecation Roadmap
Features currently deprecated and removed in previous releases can be found in :ref:`deprecations`.

We track future deprecation and removal of features using milestones and the `deprecation <https://github.com/pytest-dev/pytest/issues?q=label%3A%22type%3A+deprecation%22>`_ and `removal <https://github.com/pytest-dev/pytest/labels/type%3A%20removal>`_ labels on GitHub.


.. _`#895`: https://github.com/pytest-dev/pytest/issues/895
19 changes: 14 additions & 5 deletions doc/en/capture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,36 @@ file descriptors. This allows to capture output from simple
print statements as well as output from a subprocess started by
a test.

.. _capture-method:

Setting capturing methods or disabling capturing
-------------------------------------------------

There are two ways in which ``pytest`` can perform capturing:
There are three ways in which ``pytest`` can perform capturing:

* file descriptor (FD) level capturing (default): All writes going to the
* ``fd`` (file descriptor) level capturing (default): All writes going to the
operating system file descriptors 1 and 2 will be captured.

* ``sys`` level capturing: Only writes to Python files ``sys.stdout``
and ``sys.stderr`` will be captured. No capturing of writes to
filedescriptors is performed.

* ``tee-sys`` capturing: Python writes to ``sys.stdout`` and ``sys.stderr``
will be captured, however the writes will also be passed-through to
the actual ``sys.stdout`` and ``sys.stderr``. This allows output to be
'live printed' and captured for plugin use, such as junitxml (new in pytest 5.4).

.. _`disable capturing`:

You can influence output capturing mechanisms from the command line:

.. code-block:: bash

pytest -s # disable all capturing
pytest --capture=sys # replace sys.stdout/stderr with in-mem files
pytest --capture=fd # also point filedescriptors 1 and 2 to temp file
pytest -s # disable all capturing
pytest --capture=sys # replace sys.stdout/stderr with in-mem files
pytest --capture=fd # also point filedescriptors 1 and 2 to temp file
pytest --capture=tee-sys # combines 'sys' and '-s', capturing sys.stdout/stderr
# and passing it along to the actual sys.stdout/stderr

.. _printdebugging:

Expand Down
14 changes: 9 additions & 5 deletions doc/en/deprecations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,17 @@ Below is a complete list of all pytest features which are considered deprecated.
:ref:`standard warning filters <warnings>`.


Node Construction changed to ``Node.from_parent``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``--no-print-logs`` command-line option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. deprecated:: 5.4


.. deprecated:: 5.3
Option ``--no-print-logs`` is deprecated and meant to be removed in a future release. If you use ``--no-print-logs``, please try out ``--show-capture`` and
provide feedback.

The construction of nodes new should use the named constructor ``from_parent``.
This limitation in api surface intends to enable better/simpler refactoring of the collection tree.
``--show-capture`` command-line option was added in ``pytest 3.5.0` and allows to specify how to
display captured output when tests fail: ``no``, ``stdout``, ``stderr``, ``log`` or ``all`` (the default).


``junit_family`` default value change to "xunit2"
Expand Down
4 changes: 4 additions & 0 deletions doc/en/example/markers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,10 @@ which implements a substring match on the test names instead of the
exact match on markers that ``-m`` provides. This makes it easy to
select tests based on their names:

.. versionadded: 5.4

The expression matching is now case-insensitive.

.. code-block:: pytest

$ pytest -v -k http # running with the above defined example module
Expand Down
4 changes: 2 additions & 2 deletions doc/en/example/nonpython/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

def pytest_collect_file(parent, path):
if path.ext == ".yaml" and path.basename.startswith("test"):
return YamlFile.from_parent(parent, fspath=path)
return YamlFile(path, parent)


class YamlFile(pytest.File):
Expand All @@ -13,7 +13,7 @@ def collect(self):

raw = yaml.safe_load(self.fspath.open())
for name, spec in sorted(raw.items()):
yield YamlItem.from_parent(self, name=name, spec=spec)
yield YamlItem(name, self, spec)


class YamlItem(pytest.Item):
Expand Down
3 changes: 3 additions & 0 deletions doc/en/example/parametrize.rst
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,9 @@ The result of this test will be successful:

.. regendoc:wipe

Note, that each argument in `parametrize` list should be explicitly declared in corresponding
python test function or via `indirect`.

Parametrizing test methods through per-class configuration
--------------------------------------------------------------

Expand Down
16 changes: 8 additions & 8 deletions doc/en/example/reportingdemo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ Here is a nice run of several failures and how ``pytest`` presents things:
def test_eq_text(self):
> assert "spam" == "eggs"
E AssertionError: assert 'spam' == 'eggs'
E - spam
E + eggs
E - eggs
E + spam

failure_demo.py:45: AssertionError
_____________ TestSpecialisedExplanations.test_eq_similar_text _____________
Expand All @@ -92,9 +92,9 @@ Here is a nice run of several failures and how ``pytest`` presents things:
def test_eq_similar_text(self):
> assert "foo 1 bar" == "foo 2 bar"
E AssertionError: assert 'foo 1 bar' == 'foo 2 bar'
E - foo 1 bar
E - foo 2 bar
E ? ^
E + foo 2 bar
E + foo 1 bar
E ? ^

failure_demo.py:48: AssertionError
Expand All @@ -106,8 +106,8 @@ Here is a nice run of several failures and how ``pytest`` presents things:
> assert "foo\nspam\nbar" == "foo\neggs\nbar"
E AssertionError: assert 'foo\nspam\nbar' == 'foo\neggs\nbar'
E foo
E - spam
E + eggs
E - eggs
E + spam
E bar

failure_demo.py:51: AssertionError
Expand All @@ -122,9 +122,9 @@ Here is a nice run of several failures and how ``pytest`` presents things:
E AssertionError: assert '111111111111...2222222222222' == '111111111111...2222222222222'
E Skipping 90 identical leading characters in diff, use -v to show
E Skipping 91 identical trailing characters in diff, use -v to show
E - 1111111111a222222222
E - 1111111111b222222222
E ? ^
E + 1111111111b222222222
E + 1111111111a222222222
E ? ^

failure_demo.py:56: AssertionError
Expand Down
Loading