pytest bot
09b1d7cc99
Prepare release version 6.0.2
2020-09-04 21:48:44 +00:00
Ran Benita
ea65ea877e
Merge pull request #7717 from bluetech/backport-7614
...
[6.0.x] Properly remove log_print
2020-09-04 21:53:05 +03:00
Ran Benita
f4f30d7073
Merge pull request #7716 from bluetech/backport-7697
...
[6.0.x] Add missing File reference to the docs
2020-09-04 21:52:51 +03:00
Ran Benita
309810ac2c
Merge pull request #7715 from bluetech/backport-7651
...
[6.0.x] capture: fix disabled()/global_and_fixture_disabled() enabling capturing when it was disabled
2020-09-04 21:52:29 +03:00
Bruno Oliveira
e63fac3aec
Merge pull request #7614 from The-Compiler/log-print
...
Properly remove log_print
(cherry picked from commit d688fefecb )
2020-09-04 21:28:41 +03:00
Bruno Oliveira
cb91c5033e
Merge pull request #7697 from nicoddemus/file-docs
...
(cherry picked from commit 21aa6c42b7 )
2020-09-04 21:23:53 +03:00
Ran Benita
9a879ee23e
Merge pull request #7651 from bluetech/capture-safe-disable
...
capture: fix disabled()/global_and_fixture_disabled() enabling capturing when it was disabled
(cherry picked from commit bb38ae9c52 )
2020-09-04 21:16:07 +03:00
Bruno Oliveira
e9d18bd8ac
Merge pull request #7711 from nicoddemus/backport-7708
...
[6.0] Merge pull request #7708 from nicoddemus/repr-line-7707
2020-09-04 12:41:17 -03:00
Bruno Oliveira
912870d33e
Merge pull request #7708 from nicoddemus/repr-line-7707
...
Fix handle of exceptions in ReprEntry with tb=line
2020-09-04 12:06:38 -03:00
Bruno Oliveira
0115b716c0
Merge pull request #7688 from nicoddemus/backport-7687
2020-08-25 21:23:41 -03:00
Bruno Oliveira
9a91b67eeb
Merge pull request #7687 from bluetech/idval-notset
...
python: fix empty parametrize() leading to "NotSetType.token" id
2020-08-25 19:57:06 -03:00
Ran Benita
79d0d3eff4
Merge pull request #7676 from bluetech/backport-7673
...
[6.0.x] logging: fix handler level restored incorrectly if caplog.set_level is called more than once
2020-08-23 12:24:50 +03:00
Ran Benita
834f55eddb
Merge pull request #7673 from bluetech/logging-fix-handler-restore
...
logging: fix handler level restored incorrectly if caplog.set_level is called more than once
(cherry picked from commit 143e3ab846 )
2020-08-23 12:07:24 +03:00
Bruno Oliveira
6110f84f78
Merge pull request #7588 from nicoddemus/backport-7557
...
Merge pull request #7557 from nicoddemus/announce-templates
2020-07-30 12:07:53 -03:00
Bruno Oliveira
5a339f0d74
Merge pull request #7557 from nicoddemus/announce-templates
...
(cherry picked from commit c7216ae0f6 )
2020-07-30 12:04:36 -03:00
Bruno Oliveira
022bff27a7
Merge pull request #7584 from pytest-dev/release-6.0.1
...
Prepare release 6.0.1
2020-07-30 09:45:40 -03:00
pytest bot
92af2e22d2
Prepare release version 6.0.1
2020-07-30 11:50:12 +00:00
Ran Benita
0307213254
Merge pull request #7582 from bluetech/backport-7581
...
[6.0.x] Add missing changelog for issue 7569
2020-07-30 14:19:29 +03:00
Ran Benita
df7b26704d
Merge pull request #7581 from bluetech/logging-setlevel-handler-restore
...
Add missing changelog for issue 7569
(cherry picked from commit 645cbc91fc )
2020-07-30 13:41:54 +03:00
Bruno Oliveira
1516780829
Merge pull request #7578 from nicoddemus/backport-7555
...
[6.0.x] Warn about --basetemp removing the entire directory (#7555 )
2020-07-29 12:13:16 -03:00
Bruno Oliveira
b945b39b0b
Merge pull request #7577 from nicoddemus/backport-7427
...
[6.0.x] Fix --help crash on add_ini(.., help='') and improve message on help=None (#7427 )
2020-07-29 12:10:42 -03:00
Mattreex
2d5b8a85c2
Warn about --basetemp removing the entire directory ( #7555 )
...
Co-authored-by: mattreex <mattreex.9@gail.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
(cherry picked from commit 1e66ed0b1c )
2020-07-29 11:58:52 -03:00
hp310780
8963644da3
Fix --help crash on add_ini(.., help='') and improve message on help=None ( #7427 )
2020-07-29 11:49:09 -03:00
Bruno Oliveira
e8761576cd
Merge pull request #7574 from nicoddemus/backport-7561
...
[6.0.x] Merge pull request #7561 from nicoddemus/longreprtext-7559
2020-07-29 10:30:21 -03:00
Bruno Oliveira
3d2c114883
Merge pull request #7573 from nicoddemus/backport-7571
...
[6.0.x] logging: fix capture handler level not reset on teardown after caplog.set_level()
2020-07-29 10:30:00 -03:00
Bruno Oliveira
fe252848c5
Merge pull request #7561 from nicoddemus/longreprtext-7559
2020-07-29 09:47:31 -03:00
Bruno Oliveira
f9d5f6e60a
Merge pull request #7571 from bluetech/logging-setlevel-handler-restore
...
logging: fix capture handler level not reset on teardown after caplog.set_level()
2020-07-29 09:38:33 -03:00
Ran Benita
d46fe88ec3
Merge pull request #7566 from bluetech/pylint-callable-2-6.0.x
...
[6.0.x] mark: fix pylint not-callable error on pytest.mark.parametrize(...), again
2020-07-29 13:04:23 +03:00
Ran Benita
bec1bdaa2c
mark: fix extraneous spaces in dummy type-checking marks
...
(cherry picked from commit 54e08b7230 )
2020-07-29 12:41:02 +03:00
Ran Benita
edb6211e36
Merge pull request #7565 from bluetech/pylint-callable-2
...
mark: fix pylint not-callable error on pytest.mark.parametrize(...), again
(cherry picked from commit f9837f953c )
2020-07-29 11:51:08 +03:00
Bruno Oliveira
5d606e9c40
Merge pull request #7550 from pytest-dev/release-6.0.0
2020-07-28 16:59:46 -03:00
Bruno Oliveira
41a4539594
Add link to 6.0.0rc1 changelog
2020-07-28 14:15:45 -03:00
Bruno Oliveira
45ced1dc05
Update doc/en/announce/release-6.0.0.rst
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com >
2020-07-28 10:46:03 -03:00
pytest bot
1e4b8d447c
Prepare release version 6.0.0
2020-07-28 11:44:27 +00:00
Bruno Oliveira
38029828d1
Support generating major releases using issue comments ( #7548 )
2020-07-28 13:40:14 +02:00
Anthony Sottile
c2c0b7a542
Merge pull request #7545 from asottile/pylib_in_docs
...
remove usage of pylib in docs
2020-07-27 09:36:58 -07:00
Anthony Sottile
9818899df4
remove usage of pylib in docs
2020-07-26 17:57:25 -07:00
Zac Hatfield-Dodds
3a060b77e8
Revert change to traceback repr ( #7535 )
...
* Revert change to traceback repr
* Add test and changelog entry
* Restore *exact* prev output
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-07-24 13:30:38 +02:00
Bruno Oliveira
7ec6401ffa
Change pytest deprecation warnings into errors for 6.0 release ( #7362 )
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com >
2020-07-22 21:36:51 -03:00
Bruno Oliveira
a9799f0b35
Merge pull request #7531 from bluetech/changelog-mypy-version
...
doc: mention mypy<0.750 doesn't work in typing changelog
2020-07-22 16:21:11 -03:00
Ran Benita
102360b490
Merge pull request #7519 from hroncok/pytest_warning_captured_deprecated
...
List pytest_warning_captured in deprecated things for 6.0.0rc1
2020-07-22 20:50:52 +03:00
Ran Benita
1a18dfd651
doc: mention mypy<0.750 doesn't work in typing changelog
2020-07-22 20:48:24 +03:00
Bruno Oliveira
2a8dcc9728
Merge pull request #7526 from bluetech/win-bash-2
...
testing: improve bash check
2020-07-21 23:02:05 -03:00
Kelton Bassingthwaite
dbc50a7061
Clarify usage of usefixtures mark in hooks
...
Fix #7512
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-07-21 23:00:47 -03:00
Ran Benita
0709305953
testing: improve bash check
2020-07-21 21:21:09 +03:00
Anthony Sottile
6ecb8f53d0
Merge pull request #7521 from asottile/newlines_unaffected
...
Preserve newlines when captured with capfd
2020-07-20 11:48:08 -07:00
Ran Benita
2294f109b6
Merge pull request #7522 from garrettthomaskth/patch-1
...
Fix "A xfail" typo
2020-07-20 21:43:35 +03:00
Anthony Sottile
8616a5f1d9
Preserve newlines when captured with capfd
2020-07-20 10:31:20 -07:00
Garrett Thomas
3ed05ee4d6
Fix typo
...
Change from "A xfail" to "An xfail"
2020-07-20 18:16:13 +02:00
Ran Benita
41d211c24a
testing: use a tighter check if bash is available ( #7520 )
...
This fixes CI on Windows since GitHub Actions started installing WSL on
their images which apparently installs some wrapper `bash` which does
not run actual bash.
2020-07-20 16:24:39 +02:00
Kostis Anagnostopoulos
07ed197247
doc: note about mutation of parametrized values ( #7516 )
...
Fix #7514 by augmenting Note with behaviour when parametrized values are mutated
(changes are reflected in subsequent test-case calls).
2020-07-20 15:12:48 +03:00
Miro Hrončok
fbeb36226f
List pytest_warning_captured in deprecated things for 6.0.0rc1
2020-07-20 13:41:28 +02:00
Ran Benita
efcba7759e
Merge pull request #7515 from mdebi/issue_7441
...
docs: Add a note about -q option used in getting started guide
2020-07-20 10:09:16 +03:00
Debi Mishra
25b56e9c69
docs: Add a note about -q option used in getting started guide
2020-07-20 01:28:11 +05:30
Ran Benita
8783e65f8d
Merge pull request #7509 from bluetech/sphinx3
...
docs: support Sphinx>=3.1 and require it
2020-07-18 12:38:26 +03:00
Ran Benita
65b014a117
docs: support Sphinx>=3.1 and require it
...
Previously was restricted to >=1.8.2,<2.1, but newer versions have some
nice improvements I'd like to be able to use in upcoming changes.
Changelog: https://www.sphinx-doc.org/en/master/changes.html#release-3-1-0-released-jun-08-2020
There are two issues that came up:
1. `highlightlang` is deprecated for `highlight`.
2. Doesn't like having two `automethod` generated for the same
`Metafunc.parametrize` method. Gives this warning:
`pytest/doc/en/reference.rst:846: WARNING: duplicate object description of _pytest.python.Metafunc.parametrize, other instance in reference, use :noindex: for one of them`
To work around this I make `pytest.mark.parametrize` link to
`Metafunc.parametrize` instead of repeating it.
2020-07-17 23:17:11 +03:00
Lewis Cowles
71ab6236a1
Clearer guidance on pytest.raise(match=...) failure ( #7499 )
2020-07-15 22:26:47 +03:00
Bruno Oliveira
9c2c5d9f05
Merge pull request #7501 from nicoddemus/doctest-fixtures
...
Clarify 'getfixture' needs to access fixtures by normal means
2020-07-15 09:30:13 -03:00
Bruno Oliveira
e7c42ae62b
Inaccessible lock files now imply temporary directories can't be removed
...
Fix #7500
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-07-15 09:25:17 -03:00
Ran Benita
41c40efe80
Merge pull request #7496 from bluetech/typing-idfn
...
Fix typing of params ids callable form
2020-07-15 10:25:46 +03:00
Ran Benita
fe1fcfd081
Merge pull request #7490 from bluetech/fix-dynamic-runtest-xfail
...
skipping: fix dynamic xfail mark added in runtest not respected
2020-07-15 10:25:29 +03:00
Bruno Oliveira
97f560d4d1
Clarify 'getfixture' needs to access fixtures by normal means
...
Related to #7497
2020-07-14 20:21:57 -03:00
Ran Benita
bc17034a67
Fix typing of params ids callable form
...
The previous typing had an object passed to the user, which they can't
do anything with without asserting, which is inconvenient. Change it to
Any instead.
Note that what comes *back* to pytest (the return value) should be an
`object`, because we want to handle arbitrary objects without assuming
anything about them.
2020-07-14 14:53:42 +03:00
Ran Benita
91f6892e6a
testing: add a file for checking no mypy errors
...
We probably something a bit more elaborate in the future but for now
it's something to verify fixes and catch regressions.
2020-07-14 14:37:59 +03:00
Anthony Sottile
358150c30e
Merge pull request #7492 from bluetech/xfail-mark-typing-fix
...
mark: fix typing for `@pytest.mark.xfail(raises=...)`
2020-07-13 16:46:35 -07:00
Ran Benita
1a73e78698
mark: fix typing for @pytest.mark.xfail(raises=...)
2020-07-14 01:39:04 +03:00
Ran Benita
ccad10a829
skipping: fix dynamic xfail mark added in runtest not respected
...
If a test runtest phase (not setup) dynamically adds a pytest.mark.xfail
mark to the item, it should be respected, but it wasn't. This regressed
in 3e6fe92b7e (not released).
Fix it by just always refreshing the mark if needed. This is mostly what
was done before but in a more roundabout way.
2020-07-14 01:02:06 +03:00
Ran Benita
78f2dc08fa
skipping: slight simplification
2020-07-14 00:45:12 +03:00
Bruno Oliveira
7f7a36478a
Merge pull request #7482 from nicoddemus/changelog-adjustments
...
Small fixes/updates to the 6.0.0rc1 CHANGELOG
2020-07-13 15:11:47 -03:00
Bruno Oliveira
07f5f6fd4a
Merge pull request #7481 from bluetech/tw-unicode-escape
...
terminalwriter: bring back handling of printing characters not supported by stdout
2020-07-11 16:01:45 -03:00
Bruno Oliveira
789654dfe2
Small fixes/updates to the 6.0.0rc1 CHANGELOG
...
- Grammar fixes
- Moved a few sections from Features to Improvements
- Used internal doc links when appropriate
2020-07-11 15:41:10 -03:00
Simon K
7f467ebc9a
Create subdirectories if they do not exist when specified for log file ( #7468 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-07-11 13:40:28 -03:00
Ran Benita
7b65b2337b
Merge pull request #7472 from bluetech/cleanups-4
...
Some minor fixes & type annotations
2020-07-11 19:05:07 +03:00
Ran Benita
113339b029
terminalwriter: bring back handling of printing characters not supported by stdout
2020-07-11 18:59:00 +03:00
Bruno Oliveira
d466cc25a7
Merge pull request #7424 from nicoddemus/package-scope-experimental-7389
...
Remove package scope experimental status
2020-07-11 08:44:34 -03:00
Bruno Oliveira
0b58f73d44
Merge pull request #7476 from bluetech/pylint-callable
...
mark/structure: fix pylint complaining that builtin marks are not callable
2020-07-10 17:26:37 -03:00
Bruno Oliveira
cf648d9cad
Merge pull request #7474 from nicoddemus/env-vars-docs
2020-07-10 17:20:06 -03:00
Ran Benita
c1ca42b5c2
mark/structure: fix pylint complaining that builtin marks are not callable
2020-07-10 23:10:17 +03:00
Bruno Oliveira
906d8496c9
New doc role: globalvar for special variables
...
This introduces a new role, `:globalvar:`, so we can mark/reference
variables like `pytest_plugins`, `pytestmark`, etc. This besides being useful
also makes the documentation look more consistent.
2020-07-10 09:50:03 -03:00
Bruno Oliveira
1667d138aa
Use sphinx references for NO_COLOR and FORCE_COLOR in changelog
2020-07-10 09:30:04 -03:00
Hugo van Kemenade
c1c5a2b34a
Add support for NO_COLOR and FORCE_COLOR ( #7466 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-07-10 08:49:10 -03:00
Ran Benita
7934ac280f
Add changelog entry for Frame removals
2020-07-10 13:08:56 +03:00
Ran Benita
c8676002a7
code/code: remove redundant __ne__ implementation
...
This implementation is the default when __eq__ is implemented.
2020-07-10 13:08:56 +03:00
Ran Benita
85ef2bf698
code/code: remove Frame.exec_() method
...
Not used.
2020-07-10 13:08:56 +03:00
Ran Benita
c3864bc12b
code/code: remove Frame.is_true() method
...
Really odd one, let's just inline it.
2020-07-10 13:08:56 +03:00
Ran Benita
77f3cb4baa
code/code: type annotations & doc cleanups
2020-07-10 13:08:56 +03:00
Ran Benita
087b047426
cacheprovider: type annotations
2020-07-10 13:08:56 +03:00
Ran Benita
a2f021b6f3
Remove no longer needed noqa: F821 uses
...
Not needed since pyflakes 2.2.0.
2020-07-10 13:08:56 +03:00
Ran Benita
fc702ab7e4
fixtures: some type annotations
2020-07-10 13:08:56 +03:00
Ran Benita
168d9adefc
hookspec: change Node -> Union[Item, Collector] to avoid exposing Node
...
We don't really want `Node` itself as a public API, only its two
subclasses.
2020-07-10 13:08:56 +03:00
Ran Benita
8e8d639276
tmpdir: type annotations
2020-07-10 13:08:56 +03:00
Ran Benita
bcff02c4c6
pytester: some type annotations
2020-07-10 13:08:56 +03:00
Ran Benita
c7a1db5d01
junitxml: few typing fixes & additions
2020-07-10 13:08:56 +03:00
Ran Benita
5da4a1d84f
capture: type annotate return value of fixtures
2020-07-10 13:08:56 +03:00
Ran Benita
e079ebbd57
python: more type annotations
2020-07-10 13:08:56 +03:00
Ran Benita
fb2640b82f
Stop using ExceptionInfo.errisinstance internally
...
It does the same as a simple isinstance check, but adds a little layer
of obscurity on top, which the type checker can't penetrate.
2020-07-10 13:08:48 +03:00
Ran Benita
2ae721cda5
Merge pull request #7470 from nicoddemus/fix-required-plugins-test
...
Make test_missing_required_plugins xdist-independent
2020-07-10 12:47:52 +03:00
Bruno Oliveira
be7b02c3b8
Make test_missing_required_plugins xdist-independent
...
Also cleaned up the parametrized list using `pytest.param` to assign ids
and removed some redundant cases.
Follow up to #7459
2020-07-09 22:09:28 -03:00
Bruno Oliveira
0a0c14dfac
Merge pull request #7459 from nicoddemus/release-6.0.0rc1
2020-07-09 21:25:58 -03:00
Arvin Firouzi
c3e2b11a62
Fix reported location of skip when --runxfail is used ( #7432 )
...
Co-authored-by: Arvin Firouzi <427014@student.fontys.nl >
2020-07-09 23:10:32 +03:00
Bruno Oliveira
b22d466345
Remove duplicated users from release announcement
2020-07-08 17:51:57 -04:00
Bruno Oliveira
7d033a8950
Prepare release version 6.0.0rc1
2020-07-08 17:51:01 -04:00
Bruno Oliveira
64b19595a5
Set correct version during regen
2020-07-08 17:49:09 -04:00
Bruno Oliveira
d812690569
Adjust regendoc for getting-started
2020-07-08 17:49:09 -04:00
Bruno Oliveira
9db9f04432
Use builtin compile in doc example
...
Follow up to #7438
2020-07-08 17:49:09 -04:00
Vlad-Radz
678c1a0745
assertion: improve diff output of recursive dataclass/attrs
...
Co-authored-by: Vlad <uladzislau.radziuk@nordcloud.com >
2020-07-08 19:04:56 +03:00
Bruno Oliveira
9caca5c434
Merge pull request #7454 from nicoddemus/remove-warning-banner
2020-07-08 10:11:08 -03:00
Bruno Oliveira
93d2ccbfb7
Point to stable docs instead of latest
...
Now that our master might contain new features, it is best to point
users to the stable docs rather than the latest
2020-07-07 07:45:27 -03:00
Bruno Oliveira
b6a31b9c4d
Remove warning about development/outdated docs
...
Unfortunately couldn't figure out how to fix the generated link, so at least
for now remove it to avoid confusion.
Fix #7331
2020-07-06 20:28:30 -03:00
Ran Benita
ef62b865f0
Merge pull request #7448 from bluetech/typing-publish
...
Publish our types
2020-07-05 16:51:26 +03:00
Ran Benita
2bcad38fbd
Publish our types
2020-07-04 13:18:15 +03:00
Ran Benita
36b958c99e
Merge pull request #7438 from bluetech/source-cleanups
...
code/source: some cleanups
2020-07-04 12:57:32 +03:00
Ran Benita
11efe057ea
testing: skip some unreachable code in coverage
2020-07-04 12:12:52 +03:00
Ran Benita
40301effb8
Add changelog entry for code/source changes
2020-07-04 11:45:28 +03:00
Ran Benita
64dd7000e5
Merge pull request #7436 from bluetech/cleanup-lsof
...
pytester: slightly clean up LsofFdLeakChecker
2020-07-04 10:55:11 +03:00
Ran Benita
f76ac4c570
Merge pull request #7437 from bluetech/flaky-coroutine-never-awaited
...
testing: fix flaky tests due to "coroutine never awaited" warnings
2020-07-04 10:54:38 +03:00
Ran Benita
eced536eaf
Merge pull request #7435 from bluetech/python-cleanups
...
python: a few cleanups
2020-07-04 10:54:07 +03:00
Ran Benita
bd4977eba8
Merge pull request #7442 from gnikonorov/issue_7439
...
fix mypy issue by using typing Match instead of re.Match
2020-07-03 10:23:52 +03:00
Gleb Nikonorov
e596b26f1a
Don't quote the Match type since it's imported from Typing
2020-07-02 18:22:54 -04:00
Gleb Nikonorov
04d052e306
fix mypy issue by using typing Match instead of re.Match
2020-07-02 15:32:23 -04:00
Ran Benita
74f20f9fba
Merge pull request #7434 from bluetech/distinct_log_handlers-rebased
...
logging: use unique handlers for caplog and reports
2020-07-01 20:54:55 +03:00
Ran Benita
c8cfff6de5
testing: fix flaky tests due to "coroutine never awaited" warnings
...
They sometime leak into other test's warnings and cause them to fail.
2020-07-01 20:29:04 +03:00
Ran Benita
f5c69f3eb2
code/source: inline getsource()
...
The recursive way in which Source and getsource interact is a bit
confusing, just inline it.
2020-07-01 20:20:13 +03:00
Ran Benita
ef39115001
code/source: remove compiling functions
...
A lot of complex code that isn't used anymore outside of tests after
the previous commit.
2020-07-01 20:20:12 +03:00
Ran Benita
9640c9c9eb
skipping: use plain compile() instead of _pytest._code.compile()
...
eval() is used for evaluating string conditions in skipif/xfail e.g.
@pytest.mark.skipif("1 == 0")
This is the only code that uses `_pytest._code.compile()`, so removing
its last use enables us to remove it entirely.
In this case it doesn't add much. Plain compile() gives a good enough
error message.
For regular exceptions, the message is the same.
For SyntaxError exceptions, e.g. "1 ==", the previous code adds a little
bit of useful context:
```
invalid syntax (skipping.py:108>, line 1)
The above exception was the direct cause of the following exception:
1 ==
^
(code was compiled probably from here: <0-codegen /pytest/src/_pytest/skipping.py:108>) (line 1)
During handling of the above exception, another exception occurred:
Error evaluating 'skipif' condition
1 ==
^
SyntaxError: invalid syntax
```
The new code loses it:
```
unexpected EOF while parsing (<skipif condition>, line 1)
During handling of the above exception, another exception occurred:
Error evaluating 'skipif' condition
1 ==
^
SyntaxError: invalid syntax
```
Since the old message is a minor improvement to an unlikely error
condition in a deprecated feature, I think it is not worth all the code
that it requires.
2020-07-01 20:20:12 +03:00
Ran Benita
4a27d7d973
code/source: remove unused method Source.putaround()
2020-07-01 20:20:11 +03:00
Ran Benita
a7303b52db
code/source: remove unused method Source.isparseable()
2020-07-01 20:20:11 +03:00
Ran Benita
a127a22d13
code/source: remove support for comparing Source with str
...
Cross-type comparisons like this are a bad idea. This isn't used.
2020-07-01 20:20:10 +03:00
Ran Benita
2b99bfbc60
code/source: remove support for passing multiple parts to Source
...
It isn't used, so keep it simple.
2020-07-01 20:20:09 +03:00
Ran Benita
c83e16ab2e
code/source: remove unneeded assert
...
inspect.getsource() definitely returns str.
2020-07-01 20:20:09 +03:00
Ran Benita
c6083ab970
code/source: remove old IndentationError workaround in getsource()
...
This has been there since as far as the git history goes (2007), is not
covered by any test, and says "Buggy python version consider upgrading".
Hopefully everyone have upgraded...
2020-07-01 20:20:08 +03:00
Ran Benita
4108174777
code/source: remove Source(deindent: bool) parameter
...
Not used, except in tests.
2020-07-01 20:20:07 +03:00
Ran Benita
2fe178488a
code/source: expose deindent kwarg in signature
...
Probably was done to avoid the shadowing issue, but work around it
instead.
2020-07-01 20:20:06 +03:00
Ran Benita
7b1ba7c0db
pytester: slightly clean up LsofFdLeakChecker
2020-07-01 19:39:48 +03:00
Ruaridh Williamson
304f2916fc
logging: use unique handlers for caplog and reports
...
Setting log_level via the CLI or .ini will control the log level of the
report that is dumped upon failure of a test.
If caplog modified the log level during the execution of that test, it
should not impact the level that is displayed upon failure in the
"captured log report" section.
[
ran:
- rebased
- reused handler
- changed store keys also to "caplog_handler_*"
- added changelog
all bugs are mine :)
]
2020-07-01 19:30:03 +03:00
Ran Benita
ae83dbd4cf
python: remove ancient Function.repr_failure(outerr) parameter
...
This has been asserted like this since 04e9197fd6
(i.e. 11 years, pytest 1.0), seems safe to simply remove at this point.
2020-06-30 13:14:03 +03:00
Ran Benita
40c355f8c3
python: pytest_pycollect_makeitem doesn't need to be a hookwrapper
...
A trylast is more appropriate for this usecase.
hookwrappers are more complicated and more expensive than regular
hookimpls, so better avoided.
2020-06-30 13:14:03 +03:00
Ran Benita
e492b1d567
python: don't pass entire Item for generating ID
...
Just the nodeid is enough for the error messages.
This removes an import cycle.
2020-06-30 13:13:45 +03:00
Ran Benita
e6e300e729
Merge pull request #7396 from gnikonorov/issue_7295
...
Refactor src/_pytest/config/__init__.py to use the warnings module instead of stderr for warnings
2020-06-28 18:02:07 +03:00
Gleb Nikonorov
49ec2aed0f
change stacklevel in warnings from 2 to 3
2020-06-28 10:48:33 -04:00
Ran Benita
992a7a8d38
Merge pull request #7397 from lgeiger/reduce-ihook-calls
...
Reduce calls to item.ihook
2020-06-28 15:01:43 +03:00
Gleb Nikonorov
c39655725a
change if else structure of _warn_bout_missing_assertion
2020-06-27 19:49:19 -04:00
Gleb Nikonorov
72a39117a8
Merge remote-tracking branch 'origin' into issue_7295
2020-06-27 19:43:03 -04:00
Bruno Oliveira
289197ff22
Remove package scope experimental status
...
Close #7389
2020-06-27 11:16:50 -03:00
Ran Benita
7450b6dd95
Merge pull request #7418 from bluetech/typing-3
...
More typing work
2020-06-27 10:54:29 +03:00
Anthony Sottile
61014c5f94
Merge pull request #6934 from gdhameeja/Fix-6906
...
Fix-6906: Added code-highlight option to disable highlighting optionally
2020-06-26 13:41:40 -07:00
gdhameeja
03230b4002
Fix-6906: Added code-highlight option to disable highlighting optionally
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-06-26 13:24:56 -07:00
Bruno Oliveira
d9546ff18f
Merge pull request #7421 from The-Compiler/webinar
...
Add webinar to open trainings
2020-06-26 12:30:14 -03:00
Florian Bruhin
103bfd20d4
Add webinar
2020-06-26 17:08:14 +02:00
Ran Benita
1ae4182e18
testing: fix flaky tests on pypy3 due to resource warnings in stderr ( #7405 )
2020-06-26 09:50:19 -03:00
Lukas Geiger
97d2c711e6
Reduce calls of Node.ihook
2020-06-26 14:46:37 +02:00
Bruno Oliveira
e377c88495
Merge pull request #7419 from The-Compiler/workshoptage
2020-06-25 14:52:01 -03:00
Florian Bruhin
ba50ef33d3
Add open training at Workshoptage 2020
2020-06-25 17:32:34 +02:00
Ran Benita
f382a6bb20
hookspec: remove unused hookspec pytest_doctest_prepare_content()
...
It's been unused for 10 years at lest from bb50ec89a9 .
2020-06-25 17:44:56 +03:00
Ran Benita
256a5d8b14
hookspec: improve typing of some remaining hooks
2020-06-25 17:33:21 +03:00
Ran Benita
97a11726e2
freeze_support: type annotate
2020-06-25 15:28:34 +03:00
Ran Benita
8f8f472379
python_api: type annotate some parts of pytest.approx()
2020-06-25 15:15:24 +03:00
Ran Benita
142d8963e6
recwarn: type annotate pytest.deprecated_call
...
Also improve its documentation.
2020-06-25 14:40:26 +03:00
Ran Benita
653c83e127
recwarn: type annotate recwarn fixture
2020-06-25 14:30:42 +03:00
Ran Benita
4d813fdf5e
recwarn: improve return type annotation of non-contextmanager pytest.warns
...
It returns the return value of the function.
2020-06-25 14:30:42 +03:00
Ran Benita
f00bec2a12
Replace yield_fixture -> fixture in internal code
...
`yield_fixture` is a deprecated alias to `fixture`.
2020-06-25 14:05:46 +03:00
Ran Benita
d69e9e60d6
Merge pull request #7411 from bluetech/contributing-changelog
...
CONTRIBUTING: sync changelog types
2020-06-24 16:33:41 +03:00
Ran Benita
474973afa4
CONTRIBUTING: sync changelog types
...
The got out of date with the actual ones we use.
2020-06-24 16:11:27 +03:00
Ronny Pfannschmidt
37929030c9
Merge pull request #7406 from ffe4/patch-1
...
Fix typo in examples/markers.rst
2020-06-24 08:02:21 +02:00
Gleb Nikonorov
0dd77b3e39
Merge remote-tracking branch 'origin/master' into issue_7295
2020-06-23 23:21:36 -04:00
Daniel
6cbbd2d90b
Fix typo in examples/markers.rst
2020-06-23 22:38:11 +02:00
David Diaz Barquero
617bf8be5b
Add details to error message for junit ( #7390 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-06-23 13:03:46 -03:00
Ran Benita
3624acb665
Merge pull request #7401 from bluetech/typing-config
...
config: improve typing
2020-06-23 18:58:21 +03:00
Ran Benita
c6f4c2e5c6
Merge pull request #7402 from bluetech/fix-nodes-keywords-typo
...
nodes: fix string possibly stored in Node.keywords instead of MarkDecorator
2020-06-23 18:57:25 +03:00
Ran Benita
8994e1e3a1
config: make _get_plugin_specs_as_list a little clearer and more general
2020-06-23 11:47:52 +03:00
Ran Benita
04a6d37823
nodes: fix string possibly stored in Node.keywords instead of MarkDecorator
...
This mistake was introduced in 7259c453d6 .
2020-06-22 16:51:11 +03:00
Ran Benita
4655b79985
config: improve typing
2020-06-22 16:39:14 +03:00
Ran Benita
83891d9022
Merge pull request #7387 from cool-RR/2020-06-11-raise-from
...
Fix exception causes all over the codebase
2020-06-21 22:42:18 +03:00
Ran Benita
99d34ba029
Merge pull request #7388 from bluetech/mark-evaluate
...
skipping: refactor mark evaluation
2020-06-21 21:47:56 +03:00
Ran Benita
27492cf7a0
Merge pull request #7379 from bluetech/typing-builtin-marks
...
Type annotate pytest.mark.{skip,skipif,xfail,parametrize,usefixtures,filterwarnings}
2020-06-21 20:44:27 +03:00
Ran Benita
b3fb5a2d47
Type annotate pytest.mark.* builtin marks
2020-06-21 20:18:52 +03:00
Ran Benita
7d8d1b4440
skipping: better links in --markers output
...
Suggested by Bruno.
2020-06-21 20:15:10 +03:00
Ran Benita
c9737ae914
skipping: simplify xfail handling during call phase
...
There is no need to do the XPASS check here, pytest_runtest_makereport
already handled that (the current handling there is dead code).
All the hook needs to do is refresh the xfail evaluation if needed, and
check the NOTRUN condition again.
2020-06-21 19:54:29 +03:00
Gleb Nikonorov
33de350619
parametrize test_warn_missing for a cleaner test
2020-06-21 10:26:36 -04:00
Gleb Nikonorov
fe68c58698
add test_warn_missing case for --assert=plain
2020-06-20 13:06:41 -04:00
Gleb Nikonorov
a9d50aeab6
remove extra whitespace
2020-06-20 12:18:55 -04:00
Gleb Nikonorov
ac89d6532a
replace stderr warnings with the warnings module
2020-06-20 12:15:58 -04:00
Ran Benita
3e6fe92b7e
skipping: refactor skipif/xfail mark evaluation
...
Previously, skipif/xfail marks were evaluated using a `MarkEvaluator`
class. I found this class very difficult to understand.
Instead of `MarkEvaluator`, rewrite using straight functions which are
hopefully easier to follow.
I tried to keep the semantics exactly as before, except improving a few
error messages.
2020-06-20 16:15:28 +03:00
Ram Rachum
dd446bee5e
Fix exception causes all over the codebase
2020-06-19 22:02:24 +03:00
Ran Benita
6072c9950d
skipping: move MarkEvaluator from _pytest.mark.evaluate to _pytest.skipping
...
This type was actually in `_pytest.skipping` previously, but was moved to
`_pytest.mark.evaluate` in cf40c0743c .
I think the previous location was more appropriate, because the
`MarkEvaluator` is not a generic mark facility, it is explicitly and
exclusively used by the `skipif` and `xfail` marks to evaluate their
particular set of arguments. So it is better to put it in the plugin
code.
Putting `skipping` related functionality into the core `_pytest.mark`
module also causes some import cycles which we can avoid.
2020-06-19 13:33:54 +03:00
Ran Benita
a1f841d5d2
skipping: use pytest_runtest_call instead of pytest_pyfunc_call
...
`@pytest.mark.xfail` is meant to work with arbitrary items, and there is
a test `test_mark_xfail_item` which verifies this.
However, the code for some reason uses `pytest_pyfunc_call` for the
call phase check, which only works for Function items. The test
mentioned above only passed "accidentally" because the
`pytest_runtest_makereport` hook also runs a `evalxfail.istrue()` which
triggers and evaluation, but conceptually it shouldn't do that.
Change to `pytest_runtest_call` to make the xfail checking properly
generic.
2020-06-19 13:33:53 +03:00
Gleb Nikonorov
4cc4ebf3c9
Don't treat ini keys defined in conftest.py as invalid ( #7384 )
2020-06-18 12:58:41 -03:00
Bruno Oliveira
88a187aae8
Merge pull request #7382 from gnikonorov/fix_issue_4049_changelog_title
...
fix changelog file name for issue 4049 fix
2020-06-16 22:10:40 -03:00
Gleb Nikonorov
ab19148c2a
fix changelog file name for issue 4049 fix
2020-06-16 20:59:58 -04:00
Andrew
a67c553beb
Disable caching when evaluating expressions in marks ( #7373 )
2020-06-16 12:39:36 +03:00
Ran Benita
b6fd89ef31
Merge pull request #7370 from bluetech/typing3
...
Some type annotations, doc improvements
2020-06-16 11:23:57 +03:00
Bruno Oliveira
db00612b84
Merge pull request #7364 from nicoddemus/parseoutcomes-plural-6505
...
assertoutcomes() only accepts plural forms
2020-06-15 20:27:40 -03:00
Bruno Oliveira
d7c5b61f6d
Docs: Update tense, the final Python 2.7 was released in April ( #7367 )
...
Docs: Update tense, the final Python 2.7 was released in April
2020-06-15 16:16:39 -03:00
Ronny Pfannschmidt
4e5a7b7d2f
Merge pull request #7366 from gnikonorov/issue_7346
...
Allow users to provide version information to the required_plugins INI key
2020-06-15 20:19:05 +02:00
Ran Benita
06489d26c1
Merge pull request #7372 from bluetech/py-182
...
Require py>=1.8.2 so we can rely on correct hash() of py.path.local n Windows
2020-06-15 20:51:50 +03:00
Ran Benita
7b77fc086a
Merge pull request #7368 from bluetech/teardown-in-setup
...
runner: don't try to teardown previous items from pytest_runtest_setup
2020-06-15 19:41:21 +03:00
Ran Benita
c27550731d
Require py>=1.8.2 so we can rely on correct hash() of py.path.local on Windows
...
See https://github.com/pytest-dev/py/blob/1.8.2/CHANGELOG#L4 .
Fixes #7357 .
2020-06-15 19:36:38 +03:00
Ran Benita
4f4c2638d0
Merge pull request #7351 from cool-RR/2020-06-11-raise-from
...
Fix exception causes in config/__init__.py
2020-06-14 18:03:56 +03:00
Ran Benita
33804fd9b7
doc/reference: move "Collection hooks" before "Test running hooks"
...
Collection occurs before test running, so it seems more logical.
2020-06-14 17:31:38 +03:00
Ran Benita
da1124eb98
hookspec: improve runtest hooks documentation
2020-06-14 17:31:38 +03:00
Ran Benita
2a38ca8a0c
doc/reference: add CollectReport
...
CollectReport appears in several hooks, so we should document it. It's
runtest equivalent TestReport is already documented.
2020-06-14 16:55:41 +03:00
Ran Benita
5e35c86a37
doc/reference: refer to function public names instead of internal _pytest names
...
This way e.g. a :py:func:`pytest.exit` cross-reference works properly.
2020-06-14 16:54:50 +03:00
Ran Benita
bb878a2b13
runner: don't try to teardown previous items from pytest_runtest_setup
...
While working on improving the documentation of the
`pytest_runtest_setup` hook, I came up with this text:
> Called to perform the setup phase of the test item.
>
> The default implementation runs ``setup()`` on item and all of its
> parents (which haven't been setup yet). This includes obtaining the
> values of fixtures required by the item (which haven't been obtained
> yet).
But upon closer inspection I noticed this line at the start of
`SetupState.prepare` (which is what does the actual work for
`pytest_runtest_setup`):
self._teardown_towards(needed_collectors)
which implies that the setup phase of one item might trigger teardowns
of *previous* items. This complicates the simple explanation. It also
seems like a completely undesirable thing to do, because it breaks
isolation between tests -- e.g. a failed teardown of one item shouldn't
cause the failure of some other items just because it happens to run
after it.
So the first thing I tried was to remove that line and see if anything
breaks -- nothing did. At least pytest's own test suite runs fine. So
maybe it's just dead code?
2020-06-14 13:48:05 +03:00
Ran Benita
314d00968a
hookspec: type annotate pytest_runtest_log{start,finish}
2020-06-14 12:51:06 +03:00
Ran Benita
bb7b3af9b9
hookspec: fix return type annotation of pytest_runtest_makereport
2020-06-13 22:30:00 +03:00
Ran Benita
25064eba7a
pytest.collect: type annotate (backward compat module)
...
This is just to satisfy typing coverage.
2020-06-13 22:29:24 +03:00
Hugo van Kemenade
03d0a10e3a
The final Python 2.7 was released in April
...
The final Python 2.7.18 release was on 20 Apr 2020.
https://mail.python.org/archives/list/python-dev@python.org/thread/OFCIETIXLX34X7FVK5B5WPZH22HXV342/#OFCIETIXLX34X7FVK5B5WPZH22HXV342
2020-06-13 20:50:24 +03:00
Gleb Nikonorov
320625527a
Add more tests and docs
2020-06-13 11:22:18 -04:00
Bruno Oliveira
ab6dacf1d1
Introduce --import-mode=importlib ( #7246 )
...
Fix #5821
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-06-13 11:29:01 -03:00
Bruno Oliveira
2c37585f58
Merge pull request #7258 from piotrhm/issue_6471
2020-06-13 11:14:18 -03:00
Gleb Nikonorov
8a022c0ce3
test to make sure precommit is fixed
2020-06-13 09:57:13 -04:00
Gleb Nikonorov
f8a8bdbeb0
remove pre-commit change
2020-06-13 09:55:55 -04:00
Gleb Nikonorov
7ea116d74c
Merge remote-tracking branch 'origin' into issue_7346
2020-06-13 09:54:23 -04:00
Bruno Oliveira
3151219785
assertoutcomes() only accepts plural forms
...
Fix #6505
2020-06-13 10:29:22 -03:00
Ran Benita
f551cab877
Merge pull request #7358 from bluetech/typing2
...
More type annotations, fix some typing bugs
2020-06-13 10:44:11 +03:00
Gleb Nikonorov
6f8633cc17
add in solution barring documentation
2020-06-13 02:47:15 -04:00
Bruno Oliveira
aaa6f1c3fa
Merge pull request #7330 from gnikonorov/issue_7305
2020-06-12 19:35:38 -03:00
Ram Rachum
caa984c029
Fix exception causes in config/__init__.py
2020-06-12 18:49:57 +03:00
Ran Benita
a5ab7c19fb
config: reject minversion if it's a list instead of a single string
...
Fixes:
src/_pytest/config/__init__.py:1071: error: Argument 1 to "Version" has incompatible type "Union[str, List[str]]"; expected "str" [arg-type]
2020-06-12 17:34:31 +03:00
Ran Benita
1cf9405075
Fix some type errors around py.path.local
...
These errors are found using a typed version of py.path.local.
2020-06-12 17:34:31 +03:00
Ran Benita
0256cb3aae
hookspec: type annotate pytest_internalerror
...
Also switch to using ExceptionRepr instead of
`Union[ReprExceptionInfo, ExceptionChainRepr]`
which is somewhat annoying and less future proof.
2020-06-12 17:34:31 +03:00
Ran Benita
7081ed19b8
hookspec: type annotate pytest_keyboard_interrupt
2020-06-12 17:34:31 +03:00
Ran Benita
b4f046b777
monkeypatch: add type annotations
2020-06-12 17:34:31 +03:00
Ran Benita
f84ffd9747
Remove unused type: ignores
...
Not needed since update from mypy 0.770 -> 0.780.
2020-06-12 17:34:31 +03:00
Zac Hatfield-Dodds
0f30103d9c
Merge pull request #7356 from Zac-HD/emancipate
...
Finish deprecation of "slave"
2020-06-12 23:13:11 +10:00
Zac-HD
564b2f707d
Finish deprecation of "slave"
2020-06-12 22:49:33 +10:00
Gleb Nikonorov
1474f24c07
Merge branch 'issue_7305' of github.com:gnikonorov/pytest into issue_7305
2020-06-12 08:28:23 -04:00
Gleb Nikonorov
2c8e356174
rename _emit_warning_or_fail to _warn_or_fail_if_strict and fix a doc typo
2020-06-12 08:27:55 -04:00
Bruno Oliveira
72344a5620
Merge pull request #7352 from nicoddemus/lock-unlink-5456
...
Suppress errors while removing tmpdir's lock files
2020-06-12 08:53:06 -03:00
Bruno Oliveira
ab331c906e
Suppress errors while removing tmpdir's lock files
...
Fix #5456
2020-06-11 18:59:51 -03:00
Gleb Nikonorov
57415e68ee
Update changelog/7305.feature.rst
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-06-11 16:55:25 -04:00
Bruno Oliveira
0821c5c81d
Merge pull request #7349 from tbm/doc
2020-06-11 07:55:53 -03:00
Martin Michlmayr
68572179cb
doc: Fix typos and cosmetic issues
2020-06-11 16:22:47 +08:00
Gleb Nikonorov
c18afb59f5
final touches
2020-06-10 19:09:24 -04:00
Bruno Oliveira
c76077c63e
Merge pull request #7345 from The-Compiler/fixture-docs
...
doc: Explain indirect parametrization and markers for fixtures
2020-06-10 17:16:08 -03:00
Florian Bruhin
e36d5c05c6
doc: Explain indirect parametrization and markers for fixtures
2020-06-10 14:27:45 +02:00
Gleb Nikonorov
95cb7fb676
review feedback
2020-06-10 00:44:22 -04:00
Bruno Oliveira
c83801eed0
Merge pull request #6835 from iwanb/master
2020-06-09 15:01:35 -03:00
Bruno Oliveira
10cee92955
Fix typo
2020-06-09 14:58:57 -03:00
Bruno Oliveira
c229d6f46f
Fix mypy checks
2020-06-09 14:48:49 -03:00
Bruno Oliveira
5a78df4bd0
Update CHANGELOG
2020-06-09 14:43:04 -03:00
Ran Benita
09988f3ed1
Update testing/test_assertion.py
2020-06-09 14:39:40 -03:00
ibriquem
e2e7f15b71
Make dataclasses/attrs comparison recursive, fixes #4675
2020-06-09 14:39:40 -03:00
Bruno Oliveira
3de85a9ac9
Merge pull request #6944 from piotrhm/issue_1120
2020-06-09 11:31:58 -03:00
piotrhm
e862643b3f
Update 1120.bugfix.rst
2020-06-09 11:17:31 -03:00
piotrhm
f0e47c1ed6
Fix typo
2020-06-09 11:17:31 -03:00
piotrhm
bde0ebcda9
Replace cleanup_numbered_dir with atexit.register
2020-06-09 11:17:31 -03:00
Bruno Oliveira
c871d8b2b6
Merge pull request #7304 from asottile/cache_pre_commit
...
cache the pre-commit environment
2020-06-09 10:56:42 -03:00
Bruno Oliveira
3100f8ec29
Merge pull request #7341 from gnikonorov/issue_7334
...
Add documentation on closing issues
2020-06-09 09:11:47 -03:00
Anthony Sottile
aabf03350a
Merge pull request #7326 from xinbinhuang/improve_marker_doc
...
Remove start_doc_server.sh script
2020-06-09 01:55:30 -07:00
Xinbin Huang
c471b382f5
Remove start_doc_server.sh script
2020-06-08 21:01:11 -07:00
Gleb Nikonorov
96d4e2f571
Add documentation on closing issues
2020-06-08 23:58:44 -04:00
Bruno Oliveira
357f9b6e83
Add type annotations
2020-06-08 22:26:14 -03:00
Bruno Oliveira
d5a8bf7c6c
Improve CHANGELOG
2020-06-08 22:26:14 -03:00
piotrhm
df562533ff
Fixed test
2020-06-08 22:26:14 -03:00
piotrhm
2be1c61eb3
Fixed linting 2
2020-06-08 22:26:14 -03:00
piotrhm
5e0e12d69b
Fixed linting
2020-06-08 22:26:14 -03:00
piotrhm
51fb11c1d1
Added tests
2020-06-08 22:26:14 -03:00
piotrhm
0b70300ba4
Added requested modifications
2020-06-08 22:26:14 -03:00
Bruno Oliveira
fcbaab8b0b
Allow tests to override "global" log_level (rebased) ( #7340 )
...
Co-authored-by: Ruaridh Williamson <ruaridh.williamson@flexciton.com >
2020-06-08 22:05:46 -03:00
Prashant Anand
e78207c936
7119: data loss with mistyped --basetemp ( #7170 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-06-08 21:54:22 -03:00
Bruno Oliveira
a76855912b
Introduce guidelines for closing stale issues/PRs ( #7332 )
...
* Introduce guidelines for closing stale issues/PRs
Close #7282
Co-authored-by: Anthony Sottile <asottile@umich.edu >
Co-authored-by: Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com >
Co-authored-by: Anthony Sottile <asottile@umich.edu >
Co-authored-by: Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com >
2020-06-08 21:15:53 -03:00
Fabio Zadrozny
322190fd84
Fix issue where working dir becomes wrong on subst drive on Windows. Fixes #5965 ( #6523 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-06-08 10:56:40 -03:00
Bruno Oliveira
c17d50829f
Add pyproject.toml support ( #7247 )
2020-06-08 10:03:10 -03:00
Gleb Nikonorov
13add4df43
documentation fixes
2020-06-07 15:37:50 -04:00
Gleb Nikonorov
d2bb67bfda
validate plugins before keys in config files
2020-06-07 14:10:20 -04:00
Gleb Nikonorov
42deba59e7
Update documentation as suggested
2020-06-06 22:34:15 -04:00
Bruno Oliveira
ceac6736d7
Fix mention using --rootdir mention inside pytest.ini (not supported) ( #6825 )
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-06-06 19:17:40 -03:00
Gleb Nikonorov
f1746c50ea
Merge remote-tracking branch 'origin/master' into issue_7305
2020-06-06 12:37:56 -04:00
Gleb Nikonorov
3f6b3e7faa
update help for --strict-config
2020-06-06 11:33:28 -04:00
Gleb Nikonorov
f760b105ef
Touchup pre-PR
2020-06-06 11:06:08 -04:00
Ran Benita
10bfcf5904
Merge pull request #7324 from bluetech/ast-name-consts
...
mark/expression: prevent creation of illegal Python identifiers
2020-06-06 10:28:46 +03:00
Gleb Nikonorov
2a3c21645e
Commit solution thus far, needs to be polished up pre PR
2020-06-06 02:38:18 -04:00
Ran Benita
1deaa74345
mark/expression: prevent creation of illegal Python identifiers
...
This is rejected by Python DEBUG builds, as well as regular builds in
future versions.
2020-06-05 15:57:48 +03:00
Xinbin Huang
19ad588935
Add reference to builtin markers to doc ( #7321 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-06-05 08:10:16 -03:00
Ran Benita
cc283cfe79
Merge pull request #7142 from bluetech/typing
...
Add more type annotations
2020-06-05 11:55:28 +03:00
Ran Benita
2b05faff0a
Improve types around repr_failure()
2020-06-05 11:34:20 +03:00
Ran Benita
54ad048be7
Enable check_untyped_defs mypy option for testing/ too
2020-06-05 11:34:20 +03:00
Ran Benita
71dfdca4df
Enable check_untyped_defs mypy option for src/
...
This option checks even functions which are not annotated. It's a good
step to ensure that existing type annotation are correct.
In a Pareto fashion, the last few holdouts are always the ugliest,
beware.
2020-06-05 11:34:20 +03:00
Ran Benita
848ab00663
Type annotate @pytest.mark.foo
2020-06-05 11:34:20 +03:00
Ran Benita
c0af19d8ad
Type annotate more of _pytest.terminal
2020-06-05 11:34:20 +03:00
Ran Benita
2833884688
Type annotate pytest.fixture and more improvements to _pytest.fixtures
2020-06-05 11:34:20 +03:00
Ran Benita
8bcf1d6de1
Remove duplicated conversion of pytest.fixture() params argument
...
The FixtureFunctionMarker attrs class already converts the params
itself.
When adding types, the previous converter composition causes some type
error, but extracting it to a standalone function fixes the issue (a
lambda is not supported by the mypy plugin, currently).
2020-06-05 11:34:20 +03:00
Ran Benita
1bd7d025d9
Type annotate more of _pytest.fixtures
2020-06-05 11:34:20 +03:00
Ran Benita
f8bb61ae5b
Type annotate _pytest.warnings
2020-06-05 11:34:20 +03:00
Ran Benita
01797e6370
Type annotate _pytest.debugging (a bit)
2020-06-05 11:34:20 +03:00
Ran Benita
216a010ab7
Type annotate _pytest.junitxml
2020-06-05 11:34:20 +03:00
Ran Benita
3e351afeb3
Type annotate _pytest.capture
2020-06-05 11:34:20 +03:00
Ran Benita
b51ea4f1a5
Type annotate _pytest.unittest
2020-06-05 11:34:20 +03:00
Ran Benita
db52928684
Type annotate _pytest.logging
2020-06-05 11:34:20 +03:00
Ran Benita
90e58f8961
Type annotate some parts related to runner & reports
2020-06-05 11:34:20 +03:00
Ran Benita
709bcbf3c4
Type annotate _pytest.mark.evaluate
2020-06-05 11:34:20 +03:00
Ran Benita
fc325bc0c3
Type annotate more of _pytest.nodes
2020-06-05 11:34:19 +03:00
Ran Benita
32dd0e87cb
Type annotate _pytest.doctest
2020-06-05 11:34:19 +03:00
Ran Benita
387d9d04f7
Type annotate tricky reorder_items() function in fixtures.py
2020-06-05 11:34:19 +03:00
Ran Benita
e68a26199c
Type annotate misc functions
2020-06-05 11:34:19 +03:00
Ran Benita
d95132178c
Type annotate _pytest.assertion
2020-06-05 11:34:19 +03:00
Ran Benita
30e3d473c4
Type annotate _pytest._io.saferepr
2020-06-05 11:34:19 +03:00
Ran Benita
247c4c0482
Type annotate some more hooks & impls
2020-06-05 11:34:19 +03:00
Ran Benita
ef34729541
Type annotate fixtures.py & related
2020-06-05 11:34:19 +03:00
Ran Benita
be00e12d47
Type annotate main.py and some parts related to collection
2020-06-05 11:34:19 +03:00
Ran Benita
f8de424241
Type annotate CallSpec2
2020-06-05 11:34:19 +03:00
Ran Benita
0fb081aec6
Type annotate some hookspecs & impls
...
Annotate some "easy" arguments of hooks that repeat in a lot of internal
plugins.
Not all of the arguments are annotated fully for now.
2020-06-05 11:34:19 +03:00
Ran Benita
ff8b7884e8
Type annotate ParameterSet
2020-06-05 11:34:19 +03:00
Ran Benita
43fa1ee8f9
Type annotate some misc places with no particular connection
2020-06-05 11:34:19 +03:00
Ran Benita
e7c26a92d7
Merge pull request #7253 from bluetech/fixture-special-case
...
fixtures: remove special cases when deciding when pytest.fixture() is a direct decoration
2020-06-05 11:33:43 +03:00
Anthony Sottile
4c2703bccb
Merge pull request #7317 from asottile/setup_cfg_fmt
...
Run setup-py-upgrade and setup-cfg-fmt
2020-06-04 10:23:24 -07:00
Anthony Sottile
789eea2464
Run setup-py-upgrade and setup-cfg-fmt
...
- also ran `pre-commit autoupdate`
- https://github.com/asottile/setup-py-upgrade
- https://github.com/asottile/setup-cfg-fmt
2020-06-04 09:58:58 -07:00
Bruno Oliveira
cf640a9b67
Merge pull request #7292 from kerizane/7259_iniconfig
2020-06-03 19:00:48 -03:00
Anthony Sottile
e75531791d
Merge pull request #7315 from bluetech/rm-__multicall__
...
testing: change a test to not use deprecated pluggy __multicall__ protocol
2020-06-03 12:31:35 -07:00
Ran Benita
2e219ad4f3
testing: change a test to not use deprecated pluggy __multicall__ protocol
...
It is slated to be removed in pluggy 1.0.
2020-06-03 21:51:55 +03:00
Bruno Oliveira
61a6ac9705
Merge pull request #7242 from nicoddemus/fix-flaky-test
...
Introduce _pytest.timing as a way to control timing during internal tests
2020-06-02 20:25:02 -03:00
Anthony Sottile
5814f77455
Merge pull request #7303 from nicoddemus/flaky-ini-keys
...
Show invalid ini keys sorted
2020-06-02 12:30:33 -07:00
Anthony Sottile
8cca023840
cache the pre-commit environment
2020-06-02 12:30:10 -07:00
Bruno Oliveira
8ac18bbecb
Show invalid ini keys sorted
...
Otherwise this relies on the dictionary order of `config.inicfg`, which
is insertion order in py36+ but "random" order in py35.
2020-06-02 16:01:47 -03:00
Bruno Oliveira
69d2ddcf1d
Merge pull request #7302 from nicoddemus/cherry-pick-release
...
Merge pull request #7301 from pytest-dev/release-5.4.3
2020-06-02 14:36:01 -03:00
Bruno Oliveira
be1a2e440e
Merge pull request #7301 from pytest-dev/release-5.4.3
...
Prepare release 5.4.3
2020-06-02 14:19:18 -03:00
Ran Benita
85b5a289f0
warnings: fix missing None in existing hook & add some docs ( #7288 )
2020-06-02 19:59:25 +03:00
Bruno Oliveira
7a8b8a5c9f
Merge branch 'master' into fix-flaky-test
2020-06-02 11:33:15 -03:00
Bruno Oliveira
da5851c13e
Update changelog/7291.trivial.rst
2020-06-02 11:01:37 -03:00
Ronny Pfannschmidt
8faf1e8eca
Merge pull request #7286 from gnikonorov/issue_6856
...
Output a warning to stderr when an invalid key is read from an INI config file
2020-06-02 15:47:02 +02:00
xuiqzy
5517f7264f
Remove doc line that is no longer relevant for Python3-only ( #7263 )
...
* Fix typo in capture.rst documentation
Rename ``capfsysbinary`` to ``capsysbinary`` as the former does not exist as far as i can see.
* Make Python uppercase in doc/en/capture.rst
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com >
* Remove the sentence entirely
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com >
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-06-02 15:56:39 +03:00
Gleb Nikonorov
a5d13d4ced
Add changelog entry
2020-06-02 08:21:57 -04:00
Bruno Oliveira
589c6c6acc
Merge pull request #7294 from nicoddemus/codecov-adjustments
2020-06-02 09:02:05 -03:00
Tor Colvin
fe64093411
Fix removal of very long paths on Windows ( #6755 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-06-02 08:56:33 -03:00
Bruno Oliveira
eaf46f5354
Adjust codecov: only patch statuses
...
Fix #6994
2020-06-02 08:17:43 -03:00
Ran Benita
9214e63af3
ci: use fetch-depth: 0 instead of fetching manually ( #7297 )
2020-06-02 10:29:36 +03:00
Keri Volans
2748feed38
7291: Replace py.iniconfig with iniconfig
2020-06-01 18:09:57 +01:00
Bruno Oliveira
2f406bb9cb
Replace custom flask theme by the official one ( #6453 )
...
Ref: #6402
2020-06-01 14:21:08 +02:00
Gleb Nikonorov
9ae94b08e2
Add documentation
2020-05-31 11:58:39 -04:00
Bruno Oliveira
70b5bdf4ba
Merge pull request #7264 from bluetech/wcwidth
...
Improve our own wcwidth implementation and remove dependency on wcwidth package
2020-05-31 12:37:58 -03:00
Gleb Nikonorov
92d15c6af1
review feedback
2020-05-31 11:33:31 -04:00
Simon K
9da1d0687e
adding towncrier wrapper script so 'tox -e docs' works natively on windows ( #7266 )
...
* enable tox -e docs natively on windows using a wrapper
* rename the towncrier script; run the towncrier command in a safer manner
* use subprocess.call; call exit() around main on towncrier wrapper
* change to sys.exit() instead of builtin exit()
2020-05-31 12:11:11 -03:00
Ronny Pfannschmidt
c16ede5ce6
Merge pull request #7255 from gnikonorov/issue_4049
...
Add new hook pytest_warning_recorded
2020-05-31 12:47:46 +02:00
Gleb Nikonorov
db203afba3
Add in --strict-config flag to force warnings to errors
2020-05-31 02:45:40 -04:00
Maximilian Cosmo Sitter
b32f4de891
Issue 7202 - Point development guide to contributing section ( #7280 )
2020-05-31 09:37:26 +03:00
Gleb Nikonorov
8f2c2a5dd9
Add test case for invalid ini key in different section header
2020-05-31 00:49:21 -04:00
Gleb Nikonorov
eef4f87e7b
Output a warning to stderr when an invalid key is read from an INI config file
2020-05-30 20:36:02 -04:00
Bruno Oliveira
a146559008
Merge pull request #7220 from nicoddemus/issue-6428
2020-05-30 20:14:26 -03:00
Bruno Oliveira
757bded135
Use Path() instead of str for path comparison
...
On Windows specifically is common to have drives diverging just by
casing ("C:" vs "c:"), depending on the cwd provided by the user.
2020-05-30 20:05:21 -03:00
Bruno Oliveira
b98aa195e0
Add test and changelog for #6428
2020-05-30 20:02:47 -03:00
Daniel Hahler
fb9f277a99
Node._repr_failure_py: use abspath with changed cwd
...
Fixes https://github.com/pytest-dev/pytest/issues/6428 .
2020-05-30 20:02:47 -03:00
Bruno Oliveira
56bf819c2f
Do not call TestCase.tearDown for skipped tests ( #7236 )
...
Fix #7215
2020-05-30 14:33:22 -03:00
Katarzyna Król
94c7b8b47c
Issue 1316 - longrepr is a string when pytrace=False ( #7100 )
2020-05-30 14:10:58 +03:00
Ran Benita
e3190604ef
Merge pull request #7274 from bluetech/rm-py-error
...
code: remove last usage of py.error
2020-05-28 13:10:46 +03:00
Ran Benita
2ee90887b7
code: remove last usage of py.error
...
`str(self.path)` can't raise at all, so it can just be removed.
2020-05-28 12:12:10 +03:00
Gleb Nikonorov
2af0d1e221
remove a stray comma in a test tuple
2020-05-28 00:02:28 -04:00
Gleb Nikonorov
14de08011b
fix the unit tests, add the proper deprecation warning, and add in a changelog entry
2020-05-27 23:03:07 -04:00
Anthony Sottile
b3db440d4c
Merge pull request #7257 from DahlitzFlorian/fix-issue-6956
...
Prevent pytest from printing ConftestImportFailure traceback
2020-05-27 13:49:43 -07:00
Ran Benita
54b6fe2ece
Merge pull request #7261 from bluetech/capture-cleanup-1
...
capture: some initial cleanups
2020-05-27 18:14:01 +03:00
Ran Benita
f93e021bc8
capture: remove some unclear parametrization from a test
...
The two cases end up doing the same (the tmpfile fixture isn't used
except being truthy).
2020-05-27 15:27:16 +03:00
Ran Benita
7a704288df
capture: remove unneeded getattr
...
This attribute is set in __init__ and not deleted. Other methods do it
already but this one wasn't updated.
2020-05-27 15:27:16 +03:00
Ran Benita
a35800c2e1
capture: formalize and check allowed state transition in capture classes
...
There are state transitions start/done/suspend/resume and two additional
operations snap/writeorg.
Previously it was not well defined in what order they can be called, and
which operations are idempotent.
Formalize this and enforce using assert checks with informative error
messages if they fail (rather than random AttributeErrors).
2020-05-27 15:27:15 +03:00
Ran Benita
fd3ba053cf
capture: don't assume that the tmpfile is backed by a BytesIO
...
Since tmpfile is a parameter to SysCapture, it shouldn't assume things
unnecessarily, when there is an alternative.
2020-05-27 15:19:30 +03:00
Ran Benita
97bcf5a3a2
capture: reorder file into sections and avoid forward references
...
Make it easier to read the file in progression, and avoid forward
references for upcoming type annotations.
There is one cycle, CaptureManager <-> CaptureFixture, which is hard to
untangle.
(This commit should be added to `.gitblameignore`).
2020-05-27 15:19:28 +03:00
Florian Dahlitz
5b9924e144
Fix py35 CI run
2020-05-27 09:27:13 +02:00
Gleb Nikonorov
d742b386c3
provide missing location parameter, and add type annotations to the hookspec
2020-05-27 00:53:31 -04:00
Ran Benita
aca534c67d
Improve our own wcwidth implementation and remove dependency on wcwidth package
...
`TerminalWriter`, imported recently from `py`, contains its own
incomplete wcwidth (`char_with`/`get_line_width`) implementation. The
`TerminalReporter` also needs this, but uses the external `wcwidth`
package.
This commit brings the `TerminalWriter` implementation up-to-par with
`wcwidth`, moves to implementation to a new file `_pytest._io.wcwidth`
which is used everywhere, and removes the dependency.
The differences compared to the `wcwidth` package are:
- Normalizes the string before counting.
- Uses Python's `unicodedata` instead of vendored Unicode tables. This
means the data corresponds to the Python's version Unicode version
instead of the `wcwidth`'s package version.
- Apply some optimizations.
2020-05-26 17:14:01 +03:00
Ran Benita
5507752c53
fixtures: remove special cases when deciding when pytest.fixture() is a direct decoration
...
pytest.fixture() can be used either as
@pytest.fixture
def func(): ...
or as
@pytest.fixture()
def func(): ...
or (while maybe not intended)
func = pytest.fixture(func)
so it needs to inspect internally whether it got a function in the first
positional argument or not.
Previously, there were was oddity. In the following,
func = pytest.fixture(func, autouse=True)
# OR
func = pytest.fixture(func, parms=['a', 'b'])
The result is as if `func` wasn't passed.
There isn't any reason for this special that I can understand, so remove
it.
2020-05-26 11:48:40 +03:00
Florian Dahlitz
95bd232e57
Apply suggestions from @bluetech
2020-05-26 10:31:53 +02:00
Ran Benita
ea3f44894f
capture: replace TeeSysCapture with SysCapture(tee=True)
...
This is more straightforward and does not require duplicating the
initialization logic.
2020-05-26 00:25:49 +03:00
Ran Benita
02c95ea624
capture: remove unused FDCapture tmpfile argument
2020-05-26 00:25:49 +03:00
Ran Benita
2695b41df3
capture: inline _capturing_for_request to simplify the control flow
...
With straight code, it is a little easier to understand, and simplify
further.
2020-05-26 00:25:49 +03:00
Ran Benita
491239d9b2
capture: remove some indirection in MultiCapture
...
Removing this indirection enables some further clean ups.
2020-05-26 00:25:49 +03:00
Florian Dahlitz
5ebcb34fb5
Move ConftestImportFailure check to correct position and add typing
2020-05-25 20:19:28 +02:00
Ronny Pfannschmidt
54ae27f081
Merge pull request #7252 from symonk/6900-class-per-instance-of-test-docs
...
document class instantiation for tests inside classes
2020-05-25 19:58:23 +02:00
Gleb Nikonorov
125b663f20
Address all feedback, minus the empty sring v None nodeid which is being discussed
2020-05-25 11:18:24 -04:00
Florian Dahlitz
6546d1f725
Prevent pytest from printing ConftestImportFailure traceback
2020-05-25 13:57:03 +02:00
Gleb Nikonorov
088d400b2d
rename pytest_warning_record -> pytest_warning_recorded
2020-05-24 20:43:23 -04:00
Gleb Nikonorov
b02d087dbd
cleanup code pre pr
2020-05-24 20:26:14 -04:00
Gleb Nikonorov
9ee6550181
Add in a new hook pytest_warning_recorded for warning capture
...
communication
2020-05-24 19:05:24 -04:00
symonk
5061a47de8
add missing test text to docs
2020-05-24 16:33:17 +01:00
symonk
4f93bc01af
update terminology of class individuality as per PR feedback
2020-05-24 16:31:51 +01:00
symonk
568e00af15
fixing up formatting inline with a smaller shell and typos
2020-05-24 11:43:29 +01:00
symonk
bad7a0207f
document new class instance per test
2020-05-24 11:34:54 +01:00
Anthony Sottile
981b096940
Merge pull request #7249 from asottile/deadsnakes_github_action
...
Use deadsnakes/action@v1.0.0 to install python3.9 nightly
2020-05-23 20:09:52 -07:00
Anthony Sottile
c9abdaf381
Use deadsnakes/action@v1.0.0 to install python3.9 nightly
2020-05-23 19:51:51 -07:00
Anthony Sottile
c594bbbd19
Merge pull request #7240 from DahlitzFlorian/fix-issue-7233
...
Add note about --strict and --strict-markers to references
2020-05-23 12:31:27 -07:00
Anthony Sottile
45f53266e6
Merge pull request #7244 from DahlitzFlorian/fix-issue-7150
...
Prevent hiding underlying exception when ConfTestImportFailure is raised
2020-05-23 12:09:42 -07:00
Florian Dahlitz
35e6dd0117
Add test for exposure of underlying exception
2020-05-23 18:19:33 +02:00
Bruno Oliveira
1780924b27
Introduce _pytest.timing as a way to control timing during tests
...
_pytest.timing is an indirection to 'time' functions, which pytest production
code should use instead of 'time' directly.
'mock_timing' is a new fixture which then mocks those functions, allowing us
to write time-reliable tests which run instantly and are not flaky.
This was triggered by recent flaky junitxml tests on Windows related to timing
issues.
2020-05-23 11:50:33 -03:00
Claire Cecil
79701c65ed
Added support for less verbose version information ( #7169 )
2020-05-23 11:27:58 -03:00
Simon K
05c22ff823
7154-Improve-testdir-documentation-on-makefiles ( #7239 )
2020-05-23 11:27:06 -03:00
Ran Benita
b38edec60f
Merge pull request #7238 from bluetech/micro-optimizations-1
...
A few tiny micro-optimizations/simplifications
2020-05-23 12:14:24 +03:00
Florian Dahlitz
d0eb86cfa6
Prevent hiding underlying exception when ConfTestImportFailure is raised
2020-05-22 22:58:35 +02:00
Florian Dahlitz
62d3577435
Add note about --strict and --strict-markers to references
2020-05-22 16:33:50 +02:00
Ran Benita
4a1557fa0e
Merge pull request #7091 from bluetech/capture-invalid-fd
...
Perform FD capturing even if the FD is invalid
2020-05-22 14:36:49 +03:00
Ran Benita
f1f9c7792b
Import packaging package lazily
2020-05-22 14:33:29 +03:00
Ran Benita
796fba6788
terminal: remove redundant write_fspath_result call
...
This is already done in pytest_runtest_logstart, so the fspath is
already guaranteed to have been printed (for xdist, it is disabled
anyway).
write_fspath_result is mildly expensive so it is worth avoiding calling
it twice.
2020-05-22 14:33:29 +03:00
Ran Benita
139a029b5e
terminal: remove a redundant line
...
`write_fspath_result` already does this split.
2020-05-22 14:33:29 +03:00
Ran Benita
8d841ab0b8
nodes: remove unused argument from FSHookProxy
2020-05-22 14:33:28 +03:00
Ran Benita
919ac2239d
Merge pull request #7231 from bluetech/logging-error
...
logging: propagate errors during log message emits
2020-05-22 14:27:26 +03:00
Bruno Oliveira
c98bc4cd3d
Merge pull request #7234 from mcsitter/master
2020-05-20 17:51:06 -03:00
mcsitter
fa6a13a7cc
Updated compatible python versions
...
As indicated on pypi and in the README pytest supports python version 3.8 and 3.9. The documentation should match.
2020-05-20 22:41:52 +02:00
Ran Benita
1af3c115a6
Merge pull request #7200 from bluetech/contributing-backporting
...
CONTRIBUTING: add section about backporting fixes to patch releases
2020-05-20 20:21:23 +03:00
Ran Benita
eaeafd7c30
Perform FD capturing even if the FD is invalid
...
The `FDCapture`/`FDCaptureBinary` classes, used by `capfd`/`capfdbinary`
fixtures and the `--capture=fd` option (set by default), redirect FDs
1/2 (stdout/stderr) to a temporary file. To do this, they need to save
the old file by duplicating the FD before redirecting it, to be restored
once finished.
Previously, if this duplicating (`os.dup()`) failed, most likely due to
that FD being invalid, the FD redirection would silently not be done. The
FD capturing also performs python-level redirection (monkeypatching
`sys.stdout`/`sys.stderr`) which would still be done, but direct writes
to the FDs would fail.
This is not great. If pytest is run with `--capture=fd`, or a test is
using `capfd`, it expects writes to the FD to work and be captured,
regardless of external circumstances.
So, instead of disabling FD capturing, keep the redirection to a
temporary file, just don't restore it after closing, because there is
nothing to restore to.
2020-05-20 19:32:37 +03:00
Ran Benita
b337a9a66d
CONTRIBUTING: add section about backporting fixes to patch releases
2020-05-20 19:29:13 +03:00
Bruno Oliveira
0a03217903
Merge pull request #7046 from blueyed/k-skip-session-upstream
2020-05-19 20:09:36 -03:00
Bruno Oliveira
88214310af
Merge pull request #6817 from blueyed/argparsing-_split_lines-upstream
2020-05-19 20:06:51 -03:00
Bruno Oliveira
5a2c69f150
Add CHANGELOG for #6817
2020-05-19 19:35:18 -03:00
Daniel Hahler
35d136161a
add test
...
Fixes the test to not match e.g. hypothesis (ref: bdde2ac28).
Conflicts:
testing/test_helpconfig.py
2020-05-19 19:34:08 -03:00
Daniel Hahler
691a7fceea
Revisit some help texts with regard to newlines
2020-05-19 19:34:08 -03:00
Daniel Hahler
87423d3cc8
Keep explicit newlines with help texts
...
This makes a difference for e.g. pytest-xdist:
Before:
```
--dist=distmode set mode for distributing tests to exec environments. each: …
available environment. loadscope: …
grouped by file to any available environment. (default) no: …
```
After:
```
--dist=distmode set mode for distributing tests to exec environments.
each: send each test to all available environments.
load: load balance by sending any pending test to any available environment.
…
(default) no: run tests inprocess, don't distribute.
```
This might also result in unexpected changes (hard wrapping), when line
endings where used unintentionally, e.g. with:
```
help="""
some long
help text
"""
```
But the benefits from that are worth it, and it is easy to fix, as will
be done for the internal `assertmode` option.
2020-05-19 19:34:08 -03:00
Bruno Oliveira
d05ef61e95
Merge pull request #6840 from blueyed/test_source_with_decorator
2020-05-19 19:30:23 -03:00
Bruno Oliveira
55099e57c3
Add requested comment as per review
2020-05-19 19:20:41 -03:00
Daniel Hahler
b98a182aa1
(no) coverage
2020-05-19 19:20:41 -03:00
Daniel Hahler
61180eec93
Test behavior of Source with regard to decorators
...
Unlinke `inspect.getsource` it does not unwrap functions.
2020-05-19 19:20:41 -03:00
Bruno Oliveira
5a6296a2d7
Merge pull request #7226 from nicoddemus/remove-function-args
2020-05-19 18:53:23 -03:00
Ran Benita
b13fcb23d7
logging: propagate errors during log message emits
...
Currently, a bad logging call, e.g.
logger.info('oops', 'first', 2)
triggers the default logging handling, which is printing an error to
stderr but otherwise continuing.
For regular programs this behavior makes sense, a bad log message
shouldn't take down the program. But during tests, it is better not to
skip over such mistakes, but propagate them to the user.
2020-05-19 11:16:39 +03:00
Ran Benita
85a06cfafb
Merge pull request #7227 from bluetech/logging-reuse-handler
...
logging: reuse LoggingCaptureHandler instance since it's expensive to create
2020-05-18 23:16:51 +03:00
Ran Benita
fe2febfff2
Merge pull request #7019 from bluetech/rm-pyobj_property
...
Remove pyobj_property helper, inline it instead
2020-05-18 23:13:52 +03:00
Ran Benita
694fdc6554
Remove pyobj_property helper, inline it instead
...
It doesn't save much code but adds indirection which makes it a bit
harder to follow and to type.
2020-05-18 20:54:11 +03:00
Katrin Leinweber
9bf28853bf
doc: highlight difference between progress percentage & code coverage ( #6686 )
2020-05-18 20:51:22 +03:00
Bruno Oliveira
ad3169428b
Remove unused Function.__init__ 'args' parameter
2020-05-18 14:30:48 -03:00
Daniel Hahler
8b9b81c3c0
Function: use originalname in _getobj and make it default to name ( #7035 )
2020-05-18 14:08:47 -03:00
Ran Benita
d2d11a8bdc
logging: reuse LoggingCaptureHandler instance since it's expensive to create
...
Previously, a LoggingCaptureHandler was instantiated for each test's
setup/call/teardown which turns out to be expensive.
Instead, only keep one instance and reset it between runs.
2020-05-18 11:27:50 +03:00
Anthony Sottile
9310d67773
Merge pull request #7003 from blueyed/tests-reload-upstream
...
tests: revisit tests for removed load_module
2020-05-17 14:36:13 -07:00
Daniel Hahler
18bc706fdc
tests: revisit tests for removed load_module
...
The tests came via c629f6b18 and c61ff31ffa .
The fixes from there are kind of obsoleted by 4cd08f9 (moving to importlib),
but it makes sense to keep them as integration tests in general.
2020-05-17 14:16:43 -07:00
Ran Benita
e27228a4e4
Merge pull request #7224 from bluetech/logging-simplifications
...
logging: some simplifications/cleanups
2020-05-18 00:15:59 +03:00
Ran Benita
f71ec8cc90
logging: order hookimpl's in chronological order
...
Makes it easier to understand what's going on.
2020-05-17 21:41:38 +03:00
Ran Benita
3f8200676f
logging: remove deprecated --no-print-logs option/ini
...
This option was deprecated in 5.4.0 and was marked for removal in 6.0.0.
2020-05-17 21:41:38 +03:00
Ran Benita
bd5e3f042d
logging: move log_file_handler cleanup from sessionend to unconfigure
...
It is set-up in configure, so match it.
2020-05-17 21:41:38 +03:00
Ran Benita
43c465c9bf
logging: use dummy handler when CLI logging is disabled instead of None
...
This makes the code cleaner by removing conditionals and making the CLI
and file logging completely analogous.
Doesn't affect performance.
2020-05-17 21:41:38 +03:00
Ran Benita
bd657bab3f
logging: don't use _runtest_for for the pytest_log* hooks
...
The logstart/logreport/logfinish hooks don't need the stuff in
_runtest_for. The test capturing catching_logs call is irrelevant for
them, and the item-conditional sections are gone.
2020-05-17 21:41:38 +03:00
Ran Benita
b13af52bbe
logging: call set_when() in a consistent manner
2020-05-17 21:41:38 +03:00
Ran Benita
075903dafa
logging: simplify log-file handling
...
- Instead of making it optional, always set up a handler, but possibly
going to /dev/null. This simplifies the code by removing a lot of
conditionals. It also can replace the NullHandler() we already add.
- Change `set_log_path` to just change the stream, instead of recreating
one. Besides plugging a resource leak, it enables the next item.
- Remove the capturing_logs from _runtest_for, since it sufficiently
covered by the one in pytest_runtestloop now, which wraps all other
_runtest_for calls.
The first item alone would have had an adverse performance impact, but
the last item removes it.
2020-05-17 21:41:37 +03:00
Ran Benita
e48ac692de
logging: optimize catching_logs slightly
...
Remove usage of `@contextmanager` as it is a bit slower than
hand-rolling, and also disallows re-entry which we want to use.
Removing protections around addHandler()/removeHandler(), because
logging already checks that internally.
2020-05-17 20:42:06 +03:00
Ran Benita
eceb28e4be
logging: set formatter on handler creation, not in catching_logs
...
Conceptually it doesn't check per catching_logs (and catching_logs
doesn't restore the older one either). It is just something that is
defined for each handler once.
2020-05-17 20:42:06 +03:00
Ran Benita
ce0f218793
logging: yield from _runtest_for instead of contextmanager
...
Avoid the slight overhead of contextmanager.
2020-05-17 20:42:06 +03:00
Ran Benita
9effbe7425
logging: inline _runtest_for_main into _runtest_for
...
This avoids a little bit of overhead, and makes the code a bit clearer
too.
2020-05-17 20:42:06 +03:00
Ran Benita
ac6c02f1e2
logging: use item's store for private attributes
...
This makes things type-safe and properly private.
2020-05-17 20:42:05 +03:00
Bruno Oliveira
abbd97f917
Merge pull request #7222 from nicoddemus/remove-key-error-conftest-exception
2020-05-17 11:43:43 -03:00
Bruno Oliveira
c26f389c09
Refactor handling of non-top-level pytest_plugins handling
...
Decided to move the 'if' logic together with the error message, as this leaves
the _importconftest method cleaner.
2020-05-17 11:26:30 -03:00
Bruno Oliveira
9e1e7fcabe
Use a nice string repr for ConftestImportFailure
...
The default message is often hard to read:
E _pytest.config.ConftestImportFailure: (local('D:\\projects\\pytest\\.tmp\\root\\foo\\conftest.py'), (<class 'RuntimeError'>, RuntimeError('some error',), <traceback object at 0x000001CCC3E39348>))
Using a shorter message is better:
E _pytest.config.ConftestImportFailure: RuntimeError: some error (from D:\projects\pytest\.tmp\root\foo\conftest.py)
And we don't really lose any information due to exception chaining.
2020-05-17 11:26:30 -03:00
Bruno Oliveira
5eaebc1900
Remove one of the tracebacks from conftest import failures
...
This removes the KeyError from the traceback chain when an
conftest fails to import:
return self._conftestpath2mod[key]
E KeyError: WindowsPath('D:/projects/pytest/.tmp/root/foo/conftest.py')
During handling of the above exception, another exception occurred:
...
raise RuntimeError("some error")
E RuntimeError: some error
During handling of the above exception, another exception occurred:
...
E _pytest.config.ConftestImportFailure: (...)
By slightly changing the code, we can remove the first chain, which is often
very confusing to users and doesn't help with anything.
Fix #7223
2020-05-17 11:26:02 -03:00
Bruno Oliveira
c5b367b4f4
Package.name now contains only basname of the package
...
Previously it contained the entire path, which made '-k' match
against any name in the full path of the package.
Fix #7040
2020-05-16 15:04:07 -03:00
Daniel Hahler
3d3b9511fd
-k should not match session name
...
Fixes https://github.com/pytest-dev/pytest/issues/7040 .
2020-05-16 14:15:57 -03:00
Bruno Oliveira
d4dfe863c9
Merge pull request #7221 from nicoddemus/fix-release-on-comment
2020-05-16 13:46:46 -03:00
Bruno Oliveira
e1becae24c
Fix errors introduced by #6911
...
Somehow I've missed the failures while merging, totally my fault.
2020-05-16 13:42:39 -03:00
Bruno Oliveira
f506682abe
Merge pull request #6919 from nicoddemus/backport-6914
2020-05-16 12:42:15 -03:00
Bruno Oliveira
d9f24bca9c
Merge pull request #6935 from gdhameeja/Fix-6911
2020-05-16 12:08:23 -03:00
Bruno Oliveira
68acd10349
Merge pull request #6991 from blueyed/fix-lf-cmdline-args-upstream
2020-05-15 18:49:25 -03:00
Daniel Hahler
d530d70128
Fix regressions with --lf plugin
...
Only filter with known failures, and explicitly keep paths of passed
arguments.
This also displays the "run-last-failure" status before collected files,
and does not update the cache with "--collect-only".
Fixes https://github.com/pytest-dev/pytest/issues/6968 .
2020-05-15 18:35:38 -03:00
Ran Benita
f0f552d60c
Merge pull request #6283 from felixn/master
...
Create LogCaptureHandler if necessary (closes #6240 )
2020-05-15 09:13:57 +03:00
Ran Benita
2ac28f6c65
Merge pull request #7205 from lancelote/7126
...
Issue 7126 - "saferepr" to avoid BytesWarning when using --setup-show
2020-05-14 16:04:22 +03:00
Felix Nieuwenhuizen
4dfc461036
Create LogCaptureHandler if necessary ( closes #6240 )
2020-05-13 20:38:14 +02:00
Zac Hatfield-Dodds
6df0b9c41a
Merge pull request #7213 from hrichards/clarify_docs_on_nose_yield-based_tests
2020-05-13 12:38:45 +10:00
Ran Benita
07c8e0cc7f
Merge pull request #7211 from bluetech/expr-jit
...
mark: compile -k/-m expression once, reuse for all matches
2020-05-12 13:21:41 +03:00
Ran Benita
c714f05ad7
mark: reuse compiled expression for all items in -k/-m
...
The previous commit made this possible, so utilize it.
Since legacy.py becomes pretty bare, I inlined it into __init__.py. I'm
not sure it's really "legacy" anyway!
Using a simple 50000 items benchmark with `--collect-only -k nomatch`:
Before (two commits ago):
======================== 50000 deselected in 10.31s =====================
19129345 function calls (18275596 primitive calls) in 10.634 seconds
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.001 0.001 2.270 2.270 __init__.py:149(pytest_collection_modifyitems)
1 0.036 0.036 2.270 2.270 __init__.py:104(deselect_by_keyword)
50000 0.055 0.000 2.226 0.000 legacy.py:87(matchkeyword)
After:
======================== 50000 deselected in 9.37s =========================
18029363 function calls (17175972 primitive calls) in 9.701 seconds
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 1.394 1.394 __init__.py:239(pytest_collection_modifyitems)
1 0.057 0.057 1.393 1.393 __init__.py:162(deselect_by_keyword)
The matching itself can be optimized more but that's a different story.
2020-05-12 12:55:37 +03:00
Ran Benita
622c4ce02e
mark/expression: support compiling once and reusing for multiple evaluations
...
In current pytest, the same expression is matched against all items. But
it is re-parsed for every match.
Add support for "compiling" an expression and reusing the result. Errors
may only occur during compilation.
This is done by parsing the expression into a Python `ast.Expression`,
then `compile()`ing it into a code object. Evaluation is then done using
`eval()`.
Note: historically we used to use `eval` directly on the user input --
this is not the case here, the expression is entirely under our control
according to our grammar, we just JIT-compile it to Python as a
(completely safe) optimization.
2020-05-12 12:53:12 +03:00
Ran Benita
952762207a
Merge pull request #7121 from bluetech/update-flake8
...
pre-commit: update flake8 3.7.7 -> 3.8.1
2020-05-12 12:51:46 +03:00
Ran Benita
645aaa728d
python_api: reduce scope of a except BaseException in ApproxNumpy
...
I'm not sure if it can even raise at all, but catching BaseException
would swallow ctrl-C and such and is definitely inappropriate here.
2020-05-12 12:07:56 +03:00
Ran Benita
23c9856857
Remove no longer needed noqa's
2020-05-12 09:29:47 +03:00
Ran Benita
59a12e9ab3
Replace bare excepts with except BaseException
...
Mostly I wanted to remove uses of `noqa`.
In Python 3 the two are the same.
2020-05-12 09:29:47 +03:00
Ran Benita
d1534181c0
pre-commit: upgrade flake8 3.7.7 -> 3.8.1
...
New errors:
testing/test_setupplan.py:104:15: E741 ambiguous variable name 'l'
testing/test_setupplan.py:107:15: E741 ambiguous variable name 'l'
extra/get_issues.py:48:29: E741 ambiguous variable name 'l'
testing/test_error_diffs.py:270:32: E741 ambiguous variable name 'l'
Not so sure about it but easier to just fix.
But more importantly, is a large amount of typing-related issues there
were fixed which necessitated noqa's which can now be removed.
2020-05-12 09:29:40 +03:00
Hunter Richards
06b6d5b1d5
Combine all mentions of yield into "Unsupported" section
2020-05-11 15:36:08 -05:00
Ran Benita
15d5e8cd97
Merge pull request #7210 from bluetech/minus-k-deprecations
...
mark: deprecate a couple undocumented -k syntaxes
2020-05-11 20:57:35 +03:00
Ran Benita
c4f9eaa5de
mark: deprecate a couple undocumented -k syntaxes
...
The `-k '-expr'` syntax is an old alias to `-k 'not expr'`. It's also
not a very convenient to have syntax that start with `-` on the CLI.
Deprecate it and suggest replacing with `not`.
---
The `-k 'expr:'` syntax discards all items until the first match and
keeps all subsequent, e.g. `-k foo` with
test_bar
test_foo
test_baz
results in `test_foo`, `test_baz`. That's a bit weird, so deprecate it
without a replacement. If someone complains we can reconsider or devise
a better alternative.
2020-05-11 16:07:52 +03:00
Zac Hatfield-Dodds
0ba6e1f74e
Merge pull request #7209 from pwilczynskiclearcode/master
...
#7138 Docs improvement: Apply indirect on particular arguments
2020-05-11 22:10:28 +10:00
Paweł Wilczyński
dbfc629698
#7138 Docs improvement: Apply indirect on particular arguments
2020-05-11 13:26:16 +02:00
Pavel Karateev
8bd3f1a72b
Better test method name
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-05-10 16:59:20 +03:00
Pavel Karateev
17857b67df
Better changelog wording
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-05-10 16:58:22 +03:00
Pavel Karateev
184528d0c2
Fix tests to expected repr output
2020-05-10 13:06:36 +03:00
Pavel Karateev
7b196747dd
Use saferepr for all types
2020-05-10 12:47:26 +03:00
Pavel Karateev
6b26f0f890
Rename test method and reference issue
2020-05-10 12:19:52 +03:00
Pavel Karateev
feb7a5f0d1
Omit internal solution details
2020-05-10 12:11:59 +03:00
Pavel Karateev
a2280d39ec
#7126 , use past tense in changelog
2020-05-09 14:14:23 +03:00
Pavel Karateev
903e2ab6ee
Fix #7126 - saferepr for bytes params
...
bytes parametrize parameters cause error when --setup-show is used
and Python is called with -bb flag
2020-05-09 13:57:17 +03:00
Bruno Oliveira
5e7f1ab4bf
Merge pull request #7201 from nicoddemus/bruno-tidelift
2020-05-08 13:28:14 -03:00
Anthony Sottile
abb047f71b
Add asottile as well
...
(went for alphabetical order, hope that's ok!)
2020-05-08 08:57:22 -07:00
Bruno Oliveira
97a0239aad
Add myself to TIDELIFT
2020-05-08 12:36:40 -03:00
Bruno Oliveira
741a8b8023
Merge pull request #7195 from nicoddemus/cherry-pick-release
2020-05-08 09:09:48 -03:00
Bruno Oliveira
b02b0b610b
Merge pull request #6989 from blueyed/fix-test
2020-05-08 09:04:59 -03:00
Bruno Oliveira
e6151cd8d0
Cherry-pick release 5.4.2
2020-05-08 09:03:21 -03:00
Bruno Oliveira
5dd987e10f
Merge pull request #6999 from bluetech/simplify-fixture-compat
2020-05-08 08:06:35 -03:00
Bruno Oliveira
9657798c12
Merge pull request #7158 from CarycaKatarzyna/issue_7076
2020-05-08 07:56:03 -03:00
Ran Benita
857b5c9ccd
Merge pull request #7185 from bluetech/sigpipe
...
Handle SIGPIPE/BrokenPipeError in pytest's CLI
2020-05-08 13:32:34 +03:00
Ran Benita
c66bf59fd5
ci: update github action versions, remove outdated comment ( #7177 )
2020-05-08 13:03:51 +03:00
Bruno Oliveira
a039fe3e92
Merge pull request #7187 from asottile/update-contributing
2020-05-08 06:58:37 -03:00
Ran Benita
73448f265d
Handle EPIPE/BrokenPipeError in pytest's CLI
...
Running `pytest | head -1` and similar causes an annoying error to be
printed to stderr:
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
BrokenPipeError: [Errno 32] Broken pipe
(or possibly even a propagating exception in older/other Python versions).
The standard UNIX behavior is to handle the EPIPE silently. To
recommended method to do this in Python is described here:
https://docs.python.org/3/library/signal.html#note-on-sigpipe
It is not appropriate to apply this recommendation to `pytest.main()`,
which is used programmatically for in-process runs. Hence, change
pytest's entrypoint to a new `pytest.console_main()` function, to be
used exclusively by pytest's CLI, and add the SIGPIPE code there.
Fixes #4375 .
2020-05-08 12:51:02 +03:00
Anthony Sottile
9d2eabb397
Merge pull request #7186 from asottile/is_setup_py_encoding_agnostic
...
Fix _is_setup_py for files encoded differently than locale
2020-05-07 14:01:28 -07:00
Anthony Sottile
9926fcf452
remove incorrect note about requiring admin install
2020-05-07 13:51:20 -07:00
Bruno Oliveira
63e94b986b
Merge pull request #7179 from asottile/py39
2020-05-07 17:42:57 -03:00
Anthony Sottile
b238845d0f
Fix _is_setup_py for files encoded differently than locale
2020-05-07 13:14:58 -07:00
Ran Benita
de556f895f
testing: clean up parametrization in test_mark.py ( #7184 )
2020-05-07 20:42:04 +03:00
Ran Benita
32c00db0bf
Merge pull request #7176 from bluetech/warnings-optimize-parse
...
warnings: speed up work done in catch_warnings_for_item()
2020-05-07 19:34:28 +03:00
Anthony Sottile
dad328bc8a
Fix tests for python3.9
2020-05-07 05:26:55 -07:00
Ran Benita
65963d2066
warnings: speed up work done in catch_warnings_for_item()
...
When setting up the warnings capture, filter strings (with the general
form `action:message:category:module:line`) are collected from the
cmdline, ini and item and applied. This happens for every test and other
cases.
To apply a string it needs to be parsed into a tuple, and it turns out
this is slow. Since we already vendor the parsing code from Python's
warnings.py, we can speed it up by caching the result. After splitting
the parsing part from the applying part, the parsing is pure and is
straightforward to cache.
An alternative is to parse ahead of time and reuse the result, however
the caching solution turns out cleaner and more general in this case.
On this benchmark:
import pytest
@pytest.mark.parametrize("x", range(5000))
def test_foo(x): pass
Before:
============================ 5000 passed in 14.11s =============================
14365646 function calls (13450775 primitive calls) in 14.536 seconds
After:
============================ 5000 passed in 13.61s =============================
13290372 function calls (12375498 primitive calls) in 14.034 seconds
2020-05-07 12:19:13 +03:00
Ran Benita
81da5dac48
Merge pull request #7122 from bluetech/matcher-parser
...
Stop using Python's eval() for -m and -k
2020-05-07 09:23:29 +03:00
Bruno Oliveira
6c2d358918
Merge pull request #7135 from pytest-dev/terminalwriter
2020-05-06 18:26:44 -03:00
Bruno Oliveira
4d439760ad
Merge pull request #7168 from nicoddemus/saferepr-getattr-fail-7145
2020-05-06 17:57:38 -03:00
Bruno Oliveira
199f45d0a9
Merge pull request #7027 from blueyed/doc-rm-rm
2020-05-06 12:43:51 -03:00
Ran Benita
d16ae0bbdc
Merge pull request #7171 from bluetech/code-import-cycles
...
code: fix import cycles between code.py and source.py
2020-05-06 18:15:32 +03:00
Ran Benita
8c2c297e1e
Merge pull request #7172 from bluetech/micro-optimizations-1
...
Some easy micro optimizations to collection
2020-05-06 18:13:44 +03:00
Ran Benita
89eee90b5f
python: optimize PythonCollector.collect
2020-05-06 12:05:04 +03:00
Ran Benita
b90f34569f
nodes: micro-optimize Node attribute access
2020-05-06 11:58:30 +03:00
Ran Benita
5702c86f4c
nodes: micro-optimize hash(node)
...
Turns out it's called alot, and saving the function call makes it
faster.
2020-05-06 11:58:30 +03:00
Ran Benita
fcc473ab1c
Use dict instead of OrderedDict on Python 3.7
...
OrderedDict is quite a bit heavier than just a dict.
2020-05-06 11:58:28 +03:00
Ran Benita
69143fe5b0
code: fix import cycles between code.py and source.py
...
These two files were really intertwined. Make it so code.py depends on
source.py without a reverse dependency.
No functional changes.
2020-05-06 11:01:32 +03:00
Bruno Oliveira
d0022b5a13
'saferepr' handles classes with broken __getattribute__
...
Fix #7145
2020-05-05 19:22:39 -03:00
Ran Benita
4787fd64a4
Merge pull request #7167 from bluetech/lint-merge-fix
...
testing: fix lint after merge of old branch
2020-05-05 23:34:05 +03:00
Ran Benita
94400a68b4
terminal: fix non-deterministic warning summary order in Python 3.5
...
In Python 3.5, collections.Counter() does not preserve insertion order.
2020-05-05 23:08:44 +03:00
Ran Benita
abf785666a
testing: fix lint after merge of old branch
2020-05-05 22:00:55 +03:00
Ran Benita
4b91617002
Merge pull request #7020 from blueyed/fix-warnings-summary
...
Fix warnings summary
2020-05-05 21:58:57 +03:00
Ran Benita
a8dbb32a6b
Merge pull request #6797 from blueyed/tests-simpler
...
tests: simplify test_pytest_plugins_in_non_top_level_conftest_…
2020-05-05 21:51:50 +03:00
Ran Benita
b4be6cd4b7
Merge pull request #6765 from blueyed/capture-refactor-1
...
Refactor Capture classes: move/rename CaptureIO classes
2020-05-05 21:46:18 +03:00
Daniel Hahler
8cae78a18b
Fix warnings summary
...
- replace "tests with warnings" with just warnings: they a) might not
come from a test in the first place, and b) a single test might have
multiple warnings.
- fix usage of (unused) argument to `collapsed_location_report`
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-05-05 21:40:34 +03:00
Ran Benita
d7d627b1e8
Merge pull request #7064 from blueyed/fix-_printcollecteditems-doc-upstream
...
Fix/improve printing of docs for collected items
2020-05-05 21:31:21 +03:00
Daniel Hahler
7647d1c836
Move Capture classes from compat to capture and improve naming
...
Move {Passthrough,CaptureIO} to capture module, and rename Passthrough
-> Tee to match the existing terminology.
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-05-05 21:24:59 +03:00
Ran Benita
46d768503e
Merge pull request #6839 from blueyed/typing-get_dirs_from_args-parseconfig
...
typing: get_dirs_from_args, parseconfig
2020-05-05 21:11:26 +03:00
Ran Benita
85732e2b08
Merge pull request #6993 from blueyed/doc-pytest_collection-upstream
...
[WIP] doc: pytest_collection: has to set `session.items`
2020-05-05 21:05:56 +03:00
Ran Benita
b4c46da278
Merge pull request #7029 from blueyed/fix-test_popen_default_stdin_stderr_and_stdin_None-upstream
...
Fix `test_popen_default_stdin_stderr_and_stdin_None` when run with `-s`
2020-05-05 21:03:04 +03:00
Bruno Oliveira
16a44823eb
Use reportinfo() instead of location in skipping message
2020-05-04 19:50:40 -03:00
Katarzyna
9b423710aa
Remove unnecessary file in test.
2020-05-04 00:34:19 +02:00
Katarzyna
a5bcd0655f
Test relapth when rootdir != invocationdir.
2020-05-04 00:04:38 +02:00
Katarzyna
402ee6fb9d
Relative path to invocationdir instead rootdir.
2020-05-03 22:56:38 +02:00
Bruno Oliveira
80e5098408
Merge pull request #7155 from kerizane/make_numbered_dir
2020-05-03 09:48:36 -03:00
Keri Volans
678440e46d
7018: Use internal version of make_numbered_dir
2020-05-03 10:45:06 +01:00
Bruno Oliveira
6dcfc93d45
Merge pull request #7157 from nicoddemus/remove-blueyed-tidelift
2020-05-02 22:05:55 -03:00
Bruno Oliveira
799dab5284
Remove blueyed from TIDELIFT
...
blueyed is no longer a member of the pytest-dev organization.
2020-05-02 21:56:52 -03:00
Bruno Oliveira
3312820051
Merge pull request #7151 from nicoddemus/unittest-cleanup-6947
2020-05-02 15:43:54 -03:00
Bruno Oliveira
82f584b5a9
Fix test_trial_error in test_unittest
...
This reverts the test to the state before 04f27d4 , which introduced the breaking
change about addCleanup not being called properly for failed tests.
2020-05-02 15:26:55 -03:00
Bruno Oliveira
5c2e96c0e6
Fix cleanup functions not being invoked on test failures
...
Also delay calling tearDown() when --pdb is given, so users still have
access to the instance variables (which are usually cleaned up during tearDown())
when debugging.
Fix #6947
2020-05-02 15:26:55 -03:00
Bruno Oliveira
2b51ed46d5
Merge pull request #7153 from nicoddemus/xunit-warning-update
2020-05-02 13:31:34 -03:00
Bruno Oliveira
095a195d71
Improve docs about junit_family warning message
...
From discussion in #6178
2020-05-02 13:01:15 -03:00
Bruno Oliveira
0b78983197
Merge pull request #7141 from bluetech/rm-nonzero
2020-05-02 10:00:35 -03:00
Bruno Oliveira
5afa8717db
Merge pull request #7147 from nicoddemus/doc-typos
2020-05-01 17:36:29 -03:00
Bruno Oliveira
e3643751bc
Merge pull request #7144 from nicoddemus/async-testcase-7110
2020-05-01 16:44:10 -03:00
Bruno Oliveira
fd2f172258
Let unittest frameworks deal with async functions
...
Instead of trying to handle unittest-async functions in pytest_pyfunc_call,
let the unittest framework handle them instead.
This lets us remove the hack in pytest_pyfunc_call, with the upside that
we should support any unittest-async based framework.
Also included 'asynctest' as test dependency for py37-twisted, and renamed
'twisted' to 'unittestextras' to better reflect that we install 'twisted' and
'asynctest' now.
This also fixes the problem of cleanUp functions not being properly called
for async functions.
Fix #7110
Fix #6924
2020-05-01 15:10:28 -03:00
Bruno Oliveira
5c37898949
Fix some typos in the CHANGELOG
2020-05-01 14:39:09 -03:00
Bruno Oliveira
d0fe6e01c8
Merge pull request #7143 from nicoddemus/file-from-parent
2020-05-01 13:07:40 -03:00
Bruno Oliveira
7f5978c34c
Allow File.from_parent to forward custom parameters to the constructor
2020-05-01 11:00:52 -03:00
Ran Benita
a718ad6363
Stop using Python's eval() for -m and -k
...
Previously, the expressions given to the `-m` and `-k` options were
evaluated with `eval`. This causes a few issues:
- Python keywords cannot be used.
- Constants like numbers, None, True, False are not handled correctly.
- Various syntax like numeric operators and `X if Y else Z` is supported
unintentionally.
- `eval()` is somewhat dangerous for arbitrary input.
- Can fail in many ways so requires `except Exception`.
The format we want to support is quite simple, so change to a custom
parser. This fixes the issues above, and gives us full control of the
format, so can be documented comprehensively and even be extended in the
future if we wish.
2020-05-01 12:59:06 +03:00
Ran Benita
409ffcef17
Remove a couple Python 2 __nonzero__ definitions
...
It's called __bool__ in Python 3.
2020-05-01 11:41:21 +03:00
Ran Benita
e40bf1d1da
Add a changelog for TerminalWriter changes
2020-04-30 16:44:03 +03:00
Ran Benita
d8558e87c5
terminalwriter: clean up markup function a bit
2020-04-30 16:44:03 +03:00
Ran Benita
414a87a53f
config/argparsing: use our own get_terminal_width()
2020-04-30 16:44:03 +03:00
Ran Benita
bafc9bd58b
testing: merge code/test_terminal_writer.py into io/test_terminalwriter.py
2020-04-30 16:44:03 +03:00
Ran Benita
0e36596268
testing/io: port TerminalWriter tests from py
2020-04-30 16:44:03 +03:00
Ran Benita
d5584c7207
terminalwriter: compute width_of_current_line lazily
...
Currently this property is computed eagerly, which means
get_line_width() is computed on everything written, but that is a slow
function.
Compute it lazily, so that get_line_width() only runs when needed.
2020-04-30 16:44:03 +03:00
Ran Benita
dd32c72ff0
terminalwriter: remove unused property chars_on_current_line
2020-04-30 16:44:03 +03:00
Ran Benita
1bc4170e63
terminalwriter: don't flush implicitly; add explicit flushes
...
Flushing on every write is somewhat expensive.
Rely on line buffering instead (if line buffering for stdout is
disabled, there must be some reason...), and add explicit flushes when
not outputting lines.
This is how regular `print()` e.g. work so should be familiar.
2020-04-30 16:44:03 +03:00
Ran Benita
d9b43647b7
terminalwriter: inline function _update_chars_on_current_line
2020-04-30 16:44:03 +03:00
Ran Benita
8e04d35a33
terminalwriter: remove unneeded hasattr use
2020-04-30 16:44:03 +03:00
Ran Benita
e8fc5f99fa
terminalwriter: add type annotations
2020-04-30 16:44:03 +03:00
Ran Benita
f6564a548a
terminalwriter: remove win32 specific code in favor of relying on colorama
...
On Windows we already depend on colorama, which takes care of all of
this custom code on its own.
2020-04-30 16:44:03 +03:00
Ran Benita
8d2d1c40f8
terminalwriter: inline function _escaped
...
Doesn't add much.
2020-04-30 16:44:03 +03:00
Ran Benita
66ee755649
terminalwriter: remove TerminalWriter's stringio argument
...
Had a mark indicating it should be removed, and I agree, it's better to
just use the `file` argument.
2020-04-30 16:44:02 +03:00
Ran Benita
94a57d2353
io: combine _io.TerminalWriter and _io.terminalwriter.TerminalWriter
...
Previously it extended an external type but now it come move to the type
itself.
2020-04-30 16:44:02 +03:00
Ran Benita
dac05ccd9a
terminalwriter: remove support for passing callable as file in TerminalWriter
...
Not used.
2020-04-30 16:44:02 +03:00
Ran Benita
0528307ebf
terminalwriter: remove unused function TerminalWriter.reline
2020-04-30 16:44:02 +03:00
Ran Benita
a6819726cd
terminalwriter: remove unused function ansi_print
2020-04-30 16:44:02 +03:00
Ran Benita
b6cc90e0af
terminalwriter: remove support for writing bytes directly
...
It is not used and slows things down.
2020-04-30 16:44:02 +03:00
Ran Benita
9a59970cad
terminalwriter: optimize get_line_width() a bit
...
This function is called a lot when printing a lot of text, and is very
slow -- this speeds it up a bit.
2020-04-30 16:44:02 +03:00
Ran Benita
6c1b6a09b8
terminalwriter: simplify get_terminal_width()
...
The shutil.get_terminal_size() handles everything this did already.
2020-04-30 16:44:02 +03:00
Ran Benita
c749e44efc
terminalwriter: remove custom win32 screen width code
...
Python 3 does this on its own so we can use the shared code:
bcf2b59fb5
2020-04-30 16:44:02 +03:00
Ran Benita
1d596b27a7
terminalwriter: move Win32ConsoleWriter definition under win32 conditional
...
This way non-Windows platforms skip it. It also uses things defined
inside the `if`.
2020-04-30 16:44:02 +03:00
Ran Benita
5e2d820308
terminalwriter: fix lints
2020-04-30 16:44:02 +03:00
Ran Benita
3014d9a3f7
terminalwriter: auto-format
2020-04-30 16:43:55 +03:00
Ran Benita
276405a039
terminalwriter: vendor TerminalWriter from py
...
Straight copy from py 1.8.1. Doesn't pass linting yet.
2020-04-30 16:43:54 +03:00
Ran Benita
be68496440
Merge pull request #7134 from bluetech/rm-dupfile
...
config: replace usage of py.io.dupfile
2020-04-30 14:07:52 +03:00
Ran Benita
c72a1b2933
config: replace usage of py.io.dupfile
...
As part of the effort to remove uses of `py`.
2020-04-29 18:04:37 +03:00
Ran Benita
e5d6e58625
Merge pull request #7130 from bluetech/cacheprovider-nf-set
...
cacheprovider: speed up NFPlugin when --nf is not enabled
2020-04-29 17:28:20 +03:00
Ran Benita
077d1c3502
Merge pull request #7129 from bluetech/testing-cache-writefail-warning
...
testing: fix warning issued by test_cache_writefail_cachfile_silent
2020-04-29 16:00:43 +03:00
Ran Benita
4a42afdc2f
cacheprovider: speed up NFPlugin when --nf is not enabled
...
The code used an O(n^2) loop. Replace list with set to make it O(n).
For backward compatibility the filesystem cache still remains a list.
On this test:
import pytest
@pytest.mark.parametrize("x", range(5000))
def test_foo(x): pass
run with `pytest --collect-only`:
Before: 0m1.251s
After: 0m0.921s
2020-04-29 13:02:38 +03:00
Anthony Sottile
dd49812dae
Merge pull request #7131 from ArtyomKaltovich/patch-1
...
update doctests.rst regarding issue #7116
2020-04-28 13:59:25 -07:00
ArtyomKaltovich
bef263ee76
update doctests.rst regarding issue #7116
...
https://github.com/pytest-dev/pytest/issues/7116
2020-04-28 23:04:58 +03:00
Ran Benita
49e50d3106
testing: fix warning issued by test_cache_writefail_cachfile_silent
...
Remove this message which was shown in the warning summary of pytest's
own testsuite:
testing/test_cacheprovider.py::TestNewAPI::test_cache_writefail_cachfile_silent
testing/test_cacheprovider.py:40: PytestCacheWarning: could not create cache path /tmp/pytest-of-ran/pytest-2/test_cache_writefail_cachfile_silent0/.pytest_cache/v/test/broken
cache.set("test/broken", [])
2020-04-28 22:49:00 +03:00
Ran Benita
9bf3efb8e9
Merge pull request #7120 from bluetech/update-dev
...
pre-commit: update some tool revisions
2020-04-25 23:07:15 +03:00
Ran Benita
9828cfa339
Merge pull request #7117 from bluetech/deprecate-fillfuncargs-v2
...
fixtures: deprecate pytest._fillfuncargs function
2020-04-24 22:59:06 +03:00
Ran Benita
3cd97d50f9
pre-commit: update pyupgrade 1.18.0 -> 2.2.1
2020-04-24 21:57:38 +03:00
Ran Benita
23881ad592
pre-commit: update pre-commit-hooks 2.2.3 -> 2.5.0
2020-04-24 21:53:40 +03:00
Ran Benita
38c9d59ddc
pre-commit: update blacken-docs 1.0.0 -> 1.6.0
2020-04-24 21:53:37 +03:00
Ran Benita
289e6c1d36
Update src/_pytest/deprecated.py
...
Co-Authored-By: Ronny Pfannschmidt <opensource@ronnypfannschmidt.de >
2020-04-24 21:37:08 +03:00
Ran Benita
cbca9f1def
Merge pull request #7118 from bluetech/ignore-collect-directory-warning
...
testing: avoid pytest_collect_directory message in warning summary
2020-04-24 21:34:29 +03:00
Ran Benita
e269407e65
testing: avoid pytest_collect_directory message in warnings summary
...
Currently this test issues a warning which is displayed in the warning
summary (of pytest's own test suite):
testing/acceptance_test.py::TestGeneralUsage::test_early_skip
/tmp/pytest-of-ran/pytest-396/test_early_skip0/conftest.py:2: PytestDeprecationWarning: The pytest_collect_directory hook is not working.
Please use collect_ignore in conftests or pytest_collection_modifyitems.
def pytest_collect_directory():
I think the filter was meant to be `ignore` in the first place, and not
`always` which is not a valid action AFAIK.
2020-04-24 19:06:31 +03:00
Ran Benita
907e29a47b
fixtures: deprecate pytest._fillfuncargs function
...
This function is exposed and kept alive for the oejskit plugin which is
abandoned and no longer works with recent plugins, so let's prepare to
completely remove it.
2020-04-24 18:54:46 +03:00
Ran Benita
7d5f5a8785
Merge pull request #7050 from blueyed/fix-doc
...
doc: internal: remove references to old "newinterpret" module
2020-04-17 17:11:31 +03:00
Ran Benita
731c340be6
Merge pull request #7058 from blueyed/doc-store
...
doc: minor fixes for Store
2020-04-17 17:10:35 +03:00
Katarzyna Król
7789b51acb
Issue 4677 - always relative path in skip report ( #6953 )
2020-04-17 08:28:36 +03:00
Simon K
de6c28ed1f
Improve error handling around yieldctx fixtures which do not yield a value ( #7083 )
2020-04-15 12:17:13 +03:00
Ran Benita
9f4e680403
Merge pull request #7089 from bluetech/rm-tox-pypy
...
Remove pypy (2) environment from tox.ini
2020-04-14 15:42:39 +03:00
Ran Benita
10080dc60d
Remove pypy (2) environment from tox.ini
...
pypy refers to Pypy 2 which implements Python 2 which pytest does not
support. Keep only pypy3.
2020-04-14 14:49:12 +03:00
Ran Benita
9ddf38369d
Merge pull request #7069 from bluetech/faulthandler-doc-windows
...
Remove note saying faulthandler_timeout is not available on Windows
2020-04-14 10:24:28 +03:00
Simon K
f479cbce10
Document pytester fixtures so --fixtures makes more sense ( #7080 )
2020-04-13 20:58:50 +03:00
Ran Benita
c08cff3770
Merge pull request #7082 from symonk/4583-better-ux-with-eval-fails
...
Gracefully handle eval() failure(s) for marker expressions
2020-04-13 17:03:37 +03:00
Ran Benita
798361ab9f
Merge pull request #7078 from andy-maier/andy/add-docs-repr_failure
...
Fixes #7077 : Added & improved docs for repr_failure() in Node & Collector
2020-04-13 16:38:14 +03:00
Simon K
6fd30134d3
Update changelog/4583.bugfix.rst
...
Co-Authored-By: Ran Benita <ran@unusedvar.com >
2020-04-13 14:29:59 +01:00
symonk
251e8f212e
refactor mark tests, widen catching and make error msg more concise
2020-04-13 14:25:01 +01:00
symonk
87edc09dea
Gracefully handle eval() failure(s) for marker expressions
2020-04-13 13:25:06 +01:00
Andreas Maier
c9386ada29
Squash: Resolved 2nd round of review comments
2020-04-12 13:19:45 +02:00
Andreas Maier
b2582b0314
Squash: Applied review comments
2020-04-12 12:12:00 +02:00
Andreas Maier
869c089887
Fixes #7077 : Added & improved docs for repr_failure() in Node & Collector
2020-04-12 09:28:40 +02:00
gaurav dhameeja
5703fdbbdc
Fix-6911(pytest-bot): Added error from commands that are run
...
Earlier pytest-bot would only print out the exception in cases of
failure but did not provide context on failing command and error from
command. This patch adds the errors from the command to the exception
message.
`Command` provides abstraction over the command to run and helps
in collecting errors from the first failing command only.
With this, we don't need to check `returncode` from each command that
we run, we can run all the commands and will have access to the error
from the first command that failed. This pattern was taken from Go.
Please refer: https://blog.golang.org/errors-are-values
2020-04-12 02:31:51 +05:30
Bruno Oliveira
f214a4be97
Merge pull request #7072 from pytest-dev/asottile-patch-1
...
Remove asottile from TIDELIFT.rst
2020-04-10 19:45:59 -03:00
Anthony Sottile
c8fc4c5edc
Remove asottile from TIDELIFT.rst
2020-04-10 15:38:45 -07:00
Bruno Oliveira
6daf3614f0
Merge pull request #7070 from nicoddemus/remove-bruno
...
Remove myself from tidelift
2020-04-10 18:37:30 -03:00
Bruno Oliveira
4b634ac758
Remove myself from tidelift
2020-04-10 10:47:25 -03:00
Ran Benita
b553ce54c8
Remove note saying faulthandler_timeout is not available on Windows
...
I think it is available in all Python versions we support, but at least
since Python 3.7 the docs[0] say:
Changed in version 3.7: This function is now always available.
so let's just remove the note.
[0] https://docs.python.org/3/library/faulthandler.html#faulthandler.dump_traceback_later
2020-04-10 14:46:15 +03:00
Ronny Pfannschmidt
244c8e4a13
Merge pull request #6680 from RonnyPfannschmidt/fix-6294-more-docs-for-fromparent
...
doc: more docs for from_parent
2020-04-10 13:10:40 +02:00
Ran Benita
df66a953a1
Merge pull request #7048 from bluetech/fix-test_assertrewrite-reprcompare
...
Remove broken _reprcompare disabling fixture in test_assertrewrite.py
2020-04-10 12:51:11 +03:00
Ran Benita
9ffccf5acc
Merge pull request #7055 from bluetech/rm-test_juintxml-unichr
...
Remove Python 2 compat code in test_juintxml.py
2020-04-10 11:52:45 +03:00
Ran Benita
f0d1ccd32f
Merge pull request #7056 from bluetech/rm-test_monkeypatch-oldstyleclass
...
Remove Python 2 compat check in test_monkeypatch.py
2020-04-10 11:52:01 +03:00
Ran Benita
41d1ecf521
Merge pull request #7057 from bluetech/skip-faulthandler-test_timeout
...
Skip flaky test test_faulthandler.py::test_timeout[True]
2020-04-10 11:51:31 +03:00
Ronny Pfannschmidt
19c243f0fa
Merge pull request #6285 from earonesty/patch-1
...
Add _pytest.fixtures.FixtureLookupError to top level import
2020-04-10 07:58:58 +02:00
Ronny Pfannschmidt
c5d636a1b2
Merge pull request #6992 from pytest-dev/revert-6767-tmpdir-cleanup-upstream
...
Revert "tmpdir: clean up indirection via config for factories"
2020-04-10 07:49:52 +02:00
Ronny Pfannschmidt
1eb2b45db5
Revert "tmpdir: clean up indirection via config for factories ( #6767 )"
...
This reverts commit 8a1633c3b4 .
+ add changelog
2020-04-10 07:18:54 +02:00
Daniel Hahler
0b5d2ff526
Fix/improve printing of docs for collected items
2020-04-09 21:49:30 +02:00
Daniel Hahler
accea46fa1
doc: minor fixes for Store
2020-04-09 17:08:47 +02:00
Daniel Hahler
f136b79f1a
Fix test_no_warnings to handle e.g. _pytest.async ( #7044 )
...
Before this patch it would result in a SyntaxError with e.g. `import _pytest.async`.
2020-04-09 16:56:01 +02:00
Ran Benita
2aa5436ee7
Remove Python 2 compat code in test_juintxml.py
2020-04-09 17:33:55 +03:00
Ran Benita
5a5fd01ebe
Skip flaky test test_faulthandler.py::test_timeout[True]
...
It occasionally crashes on CI, the reason seems out of our control, or
at least we can't figure it out.
2020-04-09 17:23:54 +03:00
Ran Benita
08b3d37177
Remove Python 2 compat check in test_monkeypatch.py
...
Presumably it used to test old-style vs. new-style classes, but in
the Python 3 conversion SampleNew and SampleOld became the same.
2020-04-09 17:11:18 +03:00
Ran Benita
8fab3dd42f
Remove broken _reprcompare disabling fixture in test_assertrewrite.py
...
The `_pytest._code._reprcompare` that was referred to previously doesn't
exist -- it was moved to other places but wasn't updated. This regressed
in f423ce9c01 . Now we don't want it
anymore, so keep the status quo by explicitly removing them.
2020-04-09 10:47:45 +03:00
Daniel Hahler
413ca8a4d0
faulthandler: trylast=True ( #7025 )
...
It should happen as late as possible before the test runs.
Ref: https://github.com/pytest-dev/pytest/issues/7022
2020-04-09 08:53:35 +02:00
Daniel Hahler
a98a62723e
revisit
2020-04-09 01:57:46 +02:00
Daniel Hahler
ad4c1071d9
doc: internal: remove references to old "newinterpret" module
...
This has been merged into the (only) assertrewrite mode.
2020-04-09 01:40:23 +02:00
Ran Benita
eb00182061
Merge pull request #7047 from bluetech/rm-test_assertion-abc
...
Remove some no-longer-needed compat code in test_assertion
2020-04-08 22:33:19 +03:00
Ran Benita
20956b2f4e
Remove some no-longer-needed compat code in test_assertion
2020-04-08 21:35:42 +03:00
Ran Benita
272be7ef74
Merge pull request #7039 from bluetech/markdecorator-doc
...
Slightly improve Mark and MarkDecorator documentation
2020-04-08 20:36:42 +03:00
Daniel Hahler
33ff863430
rebuild
2020-04-08 19:24:20 +02:00
Daniel Hahler
e6da086101
Update testing/test_pytester.py
...
Co-Authored-By: Ran Benita <ran@unusedvar.com >
2020-04-08 18:16:03 +02:00
Daniel Hahler
7048d5be9c
Fix FD leak in test__get_multicapture ( #7037 )
...
Instantiating `FDCapture` creates a file descriptor already. Use "no"
to not leak a fd here.
2020-04-08 18:11:31 +02:00
Daniel Hahler
4fd2623c12
tests: fix TypeErrors ( #7038 )
...
* tests: fix TypeError with test_mark_closest
It fails when trying to run it actually:
> TypeError: test_has_inherited() takes 0 positional arguments but 1 was given
* Fix testing/test_collection.py::TestCollector::test_getparent
2020-04-08 18:11:04 +02:00
Ran Benita
4344c61731
Slightly improve Mark and MarkDecorator documentation
...
Mostly I wanted to get rid of mentions of "MarkItem" which is something
that no longer exists, but I improved a little beyond that and annotated
some simple types.
2020-04-07 22:14:47 +03:00
Ran Benita
6356583eab
Merge pull request #7036 from pytest-dev/revert-7030-increase-test_timeout-timeout
...
Revert "Increase test_faulthandler.py::test_timeout sleep duration on CI"
2020-04-07 13:42:51 +03:00
Ran Benita
eab0a6e34d
Revert "Increase test_faulthandler.py::test_timeout sleep duration on CI"
2020-04-07 13:20:35 +03:00
Daniel Hahler
ce806001b0
Fix doc for numbered arg with TempPathFactory.mktemp ( #7014 )
2020-04-07 11:44:54 +02:00
Ran Benita
259e5d0610
Merge pull request #7034 from bluetech/fix-testdurations-flaky
...
Fix flaky TestDurations test
2020-04-07 09:39:02 +03:00
Daniel Hahler
1fd14685c5
doc: document inversed lines with terminal report hooks ( #7016 )
...
It was surprising that `tryfirst=True` would not result in lines being
added to the beginning with `pytest_report_header`.
This is due to lines being reversed, and therefore the same applies to
`pytest_report_collectionfinish`.
2020-04-07 08:08:28 +02:00
Daniel Hahler
bf3e64d473
Remove TestExecutionForked - xdist.boxed has gone since long ( #7021 )
...
Tried to write a test using `--boxed`, but it fails due to
https://github.com/pytest-dev/pytest-forked/issues/30 .
2020-04-07 08:07:20 +02:00
Daniel Hahler
3a4435fb59
doc: fix/remove leftovers from removing versionadded ( #7028 )
...
Ref: 9c5da9c (https://github.com/pytest-dev/pytest/pull/5184 )
2020-04-07 08:01:50 +02:00
Ran Benita
c659a6b917
Merge pull request #7030 from bluetech/increase-test_timeout-timeout
...
Increase test_faulthandler.py::test_timeout sleep duration on CI
2020-04-07 00:06:16 +03:00
Ran Benita
c3e6e2e8c8
Fix flaky TestDurations test
...
TestDurations tests the `--durations=N` functionality which reports N
slowest tests, with durations <= 0.005s not shown by default.
The test relies on real time.sleep() (in addition to the code which uses
time.perf_counter()) which makes it flaky and inconsistent between
platforms.
Instead of trying to tweak it more, make it use fake time instead. The
way it is done is a little hacky but seems to work.
2020-04-06 23:49:46 +03:00
Ran Benita
7da3e3aaad
Increase test_faulthandler.py::test_timeout sleep duration on CI
...
This might help fix some flakiness.
2020-04-06 11:55:03 +03:00
Daniel Hahler
fc645412aa
Fix test_popen_default_stdin_stderr_and_stdin_None when run with -s
2020-04-06 08:32:41 +02:00
Daniel Hahler
51c1ae89cd
doc: remove deprecations from pytest 3
...
This is in line with 9c5da9c0d , which versionadded instructions.
2020-04-06 07:02:15 +02:00
Ran Benita
cb06bc7d6e
Merge pull request #7017 from bluetech/doc-pytest_report_teststatus
...
Document the pytest_report_teststatus hook better and test uncovered functionality
2020-04-04 18:45:50 +03:00
Ran Benita
1ce30fd38f
Document the pytest_report_teststatus hook better and test uncovered functionality
...
This hook has some functionality to provide explicit markup for the test
status. It seemed unused and wasn't tested, so I was tempted to remove
it, but I found that the pytest-rerunfailures plugin uses it, so
document it and add a test instead.
2020-04-04 17:27:59 +03:00
Daniel Hahler
e01dcbf323
Cleanup/move imports with tmpdir tests ( #7015 )
2020-04-04 14:25:34 +02:00
Ran Benita
e6563b7ca3
Merge pull request #7010 from bluetech/rm-defaultfuncargprefixmarker
...
Remove unused defaultfuncargprefixmarker
2020-04-04 14:53:08 +03:00
Ran Benita
4a324ce920
Remove unused defaultfuncargprefixmarker
...
Unused since 1e80a9cb34 .
2020-04-04 14:34:40 +03:00
Daniel Hahler
48c9f556ef
Fix tests: use explicit syspathinsert where tests might hang ( #7008 )
...
Use `testdir.syspathinsert()` with multiprocessing tests:
- test_chained_exceptions_no_reprcrash
- test_exception_handling_no_traceback
This only works currently because `_importtestmodule` changes `sys.path`
as a side-effect.
It appears to be only required on Windows though - likely due to the
multiprocessing method used there.
2020-04-04 12:33:15 +02:00
Ran Benita
5d539afd6c
Merge pull request #6998 from alfredodeza/fix-cache-doc
...
docs: Do not use automatic title in fixture reference
2020-04-03 11:52:31 +03:00
Daniel Hahler
20f6331afd
Fix TerminalRepr instances to be hashable ( #6988 )
...
pytest-xdist assumes `ExceptionChainRepr` is hashable.
Fixes https://github.com/pytest-dev/pytest/issues/6925 .
Fixes https://github.com/pytest-dev/pytest-xdist/issues/515 .
2020-04-03 00:56:53 +02:00
Ran Benita
03451c397f
Simplify positional arguments compatibility code in pytest.fixture()
...
The dynamic scope feature added in 10bf6aac76
necessitated some wrangling of arguments in pytest.fixture(). In
particular, it deprecated positional arguments in favor of keyword-only
arguments, while keeping backward compatibility.
The way it did this avoided some code duplication but ended up being
quite hard to follow and to annotate with types.
Replace it with some straightforward code, which is not very DRY but is
simple and easy to remove when the time comes.
2020-04-02 14:52:58 +03:00
Daniel Hahler
354602abe6
Update src/_pytest/hookspec.py
...
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
2020-04-02 12:01:43 +02:00
Alfredo Deza
7d75762de6
Do not use automatic title in fixture reference
...
It creates odd wording otherwise. Keep the reference, update the title
using Sphinx notation.
2020-04-01 09:55:30 -04:00
Daniel Hahler
607f7603af
doc: pytest_collection: has to set session.items
...
Would make sense to use its return value etc, but this helps for now.
2020-03-31 09:39:50 +02:00
Daniel Hahler
ff0a091165
Fix/improve test_terminal_reporter_writer_attr
...
It did not actually test that the attribute gets set.
This also checks the stacklevel etc.
2020-03-31 09:31:38 +02:00
Ronny Pfannschmidt
2d9dac95ec
Merge pull request #6927 from RonnyPfannschmidt/fix-6924-run-async-stdlib-unittests
...
running stdlib asyncio unittests again
2020-03-30 22:34:17 +02:00
Ronny Pfannschmidt
93b3fee783
Merge pull request #6981 from RonnyPfannschmidt/deprecate-pytest.collect
...
deprecate the pytest.collect module
2020-03-30 22:32:47 +02:00
Ronny Pfannschmidt
451aef65ac
prepare tests and disable warnings for asyncio unittest cases
...
shoehorn unittest async results into python test result interpretation
changelog
2020-03-30 21:55:12 +02:00
Ronny Pfannschmidt
f1d51ba1f5
deprecate the pytest.collect module
...
changelog
minimal unittest for collect module deprecations
\!fixup - changelog typo
2020-03-30 21:53:07 +02:00
Ronny Pfannschmidt
ce429381a7
Merge pull request #6986 from RonnyPfannschmidt/fix-6951-tw.writer-writable
...
fix #6951 : allow to write TerminalReporter.writer
2020-03-30 21:51:06 +02:00
Ronny Pfannschmidt
eab2831671
fix #6951 : allow to write TerminalReporter.writer
2020-03-30 21:31:53 +02:00
Ran Benita
211adfc945
Merge pull request #6983 from kondratyev-nv/master
...
Fix documentation typo
2020-03-30 11:32:38 +03:00
Nikolay Kondratyev
285beddf28
Fix documentation typo
2020-03-29 16:55:56 +03:00
smarie
95fadd5740
Improved time counter used to compute test durations. ( #6939 )
...
Co-authored-by: Sylvain MARIE <sylvain.marie@se.com >
Co-authored-by: Ran Benita <ran@unusedvar.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-03-29 15:20:09 +03:00
Bruno Oliveira
f84742d46c
Merge pull request #6980 from nicoddemus/quick-doc-fix
...
Quick doc fix on xfail reason parameter
2020-03-28 16:11:18 -03:00
Bruno Oliveira
c6517e2c3a
Merge pull request #6977 from bluetech/oserror-aliases
...
Change EnvironmentError, IOError to OSError - they are aliases
2020-03-28 11:32:34 -03:00
Bruno Oliveira
70cbce7ccc
Quick doc fix on xfail reason parameter
...
As per https://github.com/pytest-dev/pytest/pull/6957/files#r399564043
2020-03-28 11:30:15 -03:00
Tim Hoffmann
0e4a44db3b
Better document xfail(condition) ( #6957 )
2020-03-27 22:46:42 +03:00
Ran Benita
a785754523
Change EnvironmentError, IOError to OSError - they are aliases
...
Since Python 3.3, these are aliases for OSError:
https://docs.python.org/3/whatsnew/3.3.html#pep-3151-reworking-the-os-and-io-exception-hierarchy
2020-03-27 18:40:23 +03:00
Ran Benita
83e18776f6
Merge pull request #6818 from blueyed/fix-assert-exc-upstream
...
assertion: rewrite: only catch EnvironmentError
2020-03-27 18:33:17 +03:00
Bruno Oliveira
36d0a71be8
Merge pull request #6976 from nicoddemus/fix-linting
...
Fix linting
2020-03-27 10:30:09 -03:00
Bruno Oliveira
a016a75ca7
Fix linting
2020-03-27 09:54:20 -03:00
Bruno Oliveira
429a28eca0
Merge pull request #6782 from nicoddemus/code-highlight-followup
...
Assorted improvements following up #6658
2020-03-27 08:58:50 -03:00
Daniel Hahler
aae0579bcd
doc: use envvar directive for environment variables ( #6874 )
...
This changes the link anchors in "reference.html", from e.g.
`reference.html#pytest-current-test` to
`reference.html#envvar-PYTEST_CURRENT_TEST`, but I think that is OK, and
not worth adding labels for the old anchors.
2020-03-27 02:40:25 +01:00
Daniel Hahler
e651562271
test_warnings: clean up usage of pyfile_with_warnings ( #6799 )
...
Remove it where not used / overwritten, and use its reference otherwise,
which makes it clear that it is used actually.
2020-03-27 02:24:00 +01:00
Daniel Hahler
327ec54248
Doc fixes ( #6861 )
2020-03-27 02:22:03 +01:00
Ran Benita
3b48fce4bc
Merge pull request #6965 from 0cjs/dev/cjs/200325/typo-fixes
...
CONTRIBUTING: Grammatical clarification and minor typo fixes
2020-03-26 07:20:27 +02:00
Curt J. Sampson
37cbab6899
CONTRIBUTING: Grammatical clarification and minor typo fixes
...
The main unclear part was that "to contribute changes" read in two
different ways; I've reworded it so it reads only one way.
2020-03-25 21:41:03 +09:00
Ran Benita
efada09da2
Merge pull request #6943 from bluetech/mypy-770
...
Upgrade mypy 0.761 -> 0.770
2020-03-23 11:49:27 +02:00
Ran Benita
77e673c248
Merge pull request #6959 from lewisbelcher/patch-1
...
Update fixture.rst
2020-03-23 11:49:00 +02:00
Lewis Belcher
27341d17fa
Update fixture.rst
...
Fix up some mangled wording.
2020-03-23 09:02:06 +01:00
Ran Benita
c928550e96
Merge pull request #6949 from Mattwmaster58/patch-1
...
update available plugin count
2020-03-21 17:18:14 +02:00
Ran Benita
817537523c
Upgrade mypy 0.761 -> 0.770
...
https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html
2020-03-21 17:16:30 +02:00
Ran Benita
6ca7a0409d
Merge pull request #6950 from bluetech/fix-ci-oldattrs-twisted
...
ci: twisted and oldattrs tox envs are now incompatible, don't run the…
2020-03-21 17:14:45 +02:00
Ran Benita
2cc3227f6a
ci: twisted and oldattrs tox envs are now incompatible, don't run them together
...
twisted started to use `attr.s(eq)` argument which was added recently,
so it fails with oldattrs. One of the CI jobs ran twisted and oldattrs
together, so it started to fail.
Move the twisted code to be covered by another job, and remove it from
the job with the oldattrs.
2020-03-21 16:22:33 +02:00
Mattwmaster58
c6e530990f
update available plugin count
...
315+ -> 815+
2020-03-20 22:39:18 -06:00
Ran Benita
ded30238f7
Merge pull request #6926 from bluetech/fix-capsysbin-print
...
Fix crash when printing while capsysbinary is active
2020-03-17 11:21:19 +02:00
Daniel Hahler
1fda861190
Fix crash when printing while capsysbinary is active
...
Previously, writing to sys.stdout/stderr in text-mode (e.g.
`print('foo')`) while a `capsysbinary` fixture is active, would crash
with:
/usr/lib/python3.7/contextlib.py:119: in __exit__
next(self.gen)
E TypeError: write() argument must be str, not bytes
This is due to some confusion in the types. The relevant functions are
`snap()` and `writeorg()`. The function `snap()` returns what was
captured, and the return type should be `bytes` for the binary captures
and `str` for the regular ones. The `snap()` return value is eventually
passed to `writeorg()` to be written to the original file, so it's input
type should correspond to `snap()`. But this was incorrect for
`SysCaptureBinary`, which handled it like `str`.
To fix this, be explicit in the `snap()` and `writeorg()`
implementations, also of the other Capture types.
We can't add type annotations yet, because the current inheritance
scheme breaks Liskov Substitution and mypy would complain. To be
refactored later.
Fixes: https://github.com/pytest-dev/pytest/issues/6871
Co-authored-by: Ran Benita (some modifications & commit message)
2020-03-16 18:21:33 +02:00
Ran Benita
c26bbdfaf0
Merge pull request #6854 from gdhameeja/Fix-6822
...
Check invalid operations for -k
2020-03-15 09:53:36 +02:00
Ran Benita
e2dc2d1f0f
Merge pull request #6929 from dannysepler/fix-reference-to-config-cache
...
Fix reference to the cache fixture
2020-03-15 09:53:00 +02:00
Danny Sepler
2d897ad39f
Fix reference to the cache fixture
2020-03-14 20:12:52 -04:00
Ran Benita
1d244b3d82
Merge pull request #6899 from bluetech/rm-dupfile
...
Remove safe_text_dupfile() and simplify EncodedFile
2020-03-14 13:13:28 +02:00
Ran Benita
29e4cb5d45
Remove safe_text_dupfile() and simplify EncodedFile
...
I tried to understand what the `safe_text_dupfile()` function and
`EncodedFile` class do. Outside tests, `EncodedFile` is only used by
`safe_text_dupfile`, and `safe_text_dupfile` is only used by
`FDCaptureBinary.__init__()`. I then started to eliminate always-true
conditions based on the single call site, and in the end nothing was
left except of a couple workarounds that are still needed.
2020-03-14 12:57:08 +02:00
Bruno Oliveira
d7f01a90eb
Merge pull request #6920 from nicoddemus/cherry-pick-release
...
Cherry pick CHANGELOG from 5.4.1
2020-03-13 11:16:58 -03:00
Bruno Oliveira
68d4b17a5f
Cherry pick CHANGELOG from 5.4.1
2020-03-13 11:13:05 -03:00
Bruno Oliveira
010e711971
Merge pull request #6914 from nicoddemus/revert-6330
...
Revert "[parametrize] enforce explicit argnames declaration (#6330 )"
2020-03-13 10:49:48 -03:00
Bruno Oliveira
703c948294
Merge pull request #6916 from nicoddemus/no-link-checks
...
Skip link checks when doing releases through the bot
2020-03-13 10:31:14 -03:00
Bruno Oliveira
b1b8ea765e
Skip link checks when doing releases through the bot
...
Unfortunately this is really getting in the way of the releases not because
of broken links, but because it is very flaky.
Related: #6894
2020-03-13 10:27:07 -03:00
Bruno Oliveira
2eedf9c2aa
Merge pull request #6910 from nicoddemus/resultlog-logreport
...
Handle unknown stats in pytest_report_teststatus hook
2020-03-13 09:30:04 -03:00
Ran Benita
6e70fecbe4
Merge pull request #6903 from bluetech/assume-dup
...
Assume os.dup is always available
2020-03-13 11:01:44 +02:00
Bruno Oliveira
0c58ed2cc0
Handle unknown stats in pytest_report_teststatus hook
...
Noticed that the pytest_report_teststatus of reportlog was not properly
handling unknown statuses while taking a look at:
https://github.com/pytest-dev/pytest-rerunfailures/issues/103
2020-03-12 20:52:22 -03:00
Ronny Pfannschmidt
2b6740672d
Merge pull request #6897 from pytest-dev/release-5.4.0
...
Prepare release 5.4.0
2020-03-12 22:40:51 +01:00
Ran Benita
6954b3b0dc
Assume os.dup is always available
...
The commit which added the checks for os.dup a15afb5e48
suggests it was done for Jython. But pytest doesn't support Jython
anymore (Jython is Python 2 only).
Furthermore, it looks like the faulthandler plugin (bundled in pytest
and enabled by default) uses os.dup() unprotected and there have not
been any complaints.
So seems better to just remove these checks, and only add if someone
with a legitimate use case complains.
2020-03-12 16:47:15 +02:00
pytest bot
c9fd1bdbd6
Preparing release version 5.4.0
2020-03-12 14:14:35 +00:00
Ronny Pfannschmidt
93aa988e01
Merge pull request #6901 from RonnyPfannschmidt/regendoc-fix-simple
...
run and fix tox -e regen to prepare 5.4
2020-03-12 15:09:10 +01:00
Ran Benita
7996724f23
Merge pull request #6902 from RoyalTS/filterwarnings-docfix
...
Minor docfix
2020-03-12 12:39:33 +02:00
Tobias Schmidt
90ee8a7599
docfix
2020-03-12 09:38:00 +01:00
Ronny Pfannschmidt
378a75ddf6
run and fix tox -e regen to prepare 5.4
...
* no longer trigger deprecation warnings when looking up fixtures
* fix missed imports in a test example
2020-03-11 22:25:51 +01:00
Bruno Oliveira
e1b3a68462
Merge pull request #6896 from nicoddemus/release-trigger
...
Fix bot trigger event
2020-03-11 10:04:41 -03:00
Ronny Pfannschmidt
fb7dbc9fa3
Merge pull request #6893 from RonnyPfannschmidt/url-fixes
...
fix urls that fail linkcheck
2020-03-11 14:02:46 +01:00
Bruno Oliveira
a0ea300e96
Fix bot trigger event
...
Issue events don't contain a 'comment' entry:
https://developer.github.com/v3/issues/events/#response-2
Issue comments also contain the original issue body:
https://developer.github.com/v3/activity/events/types/#issuecommentevent
That's why it was triggering even for comments on the issue.
Also changed to startsWith because there's no need to support
the command anywhere in the body IMO.
Fix #6895
2020-03-11 09:54:56 -03:00
Ronny Pfannschmidt
09b289e286
fix mozilla qa project link
2020-03-11 11:10:33 +01:00
Ronny Pfannschmidt
694dbe5bd4
fix pydanny.com url to the one with ssl set up
2020-03-11 10:52:16 +01:00
Ran Benita
4f8fff9cab
Merge pull request #6868 from bluetech/simplify-exc
...
Simplify some exception handling code
2020-03-10 20:32:08 +02:00
Daniel Hahler
ac7ebfa22e
doc: internal: fix MultiCapture.readouterr ( #6878 )
...
Remove wrong docstring: it might actually return bytes.
Replace it with a type annotation which is clear enough.
2020-03-08 12:38:21 +01:00
Daniel Hahler
db92cea14c
black: --target-version py35 ( #6872 )
2020-03-08 01:24:31 +01:00
Daniel Hahler
bce1d40fb0
tests: harden test_reprcompare_notin, factor out callop ( #6764 )
...
* tests: assertion: factor out `callop`, typing
* tests: harden test_reprcompare_notin
2020-03-08 01:23:19 +01:00
Daniel Hahler
dc86fb6758
pre-commit run --all-files
2020-03-07 23:47:55 +01:00
Daniel Hahler
2df4f63149
Add config for black (target-version)
2020-03-07 23:47:55 +01:00
Daniel Hahler
e3cf4fc258
doc/en/Makefile: use Sphinx's make mode ( #6873 )
...
Syncs it from the output of current sphinx-quickstart.
2020-03-07 23:45:05 +01:00
gdhameeja
599bf075db
Check invalid operations for -k
...
`KeywordMapping` returns a bool on lookup which when passed to eval
fail on certain operations such as index access and attribute access.
We catch all exceptions and raise a `UsageError`.
2020-03-07 20:17:01 +05:30
Ran Benita
978b315861
Simplify some exception handling code
...
Mostly avoid unnecessary usage of sys.exc_info(). Since Python3,
exception objects themselves have all that's needed. They are also
easier to type.
2020-03-07 13:18:54 +02:00
Ran Benita
580edc13e7
Merge pull request #6867 from bluetech/inline-pyobjmixin
...
Inline PyobjContext
2020-03-07 11:58:38 +02:00
Ran Benita
1df593f978
Merge pull request #6865 from bluetech/more-config-store
...
Convert a couple of places to use config store
2020-03-06 15:49:01 +02:00
Ran Benita
b7f2e3d4f5
Inline PyobjContext
...
When it was introduced in 8adac2878f it
seems to have had some use, but now it doesn't.
2020-03-06 14:55:20 +02:00
Ran Benita
f011bc642c
Store mark's evalcache in config's store instead of attribute
...
Part of moving away from ad-hoc attributes to using the config's store.
2020-03-06 11:42:20 +02:00
Ran Benita
b1d7a187f2
Add setdefault() method to Store
...
Can be useful in some cases.
2020-03-06 11:42:20 +02:00
Ran Benita
678d65f051
Store AssertionState in config's store instead of attribute
...
Part of moving away from ad-hoc attributes to using the config's store.
2020-03-06 11:27:01 +02:00
Daniel Hahler
fcd3fad03d
Minor internal improvements to logging's log_level ( #6849 )
2020-03-06 03:12:57 +01:00
Daniel Hahler
9e8540f25f
docs: remove doc/en/links.inc ( #6853 )
2020-03-06 03:11:24 +01:00
Bruno Oliveira
19bb2c6235
Merge pull request #6859 from nicoddemus/kw-mapping-attr-typing
...
Use attrs in KeywordMapping
2020-03-05 08:47:22 -03:00
Bruno Oliveira
bc8e52c3c2
Use attrs in KeywordMapping
...
Also added type hinting.
2020-03-05 08:33:20 -03:00
Daniel Hahler
d9a4626944
fixup! Fix documentation for Config/InvocationParams
2020-03-05 06:38:44 +01:00
Daniel Hahler
3865f77de3
doc: TestReport: :show-inheritance:
2020-03-05 06:00:11 +01:00
Daniel Hahler
ffa2658971
doc: reports: count_towards_summary: is a property
...
And therefore does not really `return`. It confused me that there was
no `source` link in the docs, which is only there for functions.
2020-03-05 05:57:43 +01:00
Daniel Hahler
a1ad6e3117
doc: fix/revisit _Result (hook wrappers)
...
- it should not document the deprecated `result`; used the same as
pluggy documents itself
- add a "hookwrapper" label, that could be used by pluggy (currently it
links to the section)
- use pluggy's `hookwrappers` label for linking to its documentation
2020-03-05 05:55:04 +01:00
Daniel Hahler
9b32794391
intersphinx_mapping: add pluggy
2020-03-05 05:53:42 +01:00
Daniel Hahler
c39a85e5f4
doc: revisit UnformattedWarning
2020-03-05 03:15:14 +01:00
Daniel Hahler
b90f57d25c
Remove wrong/outdated doc with UnformattedWarning
...
It was introduced in da6830f19 (added to `_pytest.deprecated`, but then
moved to `_pytest.warning_types`).
2020-03-05 03:13:28 +01:00
Daniel Hahler
77adb33ec6
doc: use show-inheritance with warnings, revisit docstrings
...
Revisits the docstring for `PytestExperimentalApiWarning` and
`PytestUnhandledCoroutineWarning`.
2020-03-05 02:56:18 +01:00
Daniel Hahler
1a8d427e98
doc: src/_pytest/deprecated.py: links
2020-03-05 02:47:21 +01:00
Bruno Oliveira
333bb0883a
Merge pull request #6860 from pytest-dev/pytest_twisted_in_async_warning
...
Add pytest-twisted to list of async def handling plugins
2020-03-04 21:48:20 -03:00
Kyle Altendorf
dce2621710
Add pytest-twisted to list of async def handling plugins
...
https://github.com/pytest-dev/pytest-twisted/tree/v1.12#ensuredeferred
[pytest-twisted](https://github.com/pytest-dev/pytest-twisted ) supports `async def` test functions and fixtures as well as `async def`/`yield` fixtures.
2020-03-04 17:42:08 -05:00
Bruno Oliveira
d161bedcee
Add an example of how to port the code
2020-03-04 09:23:31 -03:00
Daniel Hahler
acec0b688f
Fix usage of pytester with doctests ( #6802 )
...
Use `request.node.name` instead of `request.function.__name__`:
`request.function` is `None` with `DoctestItem`s.
2020-03-04 05:33:50 +01:00
Daniel Hahler
197b7c3bce
Add .gitblameignore ( #6848 )
2020-03-04 05:32:30 +01:00
Daniel Hahler
37d074efc8
Fix (internal) documentation for pytester's LineComp ( #6850 )
2020-03-04 05:25:32 +01:00
Ronny Pfannschmidt
a5a8d53dfe
remove myself from the list of coc handlers ( #6857 )
2020-03-03 19:08:59 -03:00
Ronny Pfannschmidt
9fd71d6fe0
fix #571 : deprecate pytest_collect_directory as ... ( #6847 )
...
Deprecate pytest_collect_directory
Fix #571
Co-authored-by: Daniel Hahler <github@thequod.de >
2020-03-03 18:58:14 -03:00
Daniel Hahler
b11bfa106c
Use attrs with all Repr classes ( #6739 )
...
Co-authored-by: Ran Benita <ran234@gmail.com >
2020-03-03 21:53:28 +01:00
Daniel Hahler
dc5219a9c0
Fix documentation for Config/InvocationParams
2020-03-03 21:15:06 +01:00
Daniel Hahler
a42e85ed54
Fix documentation for _pytest.pytester.RunResult
...
When using `(i)var` in the class docstring it would link `duration` to
`_pytest.runner.TestReport.duration`.
This moves the docstrings to the attributes properly.
2020-03-03 18:12:12 +01:00
Bruno Oliveira
aac11e5e75
Mention FixtureLookupError in getfixturevalue docs
2020-03-03 10:05:19 -03:00
Bruno Oliveira
a03e076e89
Update changelog/6285.feature.rst
...
Co-Authored-By: Ran Benita <ran234@gmail.com >
2020-03-03 09:59:38 -03:00
earonesty
b2d54fe6b1
Fix tox alpha order
2020-03-03 09:59:38 -03:00
earonesty
9b8ed8d9ad
Update pytest.py
2020-03-03 09:59:38 -03:00
earonesty
615474329d
Update AUTHORS
2020-03-03 09:59:38 -03:00
earonesty
7667ff51e7
Update fixtures.py
2020-03-03 09:59:38 -03:00
earonesty
74cdff86f8
Update conftest.py
2020-03-03 09:59:38 -03:00
earonesty
0f00495548
Create 6285.feature.rst
2020-03-03 09:59:38 -03:00
earonesty
b40a9f9add
Export FixtureLookupError to top level
2020-03-03 09:59:38 -03:00
Daniel Hahler
bd7e33277b
docs: remove tracking through Google Analytics ( #6843 )
...
This might not even be monitored by anyone, but if it is useful in
general should probably get replaced with a less controversial provider.
2020-03-03 01:35:14 +01:00
Daniel Hahler
620d457756
doc: add __tracebackhide__ label
2020-03-02 17:08:37 +01:00
Daniel Hahler
ddc8edffbc
logging: minor typing, rename function
...
`get_log_level_for_setting` reflects better what the function does, and
it does not require a (trivial) docstring.
2020-03-01 22:02:46 +01:00
Daniel Hahler
bdd22fdd52
logging: improve help for log_level
2020-03-01 22:02:46 +01:00
Ronny Pfannschmidt
3637d9eb3f
followup: add note on from_parent kwargs
2020-03-01 20:34:38 +01:00
Ronny Pfannschmidt
5c1e56d350
docs: from_parent - add minimal before/after example
...
fixup: fix from_parent version
2020-03-01 20:34:38 +01:00
Ronny Pfannschmidt
3d390940d1
refer the node-from-parent deprecation documentation in the warning
...
fixup: fix test for warning
2020-03-01 20:33:46 +01:00
Ronny Pfannschmidt
194b52145b
Merge pull request #6834 from RonnyPfannschmidt/fix-6833-summarize-warning-item-locations
...
summarize warning summaries if the number of locations is high
2020-03-01 20:21:36 +01:00
Bruno Oliveira
15e1dd0f87
Automate release by comment notifications ( #6823 )
...
* Automate release by comment notifications
* Only run if @pytestbot is mentioned
2020-03-01 14:46:35 -03:00
Ronny Pfannschmidt
23c43a37e0
summarize warning summaries if the number of locations is high
2020-03-01 14:08:15 +01:00
Bruno Oliveira
92767fec51
Merge pull request #6836 from bluetech/store
...
Add a typing-compatible mechanism for ad-hoc attributes on various objects
2020-03-01 09:30:10 -03:00
Ran Benita
5fc80d8bc3
Merge pull request #6844 from bluetech/asserthook-abc-loader
...
Mark AssertionRewritingHook as implementing importlib.abc.Loader
2020-02-29 23:21:11 +02:00
Ran Benita
2f60548e08
Mark AssertionRewritingHook as implementing importlib.abc.Loader
...
It implements the required methods. This is useful for typing but also a
nice indicator.
2020-02-29 16:55:56 +02:00
Daniel Hahler
f10ab021e2
Move _collectfile to FSCollector ( #6830 )
...
Previously this was implemented both on `Session` and `Package`, where
the extra code in `Package._collectfile` was not covered/used.
Ref: https://github.com/pytest-dev/pytest/pull/6830#issuecomment-592663236
2020-02-29 11:40:11 +01:00
Daniel Hahler
d99bfc18b8
Update src/_pytest/config/findpaths.py
...
Co-Authored-By: Ran Benita <ran234@gmail.com >
2020-02-29 11:39:33 +01:00
Bruno Oliveira
ff7b5dbbde
Merge pull request #6784 from nicoddemus/deprecate-terminal-writer
...
Deprecate TerminalReporter.writer
2020-02-28 21:07:02 -03:00
Daniel Hahler
4b53bbc0a9
docs: use doc/en/_build/html for html output ( #6842 )
...
This will use the same directory as `make -C doc/en` then, and reflects
the default location that Sphinx uses.
2020-02-29 00:47:30 +01:00
Daniel Hahler
769ffc32bf
Add Read The Docs badge to README ( #6841 )
2020-02-29 00:29:56 +01:00
Daniel Hahler
8128f4b3b8
Fix test_write_pyc: passed list to parseconfig
2020-02-28 20:40:39 +01:00
Daniel Hahler
6092d3c6e1
typing: parseconfig
2020-02-28 20:40:39 +01:00
Daniel Hahler
6c236767e0
Adjust/fix test_config: use strs with determine_setup
2020-02-28 20:40:39 +01:00
Daniel Hahler
d2f9a73a29
typing: get_dirs_from_args
2020-02-28 19:58:15 +01:00
Daniel Hahler
5819536f00
Improve UsageError with invalid -o style ( #6795 )
...
This started from fixing the test, where `"xdist_strict True"` was used
as a single argument, although you typically would see `["xdist_strict",
"True"]`.
Improves the error message to mention the option that caused the error.
2020-02-28 19:41:56 +01:00
Daniel Hahler
952cab2d85
Simplify test_rootdir_wrong_option_arg ( #6812 )
2020-02-28 18:38:07 +01:00
Ran Benita
d636fcd557
Add a typing-compatible mechanism for ad-hoc attributes on various objects
...
pytest has several instances where plugins set their own attributes on
objects they receive in hooks, like nodes and config. Since plugins are
detached from these object's definition by design, this causes a problem
for type checking because these attributes are not defined and mypy
complains.
Fix this by giving these objects a "store" which can be used by plugins
in a type-safe manner.
Currently this mechanism is private. We can consider exposing it at a
later point.
2020-02-28 14:34:44 +02:00
Daniel Hahler
f77d606d4e
docs: generate index and add it to globaltoc sidebar ( #6808 )
2020-02-27 00:34:18 +01:00
Daniel Hahler
16c683dff9
Remove unused setns ( #6804 )
...
Last usage of it was removed in ba17363d7 .
2020-02-26 15:35:14 +01:00
Daniel Hahler
2e48c32dea
docs: fix reference to config.cache fixture ( #6807 )
2020-02-26 01:24:18 +01:00
Stefano Mazzucco
2451716746
Remove reference to old konira plugin from docs ( #6819 )
...
The pytest-konira plugin has not seen an update since 2011, moreover
the "project description" on PyPI points to a dubious website that
does not actually correspond to the project and instead redirects to
advertising content.
2020-02-26 01:19:40 +01:00
Daniel Hahler
eac933acde
assertion: rewrite: only catch EnvironmentError
...
This was changed unintentionally in 45c4a8fb3 (pytest 5.3.0), but only
EnvironmentErrors might have `errno`.
Since that is not really guaranteed and it is good to have more
information this uses the string representation of the exc in the trace
message.
2020-02-25 17:29:30 +01:00
Daniel Hahler
6a7df7f031
test_assertion: harden/improve test_{text_diff,unicode} ( #6806 )
2020-02-24 15:19:08 +01:00
Daniel Hahler
ac3a42bafd
doctest: strip newlines with unexpected exceptions ( #6801 )
2020-02-24 15:18:08 +01:00
Daniel Hahler
be23aeb989
Remove unused pytester.getdecoded ( #6805 )
...
Last usage was removed in 22dc47d9f .
2020-02-24 14:33:26 +01:00
Daniel Hahler
bfd0d18371
tests: test_config: move tests ( #6796 )
...
Originally added in a2891420d (with `TestRootdir`), but then
accidentally moved to `TestOverrideIniArgs` in 802755cee .
2020-02-23 17:12:55 +01:00
Daniel Hahler
9928c7794b
minor: fix trace msg: s/loaded/loading ( #6798 )
2020-02-23 17:12:30 +01:00
Daniel Hahler
706ea86bba
capture: factor out _get_multicapture ( #6788 )
...
Ref: https://github.com/pytest-dev/pytest/pull/6671#issuecomment-588408992
2020-02-22 23:39:20 +01:00
Daniel Hahler
1d5a0ef284
Fix pytest_ignore_collect hooks: do not return False ( #6778 )
...
It should only return `True` when something is to be ignored, not
`False` otherwise typically.
This caused e.g. bad interaction with the cacheprovider (before
https://github.com/pytest-dev/pytest/pull/6448 ).
2020-02-22 23:35:47 +01:00
Daniel Hahler
c8b4a1a471
Handle match with pytest.raises() ( #6753 )
...
Fixes https://github.com/pytest-dev/pytest/issues/6752 .
2020-02-22 23:32:55 +01:00
Daniel Hahler
077001fe5c
tests: simplify test_pytest_plugins_in_non_top_level_conftest_unsupported_no_false_positives
2020-02-22 23:31:37 +01:00
Daniel Hahler
68fe0eb8f3
Minor cosmetic fixes ( #6792 )
2020-02-22 19:24:41 +01:00
Daniel Hahler
de854c6ee1
doc: pytest.raises: remove mention of removed message ( #6793 )
...
Follow-up to 13f7f27fd .
2020-02-22 19:24:00 +01:00
Daniel Hahler
04126feea7
doc: pytest.raises: link to python:try ( #6794 )
2020-02-22 19:23:35 +01:00
kpinc
eeebcd77dd
doc: add list of fixtures to start of fixture chapter ( #6696 )
...
- Add list of fixtures to start of fixture chapter
- Add "fixture" cross ref type
2020-02-22 14:56:19 +01:00
Daniel Hahler
478a244f5e
main: args must be a list, not tuple ( #6791 )
...
Passing in a tuple crashes in `_prepareconfig`:
def test_invoke_with_tuple(self):
> pytest.main(("-h",))
src/_pytest/config/__init__.py:82: in main
config = _prepareconfig(args, plugins)
src/_pytest/config/__init__.py:229: in _prepareconfig
return pluginmanager.hook.pytest_cmdline_parse(
…
src/_pytest/helpconfig.py:98: in pytest_cmdline_parse
config = outcome.get_result() # type: Config
src/_pytest/config/__init__.py:808: in pytest_cmdline_parse
self.parse(args)
src/_pytest/config/__init__.py:1017: in parse
self._preparse(args, addopts=addopts)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _preparse(self, args: List[str], addopts: bool = True) -> None:
…
if addopts:
ini_addopts = self.getini("addopts")
if ini_addopts:
> args[:] = self._validate_args(ini_addopts, "via addopts config") + args
E TypeError: can only concatenate list (not "tuple") to list
addopts = True
args = ('-h',)
env_addopts = ''
ini_addopts = ['-rfEX', …]
src/_pytest/config/__init__.py:956: TypeError: can only concatenate list (not "tuple") to list
Might be worth handling (converting it to a list for example), but it
was documented to be a list to begin with when removing support for
strings (a7e401656 ).
2020-02-22 13:16:46 +01:00
Daniel Hahler
47ccd58fb4
Fix typo in doc with syspath_prepend
2020-02-22 13:15:17 +01:00
Daniel Hahler
2277817176
Fix grammar in changelog/6737.breaking.rst
2020-02-22 13:15:17 +01:00
Daniel Hahler
1baeefc2fd
test_reprcompare_whitespaces: use callequal
2020-02-22 13:15:17 +01:00
Daniel Hahler
260f848c05
minor: remove outdated, superfluous comment
2020-02-22 13:15:17 +01:00
Bruno Oliveira
7c0d1cad40
Merge pull request #6790 from TWood67/master
...
Updated Dynamic Scopes Documentation
2020-02-21 16:47:22 -03:00
TWood67
b26e60c2da
updated documentation
...
added a default value so a runtime exception does not occur
2020-02-21 11:45:24 -06:00
Daniel Hahler
2be06ba67e
Improve doc/typing/message for ExceptionInfo.match ( #6776 )
2020-02-21 16:41:57 +01:00
Daniel Hahler
8e991a622c
tests: harden/improve test_itemreport_subclasses_show_subclassed_file ( #6467 )
...
* tests: harden test_itemreport_subclasses_show_subclassed_file
* extend test_itemreport_subclasses_show_subclassed_file
2020-02-21 15:24:12 +01:00
Daniel Hahler
b099fcfa33
tests: runner: improve/ignore coverage ( #6781 )
2020-02-21 14:37:56 +01:00
Daniel Hahler
4c9b850e13
help: --deselect: mention that this uses node id prefixes ( #6770 )
...
Ref: https://github.com/pytest-dev/pytest/issues/6751
2020-02-21 12:53:27 +01:00
Daniel Hahler
81a9df6ed1
tests: fix flaky test_timeout ( #6773 )
...
Use a longer timeout on CI - seen a failure with it with GHA (Windows).
Ref: a4554e666a
2020-02-21 12:52:31 +01:00
Daniel Hahler
58ef95ed4d
ci: fix Travis ( #236 ) ( #6786 )
2020-02-21 12:50:54 +01:00
Bruno Oliveira
435ad221f9
Deprecate TerminalReporter.writer
...
Fix #6779
2020-02-20 21:04:49 -03:00
Bruno Oliveira
c91abe48ba
Assorted improvements following up #6658
2020-02-20 18:51:41 -03:00
Daniel Hahler
d1b50526fa
tests: harden some UsageError tests (matching the error msg) ( #6775 )
2020-02-20 13:29:59 +01:00
Daniel Hahler
4d633a29be
cacheprovider: fix typing with Path(py.path.local) ( #6774 )
...
Fixes:
> Argument 1 to "Path" has incompatible type "Union[local, Any]";
> expected "Union[str, _PathLike[str]]" [arg-type]
Ref: https://github.com/pytest-dev/py/pull/232#pullrequestreview-349549522
2020-02-20 13:23:41 +01:00
Daniel Hahler
8a1633c3b4
tmpdir: clean up indirection via config for factories ( #6767 )
...
Remove `_tmp_path_factory` and `_tmpdirhandler` from the config object.
- `_tmpdirhandler` has been deprecated since 2.8.0 (0f52856f9 ), when
`tmpdir_factory` has been added.
- `_tmp_path_factory` should have probably never been added there in the
first place, but maybe just used the same pattern (16e2737da ).
2020-02-20 12:48:33 +01:00
Daniel Hahler
82f5986424
capture: re-order classes ( #6768 )
...
This better reflects the inheritance / smartness with regard to raw or
encoded.
- FDCaptureBinary
- FDCapture
- SysCaptureBinary
- SysCapture
- TeeSysCapture
2020-02-20 11:00:19 +01:00
Daniel Hahler
fb16d3e27a
capture: revisit/fix __repr__, define _in_suspended ( #6749 )
2020-02-20 00:51:57 +01:00
Daniel Hahler
2b13a9b95d
Use TYPE_CHECKING ( #6771 )
2020-02-19 22:07:54 +01:00
Daniel Hahler
1b30514783
LFPlugin: use sub-plugins to deselect during collection ( #6448 )
...
Fixes https://github.com/pytest-dev/pytest/issues/5301 .
Refactor/steps:
- use var
- harden test_lastfailed_usecase
- harden test_failedfirst_order
- revisit last_failed_paths
- harden test_lastfailed_with_known_failures_not_being_selected
2020-02-19 21:33:03 +01:00
Ran Benita
af2b0e1174
Merge pull request #6758 from bluetech/outcome-exception-callable-2
...
Use a hack to make typing of pytest.fail.Exception & co work
2020-02-19 22:08:21 +02:00
Daniel Hahler
781a730bea
terminal: remove confusing comment about _tw ( #6763 )
...
Ref: https://github.com/blueyed/pytest/commit/cf0cac3b7#r37373455
2020-02-19 20:35:50 +01:00
Nathaniel Compton
7c09d88b72
#6289 : Add new example to XFAIL documentation ( #6685 )
...
Fix #6289
Co-authored-by: Ran Benita <ran234@gmail.com >
2020-02-19 15:04:37 -03:00
Daniel Hahler
4021770688
pytester: LineMatcher: use _fail with _match_lines_random ( #6747 )
2020-02-19 13:16:57 +01:00
Daniel Hahler
f95c7f5803
doctest: handle any OutcomeException ( #6669 )
...
Fixes using `pytest.xfail()` and `pytest.importorskip()` in doctests.
Ref: https://github.com/pytest-dev/pytest/issues/310
2020-02-19 13:16:37 +01:00
Ran Benita
24dcc76495
Use a hack to make typing of pytest.fail.Exception & co work
...
Mypy currently is unable to handle assigning attributes on function:
https://github.com/python/mypy/issues/2087 .
pytest uses this for the outcome exceptions -- `pytest.fail.Exception`,
`pytest.exit.Exception` etc, and this is the canonical name by which they
are referred.
Initially we started working around this with type: ignores, and later
by switching e.g. `pytest.fail.Exception` with the direct exception
`Failed`. But this causes a lot of churn and is not as nice. And I also
found that some code relies on it, in skipping.py:
def pytest_configure(config):
if config.option.runxfail:
# yay a hack
import pytest
old = pytest.xfail
config._cleanup.append(lambda: setattr(pytest, "xfail", old))
def nop(*args, **kwargs):
pass
nop.Exception = xfail.Exception
setattr(pytest, "xfail", nop)
...
So it seems better to support it. Use a hack to make it work. The rest
of the commit rolls back all of the workarounds we added up to now.
`pytest.raises.Exception` also exists, but it's not used much so I kept
it as-is for now.
Hopefully in the future mypy supports this and this ugliness can be
removed.
2020-02-18 23:17:27 +02:00
Daniel Hahler
442f7a7706
Do not use fixed line number with test_cache_failure_warns ( #6748 )
...
It was not previously checking for the line number also (02aa8ad ), and this is
obviously wrong (affected by changes to the file).
2020-02-18 09:27:33 +01:00
Daniel Hahler
d18c75baa3
doc: fix test with link to python_files ( #6741 )
...
Follow-up to b09762d (#6705 ).
Ref: https://github.com/pytest-dev/pytest/pull/6705#discussion_r379819573
2020-02-16 10:30:25 +01:00
Daniel Hahler
bc976dca3b
pytester: add __tracebackhide__ for matching randomly ( #6746 )
2020-02-16 10:29:59 +01:00
Ran Benita
7b8968ff80
Merge pull request #6735 from bluetech/metafunc-annotate
...
Type annotate Metafunc
2020-02-15 23:32:14 +02:00
Ran Benita
0c68e7a2c9
Merge pull request #6744 from bluetech/item-runtest-stub
...
Add Item.runtest stub implementation
2020-02-15 23:27:57 +02:00
Daniel Hahler
369284752e
terminal: refactor, no yellow ("boring") for non-last item ( #6409 )
2020-02-15 19:00:24 +01:00
Daniel Hahler
e872532d0c
Merge branch 'master' into term-color
...
Conflicts:
src/_pytest/terminal.py
testing/test_debugging.py
testing/test_terminal.py
2020-02-15 18:46:29 +01:00
kpinc
9785ee438d
doc: expand first sentence on fixtures into a paragraph ( #6742 )
2020-02-15 18:35:36 +01:00
Ran Benita
959e6b4f44
Merge pull request #6743 from bluetech/runtest-getattr
...
Avoid getattr when dispatching pytest_runtest_* hooks
2020-02-15 17:22:00 +02:00
Ran Benita
5945c3fe88
Type annotate Metafunc
2020-02-15 17:13:18 +02:00
Ran Benita
7155b2277c
Ignore "assert False" statements in coverage
2020-02-15 17:08:01 +02:00
Ran Benita
a7a1686433
Add Item.runtest stub implementation
...
Every Item must implement this method (called on all items collected in
a session). Add a stub for typing and clarity.
2020-02-15 16:58:55 +02:00
Ran Benita
371939fb86
Avoid getattr when dispatching pytest_runtest_* hooks
...
Using getattr doesn't work with typing, and also breaks grep. It took me
a while to find where these hooks are called.
2020-02-15 15:34:21 +02:00
Daniel Hahler
7fc9d4c976
Use warnings module directly with cacheprovider ( #6740 )
2020-02-15 05:31:18 +01:00
Daniel Hahler
2b5adc88a7
Move test_issue4445_cacheprovider_set into test_cache_failure_warns
...
Would need to be adjusted anyway non-trivially, and we can just harden
`test_cache_failure_warns` instead.
2020-02-15 02:01:22 +01:00
Daniel Hahler
02aa8adae1
cacheprovider: use warnings directly
...
Allows for filtering of PytestCacheWarning.
Using `_issue_warning_captured` is not necessary here, and was probably
only used because the cacheprovider misses warnings during
`pytest_sessionfinish`, which is also fixed here.
I think the usage of `_issue_warning_captured` can be removed/reduced
further, but also that this is good enough for now.
Ref: https://github.com/pytest-dev/pytest/issues/6681 .
2020-02-15 01:36:57 +01:00
Daniel Hahler
67e69a7e49
tests: harden test_xdist_verbose ( #6700 )
2020-02-15 01:22:01 +01:00
Daniel Hahler
b09762df27
doc: link to python_files from "Assertion Rewriting" ( #6705 )
...
Ref: https://github.com/pytest-dev/pytest/issues/6377
Ref: https://github.com/blueyed/pytest/pull/145
2020-02-15 00:32:16 +01:00
Daniel Hahler
9631b3c166
reports: use attr.asdict with serialize_repr_{crash,traceback} ( #6732 )
...
* Turn ReprTraceback into attrs class
* Use attr.asdict with serialize_repr_{crash,traceback}
* Turn ReprFileLocation into attrs class, convert py.path.local
2020-02-14 19:39:34 +01:00
Daniel Hahler
4b70ba2c21
tests: harden test_better_reporting_on_conftest_load_failure ( #6713 )
2020-02-14 17:00:01 +01:00
Daniel Hahler
de3353aac1
test_load_initial_conftest_last_ordering: handle testing package ( #6706 )
2020-02-14 16:58:17 +01:00
Bruno Oliveira
ef73a56032
Merge pull request #6737 from bluetech/fixture-cached-result
...
Don't delete FixtureDef.cached_result, set it to None instead
2020-02-14 12:33:03 -03:00
Ran Benita
d839686c7b
Don't delete FixtureDef.cached_result, set it to None instead
...
Previously `cached_result` was either set or deleted. Type annotations
cannot handle this, so use `None` for the non-set state instead.
2020-02-14 14:18:58 +02:00
Daniel Hahler
d89b5057ca
assertrepr_compare: provide more info (location) with exceptions ( #6728 )
2020-02-14 02:17:05 +01:00
Daniel Hahler
83137c89e9
tests: test_unicode_plus_minus: use unicode sign directly ( #6727 )
...
Was globbed for Python 2 before (57c448991 ).
2020-02-14 02:16:25 +01:00
Daniel Hahler
dbae5a7ff8
Recognize -V as a short option for --version ( #6721 )
2020-02-13 12:30:22 +01:00
Daniel Hahler
07b7b6fa7d
doc: add docstring for CaptureManager._capturing_for_request ( #6698 )
...
Based on the removed doc for `_install_capture_fixture_on_item`.
Follow-up to https://github.com/pytest-dev/pytest/pull/6663 .
Co-authored-by: Ran Benita <ran234@gmail.com >
2020-02-13 12:09:32 +01:00
Ran Benita
56a5dbe252
Merge pull request #6722 from bluetech/rm-callspec2-global
...
Remove unused CallSpec2 fields _globalid, _globalparam
2020-02-13 12:49:41 +02:00
Ran Benita
8a4d5227e2
Remove unused CallSpec2 fields _globalid, _globalparam
2020-02-13 12:31:48 +02:00
Bruno Oliveira
e6ea9edffe
Merge pull request #6673 from sscherfke/features
...
Reverse / fix meaning of "+/-" in error diffs
2020-02-12 15:05:38 -03:00
Daniel Hahler
b7ad4c2bed
_pformat_dispatch: pass through args ( #6715 )
2020-02-12 16:07:57 +01:00
Bruno Oliveira
d79179a239
Merge pull request #6716 from bluetech/features-to-master-for-real
...
Merge the features branch into master, before stopping to use it
2020-02-12 11:52:32 -03:00
Ran Benita
c9f9664336
Merge branch 'features' into master
...
The features branch is no more. Development of features is now also done
on master.
See https://github.com/pytest-dev/pytest/pull/6571 .
2020-02-12 13:50:02 +02:00
Bruno Oliveira
aa4d80cad9
RFC: Streamlining pytest's git workflow ( #6571 )
...
RFC: Streamlining pytest's git workflow
2020-02-12 08:37:14 -03:00
Bruno Oliveira
4209ad6fca
Use code highlighting if pygments is installed ( #6658 )
...
* Use code highlighting if pygments is installed
* Use colorama constants instead of bare ascii codes
Could not find the exact equivalent of 'hl-reset' code using colorama
constants though.
* Refactor ASCII color handling into a fixture
* Revert back to using explicit color codes
* In Python 3.5 skip rest of tests that require ordered markup in colored output
2020-02-12 08:32:37 -03:00
Bruno Oliveira
3ea74310d7
Fix crash when faulthandler starts initialized ( #6598 )
...
Use suggestion in review and use a subplugin so hooks will only be active
if we enable faulthandler ourselves.
Fix #6575
Co-authored-by: Daniel Hahler <git@thequod.de >
2020-02-12 11:06:20 +01:00
Ran Benita
c3e53a072d
Switch to new git workflow
...
Co-Authored-By: Daniel Hahler <git@thequod.de >
2020-02-12 09:49:21 +02:00
Daniel Hahler
fa877665ad
_set_main_color: does not need to return
2020-02-12 03:11:54 +01:00
Bruno Oliveira
3b582858f3
Merge pull request #6712 from nicoddemus/mm
...
Merge master into features
2020-02-11 20:22:20 -03:00
Bruno Oliveira
78baa7b575
Merge remote-tracking branch 'upstream/master' into mm
...
Conflicts:
src/_pytest/main.py
src/_pytest/mark/structures.py
src/_pytest/python.py
testing/test_main.py
testing/test_parseopt.py
2020-02-11 19:22:28 -03:00
Ran Benita
7484e346f9
Merge pull request #6711 from bluetech/mv-exitcode
...
Move ExitCode's definition from _pytest.main to _pytest.config
2020-02-11 09:49:38 +02:00
Ran Benita
d25123eb01
Merge pull request #6710 from bluetech/rm-nodemarkers
...
Remove unused NodeMarkers
2020-02-10 23:57:40 +02:00
Ran Benita
d33da078a8
Move ExitCode's definition from _pytest.main to _pytest.config
...
ExitCode is used in several internal modules and hooks and so with type
annotations added, needs to be imported a lot.
_pytest.main, being the entry point, generally sits at the top of the
import tree.
So, it's not great to have ExitCode defined in _pytest.main, because it
will cause a lot of import cycles once type annotations are added (in
fact there is already one, which this change removes).
Move it to _pytest.config instead.
_pytest.main still imports ExitCode, so importing from there still
works, although external users should really be importing from `pytest`.
2020-02-10 23:55:06 +02:00
Stefan Scherfke
d59adc61f9
Reverse / fix meaning of "+/-" in error diffs
...
The convention is "assert result is expected". Pytest's error diffs now
reflect this. "-" means that sth. expected is missing in the result and
"+" means that there are unexpected extras in the result.
Fixes : #3333
2020-02-10 21:12:37 +01:00
Ran Benita
7cc513b2af
Remove unused NodeMarkers
...
This class was both added and became unused during the development of a
PR:
https://github.com/pytest-dev/pytest/pull/3317
2020-02-10 22:05:25 +02:00
Daniel Hahler
0ee007ca33
Fix CI (Travis) ( #6704 )
2020-02-10 20:52:21 +01:00
Ran Benita
1ebca37689
Merge pull request #6708 from bluetech/redundant-commas-2
...
Remove some redundant commas
2020-02-10 21:26:55 +02:00
Ran Benita
b59d32a5c7
Merge pull request #6709 from bluetech/rm-arg2finish
...
Remove unused field FixtureManager._arg2finish
2020-02-10 21:26:30 +02:00
Ran Benita
3e4e6297ce
Remove unused field FixtureManager._arg2finish
...
Not used since 4f0879ff9b .
2020-02-10 17:30:20 +02:00
Ran Benita
0b2b40e35d
Remove some redundant commas
...
Fix mypy errors:
src/_pytest/runner.py:36: error: "addoption" of "OptionGroup" does not return a value [func-returns-value]
src/_pytest/helpconfig.py:64: error: "addoption" of "OptionGroup" does not return a value [func-returns-value]
src/_pytest/terminal.py:67: error: "_addoption" of "OptionGroup" does not return a value [func-returns-value]
src/_pytest/terminal.py:75: error: "_addoption" of "OptionGroup" does not return a value [func-returns-value]
2020-02-10 17:28:05 +02:00
Daniel Hahler
f9dd58000a
Fix CaptureManager.__repr__ ( #6697 )
2020-02-10 13:03:05 +01:00
Daniel Hahler
449290406c
test_argcomplete: remove usage of distutils.spawn ( #6703 )
...
Fixes collection error with Python 3.5.3 (Travis):
testing/test_parseopt.py:2: in <module>
import distutils.spawn
.tox/py35-coverage/lib/python3.5/distutils/__init__.py:4: in <module>
import imp
.tox/py35-coverage/lib/python3.5/imp.py:33: in <module>
PendingDeprecationWarning, stacklevel=2)
E PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
Build log: https://travis-ci.org/blueyed/pytest/builds/648305304
2020-02-10 11:52:19 +01:00
Daniel Hahler
12824e6279
ci: Travis: remove non-py35 jobs
2020-02-10 10:59:28 +01:00
Daniel Hahler
a62d9a40e7
ci: Travis: 3.5.1: upgrade pip, setuptools, virtualenv
...
Ref: https://github.com/jaraco/zipp/issues/40
2020-02-10 10:53:42 +01:00
Daniel Hahler
30cb598e9c
Typing around/from types in docs ( #6699 )
2020-02-09 11:42:07 +01:00
Daniel Hahler
114de91ab7
factor out _determine_main_color
...
(cherry picked from commit f36b9f7fa4fa1af7130406166df5c2be668e50c9)
2020-02-09 00:26:38 +01:00
Daniel Hahler
7a7c634e33
factor out KNOWN_TYPES
...
(cherry picked from commit 1180aedee727f7e8468fdc5561a87e12865622c6)
2020-02-09 00:26:26 +01:00
Daniel Hahler
b4ace46c42
capture: cleanup item fixture handling ( #6663 )
...
This started by looking at how to get the current test item in general,
and then I noticed that it is not necessary for the capture plugin to
track it manually in the first place.
2020-02-07 19:23:37 +01:00
Daniel Hahler
a8fc056aad
Handle Exit exception in pytest_sessionfinish ( #6660 )
2020-02-07 00:40:10 +01:00
Vladyslav Rachek
9e262038c8
[parametrize] enforce explicit argnames declaration ( #6330 )
...
Every argname used in `parametrize` either must
be declared explicitly in the python test function, or via
`indirect` list
Fix #5712
2020-02-06 20:20:25 -03:00
Minuddin Ahmed Rana
ef437ea448
Remove incorrect choices comment ( #6677 )
2020-02-05 20:45:21 +01:00
Daniel Hahler
cdc7e13067
pytester: clarify _makefile signature ( #6675 )
2020-02-05 20:42:57 +01:00
Daniel Hahler
39d9f7cff5
pytester: LineMatcher: typing, docs, consecutive line matching ( #6653 )
2020-02-04 22:47:18 +01:00
Daniel Hahler
632800add5
internal: clean up getfslineno ( #6656 )
2020-02-04 22:46:00 +01:00
Daniel Hahler
bc494661ad
Remove testing/test_modimport.py ( #6666 )
2020-02-04 08:26:40 +01:00
Daniel Hahler
5a4c1b628b
Use inspect.getdoc to massage fixture docstrings ( #6668 )
...
Ref: https://github.com/pytest-dev/pytest/pull/2575
2020-02-04 03:07:53 +01:00
Daniel Hahler
4316fe8a92
testing/conftest.py: testdir: set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ( #6655 )
...
Fixes https://github.com/pytest-dev/pytest/pull/4518 .
2020-02-04 02:59:20 +01:00
Daniel Hahler
aa0328782f
assertion: save/restore hooks on item ( #6646 )
2020-02-04 02:56:23 +01:00
Daniel Hahler
9c7f1d9b32
Remove compat.getfslineno
2020-02-04 02:40:59 +01:00
Daniel Hahler
dab90ef726
typing: fix getfslineno
...
Closes https://github.com/pytest-dev/pytest/pull/6590 .
2020-02-03 19:09:08 +01:00
Daniel Hahler
61f2a26675
Code/getfslineno: keep empty co_filename
...
Previously this would be turned via `py.path.local("")` into the current
working directory.
This appears to be what `fspath = fn and py.path.local(fn) or None`
tries to avoid in `getfslineno`'s `TypeError` handling already, if
`Code` would raise it.
2020-02-03 19:09:08 +01:00
Daniel Hahler
b0d45267c5
internal: clean up getfslineno
...
Everything was using `_pytest.compat.getfslineno` basically, which
wrapped `_pytest._code.source.getfslineno`.
This moves the extra code from there into it directly, and uses the
latter everywhere.
This helps to eventually remove the one in compat eventually, and also
causes less cyclic imports.
2020-02-03 19:09:08 +01:00
Bruno Oliveira
1480aa31a7
Explicitly state on the PR template that we can squash commits ( #6662 )
...
* Explicitly state on the PR template that we can squash commits
This way we don't need to ask every time, and users who for some reason
would not like us to squash their commits can explicitly state so.
2020-02-03 14:35:50 -03:00
Daniel Hahler
75714ee707
pluginmanager.consider_preparse: add exclude_only kwarg ( #6443 )
...
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``.
* fix/adjust test_disable_plugin_autoload
* adjust test_plugin_loading_order
2020-02-03 14:10:54 +01:00
Daniel Hahler
abffd16ce6
Keep (revisited) comment from https://github.com/pytest-dev/pytest/commit/4d31ea831
2020-02-03 14:04:16 +01:00
Daniel Hahler
fb289667e3
Remove testing/test_modimport.py
...
testing/test_meta.py ensures this already as a side effect
(+ tests a few more (`__init__.py` files) and should have been
combined with it right away [1].
1: https://github.com/pytest-dev/pytest/pull/4510#discussion_r289123446
Ref: https://github.com/pytest-dev/pytest/commit/eaa05531e
Ref: https://github.com/pytest-dev/pytest/commit/4d31ea831
2020-02-03 13:58:32 +01:00
Daniel Hahler
8ec4d03c91
Inline FunctionMixin with Function ( #6664 )
...
`Generator` was removed in 7eb28f9eb , and this pleases mypy to correctly
complain that `FunctionMixin` has no `config` (within
`_prunetraceback`).
* typing: _prunetraceback
* minor: imports, typing
2020-02-03 10:25:32 +01:00
rebecca-palmer
c55bf23cbe
doc: s/pytest_mark/pytestmark ( #6661 )
2020-02-03 08:56:37 +01:00
Daniel Hahler
99d162e44a
Handle Exit exception in pytest_sessionfinish
...
Similar to a7268aa (https://github.com/pytest-dev/pytest/pull/6258 ).
2020-02-02 23:13:23 +01:00
Ran Benita
8bd612b367
typing: wrap_session
...
Pulled out of https://github.com/pytest-dev/pytest/pull/6556 .
2020-02-02 23:12:48 +01:00
Daniel Hahler
5256542ea4
pytester.LineMatcher: add support for matching lines consecutively
2020-02-01 23:48:58 +01:00
Daniel Hahler
50f81db817
revisit/improve docstrings
2020-02-01 23:48:58 +01:00
Daniel Hahler
2681b0aed7
typing: pytester: LineMatcher
2020-02-01 23:48:57 +01:00
Daniel Hahler
b10ab0211c
Use TypeError instead of AssertionError for no sequence
...
Improve/extends tests.
2020-02-01 23:48:57 +01:00
Daniel Hahler
09a0e45492
testing/test_pytester.py: cosmetics
2020-02-01 23:48:57 +01:00
Daniel Hahler
a9c5d31806
PyCollector._genfunctions: use already created fixtureinfo ( #6636 )
...
`Function` creates a `_fixtureinfo` already:
https://github.com/pytest-dev/pytest/blob/fed535694/src/_pytest/python.py#L1392-L1395
2020-02-01 06:27:41 +01:00
Hugo van Kemenade
c9eeafade5
Fix favicon for Chrome and Opera ( #6639 )
...
* Fix favicon for Chrome and Opera
* Delete pytest1favi.ico
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-01-31 20:56:45 -03:00
Bruno Oliveira
39b25ddcf3
Remove deprecated 'pytest_itemstart' hook ( #6637 )
...
Remove deprecated 'pytest_itemstart' hook
2020-01-31 16:12:27 -03:00
Ran Benita
4038d6c773
Merge pull request #6640 from bluetech/master-to-features
...
Merge master to features - one last time
2020-01-31 12:11:14 +02:00
Ran Benita
a435faad5c
Merge branch 'master' into master-to-features
2020-01-31 11:27:06 +02:00
Daniel Hahler
3645ba3072
Merge pull request #6638 from blueyed/rfEX
...
tests: use `-rfEX`
2020-01-31 01:06:32 +01:00
Bruno Oliveira
70739296e1
Remove deprecated 'pytest_itemstart' hook
...
This hook has been deprecated/removed for more than 10 years
in a2fe6714f8 .
2020-01-30 21:03:29 -03:00
Daniel Hahler
8301993e5e
tests: use -rfEX
...
`-fE` is the default in `features` now [1], but the idea is to add `X`
also to it in the long run, so let's dogfood it ourselves.
1: https://github.com/pytest-dev/pytest/pull/6524
2: https://github.com/pytest-dev/pytest/pull/6524#issuecomment-577650703
2020-01-31 00:18:51 +01:00
Daniel Hahler
1dc265e34a
Merge pull request #6633 from blueyed/async_warn
...
python: factor out async_warn
2020-01-30 23:39:06 +01:00
Daniel Hahler
e7a833635d
Merge pull request #6635 from blueyed/fix-todo
...
minor: doc: getfuncargnames: move TODO out of docstring
2020-01-30 23:37:41 +01:00
Daniel Hahler
fed5356941
Merge pull request #6634 from blueyed/fixtures-move-import
...
fixtures: move import of ParameterSet to top level
2020-01-30 23:22:39 +01:00
Daniel Hahler
5b81bd862c
minor: doc: getfuncargnames: move TODO out of docstring
2020-01-30 23:22:10 +01:00
Daniel Hahler
2902c7263c
fixtures: move import of ParameterSet to top level
...
This gets typically used always (via `getfixtureinfo`).
2020-01-30 23:03:02 +01:00
Daniel Hahler
442dccef65
python: factor out async_warn
2020-01-30 22:55:23 +01:00
Daniel Hahler
e830432592
Merge pull request #6601 from blueyed/typing-pytest_collection
...
typing: pytest_collection
2020-01-30 20:47:06 +01:00
Daniel Hahler
ae788997f2
Merge pull request #6630 from blueyed/revert-curl
...
Revert "ci: codecov: use `--retry-connrefused` with curl"
2020-01-30 20:46:46 +01:00
Daniel Hahler
88b800355a
typing: pytest_collection
2020-01-30 19:58:43 +01:00
Daniel Hahler
864338de71
Revert "ci: codecov: use --retry-connrefused with curl"
...
Not known with `curl` on Travis at least.
Reverts https://github.com/pytest-dev/pytest/pull/6573 .
This reverts commit df1f43ee28 .
2020-01-30 19:56:25 +01:00
Bruno Oliveira
eb5e651d7e
Fix typo ( #6629 )
...
Fix typo
2020-01-30 13:41:47 -03:00
Hugo van Kemenade
55bffb7c15
Fix typo
2020-01-30 18:30:51 +02:00
Bruno Oliveira
be18f85a6e
Reword fixture docs for clarity ( #6627 )
...
Reword fixture docs for clarity
2020-01-30 12:56:45 -03:00
Daniel Hahler
28b8f3ca3a
Merge pull request #6461 from blueyed/test-package-upstream
...
Package: typing, cleanup
2020-01-30 16:41:47 +01:00
Daniel Arndt
d91459fc75
Reword fixture docs for clarity
2020-01-30 09:32:54 -04:00
Daniel Hahler
4de8e680e3
Merge pull request #6625 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-30 02:53:56 +01:00
Bruno Oliveira
ef283efc42
Merge pull request #6624 from nicoddemus/gh-notes-wrap
...
Use --wrap=preserve in release notes script
2020-01-29 22:36:42 -03:00
Daniel Hahler
b5b6e051ed
Merge master into features
2020-01-30 02:29:02 +01:00
Daniel Hahler
10b1b79f4e
Merge pull request #6623 from blueyed/move-back-test_getfslineno
...
tests: move test_getfslineno back
2020-01-30 02:17:25 +01:00
Bruno Oliveira
6d7e06e6be
Use --wrap=preserve in release notes script
...
Follow up to #6621 after premature merge
2020-01-29 20:28:04 -03:00
Daniel Hahler
78eddcb5b1
tests: move test_getfslineno back
...
Reverts https://github.com/pytest-dev/pytest/pull/6610 .
The tested `getfslineno` is `src/_pytest/_code/source.py` actually,
exported via `src/_pytest/_code/__init__.py`.
I've confused it with the one in `src/_pytest/compat.py` apparently.
2020-01-29 23:47:39 +01:00
Bruno Oliveira
757873edb3
Docs: Don't wrap the markdown for GitHub releases ( #6621 )
...
Docs: Don't wrap the markdown for GitHub releases
2020-01-29 19:38:17 -03:00
Bruno Oliveira
64ab68ff0a
Fix 6341 disallow session config in fromparent ( #6387 )
...
Fix 6341 disallow session config in fromparent
2020-01-29 19:21:02 -03:00
Daniel Hahler
66330444a3
Merge pull request #6611 from blueyed/test_code-imports
...
tests: test_code: improve/clarify imports
2020-01-29 21:23:37 +01:00
Hugo van Kemenade
97f1645993
Don't wrap the markdown for GitHub releases
2020-01-29 21:56:01 +02:00
Daniel Hahler
3dbc61dd80
tests: test_code: improve/clarify imports
2020-01-29 19:44:37 +01:00
Daniel Hahler
b42938421e
Merge pull request #6610 from blueyed/tests-move-test_getfslineno
...
tests: move test_getfslineno
2020-01-29 19:43:28 +01:00
Daniel Hahler
87fecce77b
Merge pull request #6600 from blueyed/harden-test_teardown_many_verbose
...
tests: harden test_teardown_many_verbose
2020-01-29 18:56:10 +01:00
Daniel Hahler
05d953d9e4
Merge pull request #6620 from blueyed/cp-release
...
doc: release-5.3.5
2020-01-29 18:42:27 +01:00
Daniel Hahler
d478e2bbca
doc: release-5.3.4
...
(cherry picked from commit fd1a51a23f )
2020-01-29 18:28:11 +01:00
Anthony Sottile
595d62bc3e
Merge pull request #6607 from asottile/empty_string_parametrize_nodeid
...
Fix node ids which contain a parametrized empty-string variable
2020-01-29 08:42:04 -08:00
Bruno Oliveira
8c41236c66
doc: getting-started.rst: mention "Test" prefix for classes ( #6583 )
...
doc: getting-started.rst: mention "Test" prefix for classes
2020-01-29 12:49:49 -03:00
Bruno Oliveira
99b90f45d0
extend the incremental marker for parametrize ( #6582 )
...
extend the incremental marker for parametrize
2020-01-29 08:37:33 -03:00
sdementen
d848a20563
Extend the incremental marker for parametrize
...
The incremental marker is adapted to handle properly test classes with parametrize defined at class level.
Fix #3125
2020-01-29 08:25:17 -03:00
Daniel Hahler
06a7fef00f
Merge pull request #6616 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-29 06:57:45 +01:00
Daniel Hahler
55e5817570
Merge master into features
2020-01-29 03:07:35 +01:00
Daniel Hahler
3f4b8d3aec
test_code: improve coverage
2020-01-29 02:54:12 +01:00
Daniel Hahler
a3f482ceba
tests: move test_getfslineno
...
It should be in `test_code` when testing `_pytest._code.getfslineno`,
not to be confused with `_pytest._code.source.getfslineno`.
Adds an extra assert (via https://github.com/pytest-dev/pytest/pull/6590 ).
2020-01-29 01:26:10 +01:00
Daniel Hahler
3ccf2a5e61
Merge pull request #6524 from blueyed/reportchars-default
...
terminal: default to `fE` with `-r` (reportchars)
2020-01-29 01:00:41 +01:00
Daniel Hahler
8e1d59a8dd
Merge pull request #6579 from blueyed/pytester-makefile-joins-abspath
...
pytester: test for _makefile joining an absolute path
2020-01-29 00:58:43 +01:00
Daniel Hahler
7eaf98af4b
Merge pull request #6589 from blueyed/ci-less-coverage
...
ci: GHA: run less jobs with coverage
2020-01-29 00:57:29 +01:00
Bruno Oliveira
d282424589
Fix unguarded == comparison in fixtures. ( #6541 )
...
Fix unguarded `==` comparison in fixtures.
2020-01-28 20:54:14 -03:00
Daniel Hahler
ddaa5d88ac
terminal: default to fE with -r (reportchars)
...
Adds handling of `N` to reset `reportchars`, which can be used to get
the old behavior (`-rN`), and also allows for an alternative to
`--disable-warnings` (https://github.com/pytest-dev/pytest/issues/5066 ),
since `w` was included by default (without `--disable-warnings`).
Fixes https://github.com/pytest-dev/pytest/issues/6454
2020-01-29 00:33:15 +01:00
Daniel Hahler
4ff90b1fcf
Merge pull request #6606 from blueyed/typing-monkeypatch-context
...
typing: MonkeyPatch.context
2020-01-29 00:12:53 +01:00
Daniel Hahler
2d29c3e7d1
Merge pull request #6604 from blueyed/tests-_compute_fixture_value-cover-abs-source_path_str
...
tests: cover absolute path handling in _compute_fixture_value
2020-01-29 00:11:58 +01:00
Anthony Sottile
abd5fc80e8
Fix node ids which contain a parametrized empty-string variable
2020-01-28 13:27:54 -08:00
Holger Kohr
80d4dd6f0b
Replace == with is for comparison of cache keys
...
Closes #6497
2020-01-28 18:05:53 -03:00
Ran Benita
e440b43258
Merge pull request #6555 from bluetech/nodes-cache-split
...
Split Session._collection_node_cache to 3 mutually exclusive parts
2020-01-28 22:49:42 +02:00
Daniel Hahler
e25d46aae6
typing: MonkeyPatch.context
2020-01-28 21:44:30 +01:00
Daniel Hahler
7c87874277
source_path: py.path.local directly
...
Via bc7282576 .
2020-01-28 19:02:41 +01:00
Daniel Hahler
1cf9e68dbc
tests: cover absolute path handling in _compute_fixture_value
2020-01-28 18:53:28 +01:00
Daniel Hahler
b2e6f66438
ci: GHA: run less jobs with coverage
...
This often might be causing for jobs to take longer than 10 minutes,
which is a timeout Codecov uses to wait for successful CI.
Also it is good in general to have CI finish faster, of course.
2020-01-28 17:38:53 +01:00
Daniel Hahler
b01e379428
tests: harden test_teardown_many_verbose
2020-01-28 16:37:18 +01:00
Daniel Hahler
1586653102
Merge pull request #6594 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-28 14:44:22 +01:00
Daniel Hahler
18ac7e0b79
Merge pull request #6593 from blueyed/typing-ignore-more-itertools
...
typing: ignore false positive with more-itertools
2020-01-28 14:24:24 +01:00
Ronny Pfannschmidt
c854daa234
Merge pull request #6595 from blueyed/fix-typing-code-path
...
typing: fix Code.path
2020-01-28 11:23:49 +01:00
Daniel Hahler
12c5a6af64
typing: fix Code.path
...
Fixes:
> src/_pytest/_code/code.py:83: error: Incompatible types in assignment
> (expression has type "str", variable has type "local") [assignment]
2020-01-28 01:49:45 +01:00
Daniel Hahler
30922ee694
Merge master into features
2020-01-28 01:40:14 +01:00
Daniel Hahler
35ba053f00
typing: ignore false positive with more-itertools
...
Fixed in https://github.com/erikrose/more-itertools/pull/374 .
2020-01-28 01:23:44 +01:00
Daniel Hahler
d0cb16010b
Merge pull request #6580 from blueyed/typing-testdir-init
...
typing: Testdir.__init__
2020-01-28 00:58:11 +01:00
Daniel Hahler
ad0f4f0ac0
tests: cover collect_by_name with non-existing
2020-01-28 00:41:46 +01:00
Daniel Hahler
9c716e4d74
typing: Testdir.plugins
2020-01-28 00:41:46 +01:00
Daniel Hahler
94ac0f7e6b
typing: self._mod_collections, collect_by_name
2020-01-28 00:41:46 +01:00
Daniel Hahler
440881d63a
typing: Testdir.__init__
2020-01-28 00:41:46 +01:00
Daniel Hahler
aa318e9adf
Merge pull request #6587 from blueyed/mypy-show_error_codes
...
mypy: show_error_codes=True
2020-01-27 22:58:48 +01:00
Daniel Hahler
20b66e60c0
Merge pull request #6566 from blueyed/rm-encodedfile-writelines
...
Fix `EncodedFile.writelines`
2020-01-27 22:58:31 +01:00
Daniel Hahler
d017b69f38
mypy: show_error_codes=True
2020-01-27 22:18:35 +01:00
Ran Benita
ae5d16be10
typing: FSHookProxy/gethookproxy
...
Taken out of https://github.com/pytest-dev/pytest/pull/6556 .
2020-01-27 20:57:44 +01:00
ParetoLife
cbad319736
Update getting-started.rst
...
From the description it seemed to me as if just prefixing your methods with ``test_`` was enough, but you also need to prefix your class with ``Test``. Of course, in the reference material this is clearly stated, but I think it makes sense to mention it here as well, since you also mention the part about the methods' prefix.
2020-01-27 10:50:05 +01:00
Zac Hatfield-Dodds
a9eab07739
Merge pull request #6576 from blueyed/test_via_exec
...
tests: add test_via_exec
2020-01-27 17:57:28 +11:00
Daniel Hahler
c2980eb80f
pytester: test for _makefile joining an absolute path
...
Ref: https://github.com/pytest-dev/pytest/pull/6578#discussion_r371035867
2020-01-27 01:00:55 +01:00
Daniel Hahler
bf5c76359c
fixup! typing: tests: tmpfile
2020-01-26 23:14:32 +01:00
Daniel Hahler
40758e86ca
tests: add test_via_exec
...
Via https://github.com/pytest-dev/pytest/issues/6574 .
2020-01-26 23:04:18 +01:00
Daniel Hahler
d678d380cb
typing: tests: tmpfile
2020-01-25 19:21:19 +01:00
Daniel Hahler
3f8f395210
typing: EncodedFile
2020-01-25 19:20:48 +01:00
Daniel Hahler
7c52a37d46
Merge pull request #6572 from blueyed/fix-test_collection_collect_only_live_logging
...
tests: test_collection_collect_only_live_logging: allow for 1+s
2020-01-25 19:05:37 +01:00
Daniel Hahler
198b1dcffd
Merge pull request #6573 from blueyed/codecov-curl-retry-connrefused
...
ci: codecov: use `--retry-connrefused` with curl
2020-01-25 19:05:13 +01:00
Daniel Hahler
e2934c3f8c
Move common code between Session and Package to FSCollector
2020-01-25 19:04:01 +01:00
Daniel Hahler
6b7e1a246c
Sync {Session,Package}.gethookproxy
...
Only copy'n'paste error from c416b1d935 .
2020-01-25 19:04:01 +01:00
Daniel Hahler
817c094ce6
Clean up Package.__init__
...
Makes `parent` a required arg, which would have failed before via
`parent.session` anyway.
Keeps calling/passing unused args for B/C.
2020-01-25 19:04:01 +01:00
Daniel Hahler
df1f43ee28
ci: codecov: use --retry-connrefused with curl
...
While it might not help with the following, it certainly might happen as
well.
```
+ curl -S -L --connect-timeout 5 --retry 6 -s https://codecov.io/bash -o codecov-upload.sh
curl: (16) Error in the HTTP2 framing layer
```
2020-01-25 18:22:03 +01:00
Daniel Hahler
778d4364fa
tests: test_collection_collect_only_live_logging: allow for 1s
...
Might be slow on CI.
Ref: https://github.com/pytest-dev/pytest/pull/6570/checks?check_run_id=408752475#step:6:109
2020-01-25 18:14:49 +01:00
Daniel Hahler
039d582b52
Fix EncodedFile.writelines
...
This is implemented by the underlying stream already, which additionally
checks if the stream is not closed, and calls `write` per line.
Ref/via: https://github.com/pytest-dev/pytest/pull/6558#issuecomment-578210807
2020-01-25 18:06:50 +01:00
Daniel Hahler
9b8039cf09
Sync {Session,Package}._recurse
2020-01-25 16:44:20 +01:00
Daniel Hahler
b687f20d25
Merge pull request #6375 from hugovk/rm-deprecated-license_file-metadata
...
Remove deprecated license_file from setup.cfg
2020-01-25 16:20:48 +01:00
Daniel Hahler
510be29db8
Merge pull request #6534 from blueyed/test_plugin_loading_order
...
tests: add test_plugin_loading_order
2020-01-25 16:20:06 +01:00
Hugo
fe343a79f8
Remove deprecated license_file from setup.cfg
...
Starting with wheel 0.32.0 (2018-09-29), the `license_file` option is deprecated.
* https://wheel.readthedocs.io/en/stable/news.html
The wheel will continue to include `LICENSE`, it is now included automatically:
* https://wheel.readthedocs.io/en/stable/user_guide.html#including-license-files-in-the-generated-wheel-file
And `LICENSE` is still included in sdists thanks to setuptools-scm:
* https://github.com/pytest-dev/pytest/pull/6348#issuecomment-567836331
2020-01-25 17:08:00 +02:00
Daniel Hahler
1e3bc1814d
typing for test_summary_stats
2020-01-25 15:09:02 +01:00
Daniel Hahler
57512aa997
_get_main_color: no yellow ("boring") for non-last item
...
- refactor _get_main_color/build_summary_stats_line
- factor out property _is_last_item; test_summary_stats: tr._is_last_item
- _write_progress_information_filling_space: remove color arg
- use setter for stats, handling main color
- _get_main_color: skip cache for last item
- Handle random order in test for py35.
2020-01-25 15:09:02 +01:00
Daniel Hahler
2e8f7ef31b
Merge pull request #6569 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-25 14:40:24 +01:00
Daniel Hahler
c51173d426
Merge master into features
2020-01-25 14:18:02 +01:00
Daniel Hahler
2da331ea9c
Merge pull request #6568 from bluetech/redundant-commas
...
Remove a couple of redundant commas
2020-01-25 14:17:01 +01:00
Ran Benita
94d8c071b6
Remove a couple of redundant commas
...
Mypy complains about this once the function is typed:
src/_pytest/main.py:85: error: "_addoption" of "OptionGroup" does not return a value
src/_pytest/main.py:133: error: "addoption" of "OptionGroup" does not return a value
2020-01-25 14:12:47 +01:00
Daniel Hahler
0d55fb3797
Merge pull request #6567 from blueyed/codecov-config
...
ci: codecov: only use "comment: off"
2020-01-25 14:00:32 +01:00
Ran Benita
f3967333a1
Split Session._collection_node_cache to 3 mutually exclusive parts
...
Previously, this cache was used with 3 different and mutually exclusive
key-type -> value-type combinations. Mypy can't properly type this. It's
also quite confusing.
Split to 3 different dicts instead.
2020-01-25 14:31:12 +02:00
Ran Benita
a76bc64c54
Merge pull request #6547 from bluetech/session-initialparts
...
Refactor Session._initialparts to have a more explicit type
2020-01-25 14:30:26 +02:00
Ran Benita
dd5c2b22bd
Refactor Session._initialparts to have a more explicit type
...
Previously, _initialparts was a list whose first item was a
`py.path.local` and the rest were `str`s. This is not something that
mypy is capable of modeling. The type `List[Union[str, py.path.local]]`
is too broad and would require asserts for every access.
Instead, make each item a `Tuple[py.path.local, List[str]]`. This way
the structure is clear and the types are accurate.
To make sure any users who might have been accessing this (private)
field will not break silently, change the name to _initial_parts.
2020-01-25 13:57:49 +02:00
Daniel Hahler
a29d6194f5
ci: codecov: only use "comment: off"
...
The changes status is quite buggy, remove it for now.
This just uses "comment: off" then.
2020-01-25 11:14:00 +01:00
Daniel Hahler
6f2943c7b3
Merge pull request #6558 from gavento/patch-1
...
Make EncodedFile.write() return the return value from inner write()
2020-01-25 11:04:12 +01:00
Tomáš Gavenčiak
5e15c86cc6
Fix EncodedFile.write return value
...
Make EncodedFile, used for captured output streams, method .write return
the number of characters written. Add test for captured stderr write.
Fixes #6557 .
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
2020-01-25 10:36:23 +01:00
Daniel Hahler
498884a2a0
Merge pull request #6563 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-25 00:31:58 +01:00
Daniel Hahler
09bdbffbde
Merge master into features
...
Conflicts:
src/_pytest/_code/code.py
src/_pytest/main.py
2020-01-24 23:44:50 +01:00
Daniel Hahler
09ab5fd7e9
Merge pull request #6529 from blueyed/fix-test_repr_traceback_with_invalid_cwd
...
tests: fix test_repr_traceback_with_invalid_cwd
2020-01-24 23:41:31 +01:00
Daniel Hahler
040a61e22c
Merge pull request #6550 from blueyed/doc-cleandir-cd-back
...
doc/en/fixture.rst: chdir back to previous directory
2020-01-24 23:41:08 +01:00
Daniel Hahler
2c32dad343
Merge pull request #6554 from blueyed/test_fixture_arg_ordering
...
tests: add test_fixture_arg_ordering
2020-01-24 23:40:58 +01:00
Daniel Hahler
8a8f9bd751
Merge pull request #6562 from blueyed/ci-rm-azure
...
ci: remove Azure config/scripts
2020-01-24 23:39:57 +01:00
Daniel Hahler
192d3adda3
tests: add test_fixture_arg_ordering
...
This is a regression test for part of
https://github.com/pytest-dev/pytest/issues/6492 , testing one of the
fixes in https://github.com/pytest-dev/pytest/pull/6551 .
2020-01-24 17:48:08 -03:00
Daniel Hahler
5865520c51
Merge pull request #6561 from blueyed/ci-gha-name-flag
...
ci: GHA: codecov: set CODECOV_NAME, OS in flags
2020-01-24 20:04:12 +01:00
Daniel Hahler
e2fa78c99f
ci: remove Azure config/scripts
...
This is covered by GitHub Actions now.
2020-01-24 19:49:57 +01:00
Daniel Hahler
fe895a40b6
Merge pull request #6559 from blueyed/ci-travis-remove-linting
...
ci: Travis: removing linting,docs,doctesting
2020-01-24 19:45:42 +01:00
Daniel Hahler
934f38995a
ci: GHA: codecov: set CODECOV_NAME, OS in flags
2020-01-24 19:42:51 +01:00
Daniel Hahler
5dcd24fecb
Merge pull request #6553 from blueyed/ci-gha-use-report-coverage.sh
...
ci: GHA: use scripts/report-coverage.sh
2020-01-24 19:20:23 +01:00
Daniel Hahler
e5a362d0f5
ci: GHA: use scripts/report-coverage.sh
2020-01-24 18:00:38 +01:00
Daniel Hahler
f8654e6656
ci: Travis: removing linting,docs,doctesting
...
This is handled by GHA already, and not affected/required for coverage.
2020-01-24 17:26:10 +01:00
Daniel Hahler
0d4f479aa8
Merge pull request #6552 from blueyed/ci-linting
...
ci: GHA: separate jobs for linting, docs, doctesting
2020-01-24 13:36:59 +01:00
Daniel Hahler
79d00ab35a
Merge pull request #6549 from blueyed/fix-release-minor
...
doc: minor fixes for the release process
2020-01-24 13:36:48 +01:00
Daniel Hahler
79ae86cc3f
tests: fix test_repr_traceback_with_invalid_cwd
...
This never worked as expected (since a912d3745 ), and only py38-windows
triggered the mocked `os.getcwd` unintentionally, via `inspect`.
2020-01-24 12:52:12 +01:00
Daniel Hahler
c051a9e7b9
ci: GHA: separate jobs for linting, docs, doctesting
...
It helps to know upfront that e.g. linting failed, and makes finding the
error easier.
2020-01-24 12:29:35 +01:00
Daniel Hahler
cdd6f86e43
bug-fix fixes
2020-01-23 20:34:21 +01:00
Daniel Hahler
83451b548f
doc/en/fixture.rst: chdir back to previous directory
...
This is considered to be best practice, and should be used in docs
therefore.
2020-01-23 19:09:18 +01:00
Daniel Hahler
38538c6c6d
Merge pull request #6548 from blueyed/ci-codecov-flag-gha
...
ci: codecov: add flag for GHA
2020-01-23 18:39:50 +01:00
Daniel Hahler
55ebd9f803
doc: minor fixes for the release process
2020-01-23 18:31:48 +01:00
Daniel Hahler
8ca8d25202
Merge pull request #6545 from blueyed/terminalwriter
...
config: typing for create_terminal_writer, re-export TerminalWriter
2020-01-23 15:42:18 +01:00
Daniel Hahler
a8d67f5e7b
ci: codecov: add flags for GHA/Travis
...
This would help with debugging missing coverage when removing Travis
jobs.
2020-01-23 15:41:41 +01:00
Daniel Hahler
03bc8aba4e
config: typing for create_terminal_writer, re-export TerminalWriter
...
This also imports `TerminalWriter` explicitly via `_pytest._io`,
allowing for easier extending / replacing it.
2020-01-23 14:09:37 +01:00
Daniel Hahler
6b13379f37
Merge pull request #6521 from blueyed/harden-nose-raises
...
tests: improve test for `nose.raises`
2020-01-23 13:42:14 +01:00
Ran Benita
9dcdea5de7
Rewrite Item.location to be clearer with regard to types
2020-01-23 13:25:15 +01:00
Daniel Hahler
863bab5326
Merge pull request #6544 from blueyed/doc-rm-costlysetup
...
doc: remove costlysetup example
2020-01-23 13:21:32 +01:00
Daniel Hahler
8521503246
Merge pull request #6527 from blueyed/typing-getfslineno
...
typing: fix/adjust _code.source.getfslineno
2020-01-23 13:17:47 +01:00
Ran Benita
0b6258ab5b
PyCollector.collect: use explicit cast to str
...
Ref: https://github.com/pytest-dev/pytest/pull/6521#pullrequestreview-347234792
2020-01-23 12:54:52 +01:00
Daniel Hahler
b63cb18776
doc: remove costlysetup example
...
It is not included with docs, and
`example/costlysetup/sub_a/test_quick.py::test_quick` sleeps for 5s,
slowing down `doctesting` unnecessarily.
2020-01-23 12:23:30 +01:00
Daniel Hahler
00097df5cd
tests: add test_plugin_loading_order
...
Ref: https://github.com/pytest-dev/pytest/pull/6443
2020-01-23 11:57:12 +01:00
Daniel Hahler
10e243d206
Merge pull request #6543 from blueyed/rm-rw
...
tests: remove unnecessary `-rw` option
2020-01-23 11:56:07 +01:00
Daniel Hahler
e7444bbd5e
tests: remove unnecessary -rw option
...
Warnings are enabled by default, which is tested by `test_getreportopt`.
2020-01-23 11:37:19 +01:00
Daniel Hahler
eb7a57f965
Merge pull request #6542 from blueyed/fix-test_record_property
...
tests: fix/harden test_record_property
2020-01-23 11:14:37 +01:00
Daniel Hahler
252eae5bc8
tests: fix/harden test_record_property
...
`-rv` is not a recognized reportchar. Probably `-v` was meant, but is
not necessary to check that there are no warnings.
Followup to 2018cf12b (https://github.com/pytest-dev/pytest/pull/3360 ).
2020-01-23 10:49:59 +01:00
Daniel Hahler
9c7b3c57d7
typing: PyobjMixin.reportinfo, getfslineno
2020-01-23 10:45:31 +01:00
Daniel Hahler
1350c601dc
Node.location: handle str with _node_location_to_relpath
2020-01-23 10:45:31 +01:00
Daniel Hahler
ef112fd7dd
Revert "Revert "Fix type errors after adding types to the py dependency""
...
Without changes to test_itemreport_reportinfo.
This reverts commit fb99b5c66e .
Conflicts:
testing/test_nose.py
2020-01-23 10:45:27 +01:00
Daniel Hahler
8fa57c8384
tests: improve test for nose.raises
...
This should probably get transferred into a `pytest.fail` really, but
tests/documents the current behavior.
2020-01-23 10:45:26 +01:00
Daniel Hahler
ad02f6f879
Merge pull request #6525 from blueyed/typing-session
...
typing: Session.__init__
2020-01-23 00:16:08 +01:00
Daniel Hahler
bd6ba3f3e1
typing: Session.__init__
...
Pulled out of https://github.com/pytest-dev/pytest/pull/6491 .
2020-01-23 00:07:59 +01:00
Bruno Oliveira
e17f5fad14
Clear node collection cache after collection is done ( #6491 )
...
Clear node collection cache after collection is done
2020-01-22 16:08:59 -03:00
Daniel Hahler
72d06e6dec
Merge pull request #6539 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-22 19:32:49 +01:00
Daniel Hahler
aca1723d45
Merge master into features
2020-01-22 19:18:13 +01:00
Daniel Hahler
85df6bbe26
Merge pull request #6536 from blueyed/fix-test_cwd_snapshot
...
tests: fix test_cwd_snapshot
2020-01-22 16:46:04 +01:00
Daniel Hahler
ba49581510
Merge pull request #6538 from blueyed/test-coverage
...
tests: use NotImplementedError with uncovered code
2020-01-22 16:45:20 +01:00
Bruno Oliveira
0bf9628e62
Merge master into features ( #6537 )
...
Merge master into features
2020-01-22 12:43:19 -03:00
Daniel Hahler
d878d9d4d5
tests: use NotImplementedError with uncovered code
2020-01-22 15:38:12 +01:00
Bruno Oliveira
93b74d28d2
Merge remote-tracking branch 'upstream/master' into mm
...
Conflicts:
* src/_pytest/_code/code.py
* src/_pytest/main.py
* testing/python/metafunc.py
* testing/test_parseopt.py
* testing/test_pytester.py
2020-01-22 11:03:45 -03:00
Daniel Hahler
8c4dfca0c1
Merge pull request #6535 from blueyed/tox-doctesting
...
tox: move doctesting into main testenv
2020-01-22 14:38:34 +01:00
Daniel Hahler
b8787b8732
tests: fix test_cwd_snapshot
...
Without restoring the cwd, successive tests might fail to parse the
config (via `_pytest.config._prepareconfig()`, for when `--lsof` is
used).
And it is good practice to restore the cwd in any case anyway.
2020-01-22 14:34:11 +01:00
Daniel Hahler
ef294fc727
tox: move doctesting into main testenv
...
This allows for `tox -e doctesting-coverage`, which would otherwise not
use the "doctesting" testenv.
2020-01-22 13:32:30 +01:00
Daniel Hahler
0f78ef8e02
Merge pull request #6532 from blueyed/harden-test
...
--cache-clear: add test for keeping non-supporting files
2020-01-22 12:20:24 +01:00
Daniel Hahler
1cd4bafda7
Merge pull request #6531 from blueyed/ci-gha-success
...
ci: GHA: remove unnecessary check for `success()`
2020-01-21 22:38:50 +01:00
Daniel Hahler
8f5fd537d8
--cache-clear: add test for keeping non-supporting files
...
Ref: https://github.com/pytest-dev/pytest/pull/6296
2020-01-21 22:16:56 +01:00
Daniel Hahler
9869a3d9e1
ci: GHA: remove unnecessary check for success()
...
Following jobs get aborted on failure.
Ref: https://github.com/pytest-dev/pytest/pull/6530
2020-01-21 21:44:49 +01:00
Daniel Hahler
2f00b041e4
Merge pull request #6526 from blueyed/typing-code-path
...
doc: fix Code.path: might return str
2020-01-21 21:06:26 +01:00
Daniel Hahler
62db3f7abc
typing: fix/adjust _code.source.getfslineno
2020-01-21 19:48:17 +01:00
Daniel Hahler
7ee27fedee
doc: fix Code.path: might return str
2020-01-21 19:46:43 +01:00
Bruno Oliveira
7b1e3d1c9a
Clear collection caches after collection is done
...
Also rename the involved variables to convey its intent better and
add type hints
2020-01-21 07:29:13 -03:00
Ran Benita
a52f791461
Merge pull request #6518 from bluetech/fix-py-typed-fixes-regression
...
Fix internal assert failure regression in 5.3.4
2020-01-21 00:01:07 +02:00
Ran Benita
fb99b5c66e
Revert "Fix type errors after adding types to the py dependency"
...
This reverts commit 930a158a6a .
Regression test from Bruno Oliveira.
2020-01-20 23:44:56 +02:00
Bruno Oliveira
ddfa41b5a7
Preparing release version 5.3.4 ( #6516 )
...
Preparing release version 5.3.4
2020-01-20 14:26:52 -03:00
Bruno Oliveira
6a26ac4125
Preparing release version 5.3.4
2020-01-20 13:53:31 -03:00
Bruno Oliveira
cdaa9c06e1
Revert "fixtures register finalizers with all fixtures before t… ( #6496 )
...
Revert "fixtures register finalizers with all fixtures before them in the stack"
2020-01-20 13:49:00 -03:00
Bruno Oliveira
0dc82e8501
Add CHANGELOG entry for #6496
2020-01-20 13:32:27 -03:00
Daniel Hahler
f9bed82c4d
Merge pull request #6515 from blueyed/tox-mypy-diff
...
tox: add mypy-diff testenv
2020-01-20 14:29:15 +01:00
Daniel Hahler
2406076611
tox: add mypy-diff testenv
2020-01-20 13:42:07 +01:00
Ran Benita
44eb1f580c
Merge pull request #6311 from bluetech/type-annotations-10
...
Some type annotation & check_untyped_defs fixes
2020-01-19 20:17:32 +02:00
Ran Benita
3392be37e1
Fix check_untyped_defs in test_runner
2020-01-19 20:01:07 +02:00
Ran Benita
3d2680b31b
Fix type of pytest.warns, and fix check_untyped_defs in test_recwarn
...
The expected_warning is optional.
2020-01-19 19:39:14 +02:00
Ran Benita
0b603156b9
Fix check_untyped_defs errors in test_pytester
2020-01-19 19:39:14 +02:00
Ran Benita
0c247be769
Add a few missing type annotations in _pytest._code
...
These are more "dirty" than the previous batch (that's why they were
left out). The trouble is that `compile` can return either a code object
or an AST depending on a flag, so we need to add an overload to make the
common case Union free. But it's still worthwhile.
2020-01-19 19:39:14 +02:00
Ran Benita
3e6f0f34ff
Cleanup unhelpful alias _AST_FLAG
...
Also replace one direct call to `compile` with this flag with the
equivalent wrapper `ast.parse`. This function can have a more precise
type.
2020-01-19 19:19:34 +02:00
Ran Benita
4fb9cc3bf0
Merge pull request #6511 from bluetech/py-typed-fixes
...
Fix type errors after adding types to the `py` dependency
2020-01-19 15:23:14 +02:00
Ran Benita
930a158a6a
Fix type errors after adding types to the py dependency
2020-01-19 14:48:24 +02:00
Daniel Hahler
d347a30656
Merge pull request #6510 from blueyed/typing-fixes
...
typing: fix some "incompatible types in assignment" with py
2020-01-19 13:01:35 +01:00
Daniel Hahler
32b62f770f
Merge pull request #6509 from blueyed/typing-minor
...
typing: minor improvements
2020-01-19 11:33:41 +01:00
Daniel Hahler
aaae43e0ba
typing: fix some "incompatible types in assignment" with py
2020-01-19 11:32:45 +01:00
Daniel Hahler
1a75a3c08e
Merge pull request #6482 from blueyed/fix-_TracebackStyle
...
typing: fix _TracebackStyle
2020-01-19 11:24:05 +01:00
Daniel Hahler
09e9a01df3
typing: fix _TracebackStyle: add "line"
2020-01-19 11:22:47 +01:00
Daniel Hahler
4b974b051d
Merge pull request #6507 from blueyed/fix-test_excinfo
...
tests: test_excinfo: remove unused pytest_version_info
2020-01-19 11:21:46 +01:00
Daniel Hahler
5c445b05e7
typing: py.io.TerminalWriter for tw arguments
2020-01-19 11:21:16 +01:00
Daniel Hahler
4e0dbe92dd
Node.name: str
2020-01-19 11:21:16 +01:00
Daniel Hahler
956389fa8c
Session._fixturemanager
2020-01-19 11:21:16 +01:00
Daniel Hahler
61f985f3c7
tests: test_excinfo: remove unused pytest_version_info
...
This might fail unnecessarily with a (wrong) determined version of e.g.
"4.7.dev307+ge98176cf5" (no patch version).
Ref: https://github.com/pytest-dev/pytest/pull/6506
2020-01-19 08:11:13 +01:00
Daniel Hahler
2f0d0fb349
Merge pull request #6503 from blueyed/ci-travis-features
...
[features] ci: Travis: drop deploy and non-coverage jobs
2020-01-18 22:22:21 +01:00
Daniel Hahler
e98176cf50
Merge pull request #6501 from blueyed/test_color_yes
...
tests: terminal: harden test_color_yes
2020-01-18 16:11:27 +01:00
Daniel Hahler
38fc208205
tests: terminal: harden/improve test_color_yes
2020-01-18 15:49:59 +01:00
Daniel Hahler
89f92a459a
ci: Travis: remove non-coverage jobs
...
This helps with regard to slowness until
https://github.com/pytest-dev/pytest/pull/6470 is resolved.
(cherry picked from commit a7292a0544 )
2020-01-18 15:12:44 +01:00
Bruno Oliveira
40d0031cce
Drop deploy from Travis in favor of GitHub actions
...
GitHub actions already should deploy.
This is a stop gap while we figure out why coverage dropped
when removing Travis builds in #6470
(cherry picked from commit d1d7e5d41b )
2020-01-18 15:12:44 +01:00
Daniel Hahler
d0811c1f3d
Merge pull request #6502 from blueyed/fix-ci-features
...
[features] fix CI
2020-01-18 15:12:13 +01:00
Daniel Hahler
ac41f36a02
Merge pull request #6500 from blueyed/ci-travis
...
ci: Travis: remove non-coverage jobs
2020-01-18 14:53:03 +01:00
Daniel Hahler
7a626921c0
[features] tests: fix test_crash_on_closing_tmpfile_py27
...
(cherry picked from commit 4f0eec2022 )
2020-01-18 14:52:18 +01:00
Daniel Hahler
59bc6efbf2
Merge pull request #6498 from blueyed/test_terminal_colors
...
test_terminal: improve color handling
2020-01-18 13:36:42 +01:00
Daniel Hahler
a7292a0544
ci: Travis: remove non-coverage jobs
...
This helps with regard to slowness until
https://github.com/pytest-dev/pytest/pull/6470 is resolved.
2020-01-18 13:35:44 +01:00
Daniel Hahler
1971033051
Merge pull request #6499 from blueyed/fix-ci
...
tests: fix test_crash_on_closing_tmpfile_py27
2020-01-18 13:35:11 +01:00
Daniel Hahler
d4d04e7f25
test_terminal: improve color handling
2020-01-18 13:16:27 +01:00
Daniel Hahler
4f0eec2022
tests: fix test_crash_on_closing_tmpfile_py27
2020-01-18 13:15:40 +01:00
Bruno Oliveira
cc7f294cfe
Revert "fixtures register finalizers with all fixtures before them in the stack"
...
This reverts commit 99180939fe .
2020-01-17 12:55:57 -03:00
Bruno Oliveira
e1298faef9
Merge pull request #6481 from nicoddemus/release-5.3.3
...
Release 5.3.3
2020-01-17 08:07:57 -03:00
Daniel Hahler
e211d6fe2a
Merge pull request #6488 from blueyed/typing-fix-reportinfo
...
typing: Node.reportinfo: might return py.path.local via fspath
2020-01-17 11:52:01 +01:00
Bruno Oliveira
544b4a14d5
Fix Hugo van Kemenade name in release announcement
...
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com >
2020-01-17 07:18:57 -03:00
Daniel Hahler
4a42deee7e
typing: Node.reportinfo: might return py.path.local via fspath
2020-01-17 11:05:46 +01:00
Daniel Hahler
2cce026766
Merge pull request #6476 from blueyed/fix-test_config
...
Fix test_config: wrong assertions, lint, unused fixtures
2020-01-17 10:31:41 +01:00
Daniel Hahler
e16cb2fdd0
Merge pull request #6444 from blueyed/fix-test_xfail_handling
...
tests: test_xfail_handling: use sys.dont_write_bytecode
2020-01-17 10:28:23 +01:00
Daniel Hahler
dcb94d8f31
Merge pull request #6485 from blueyed/lint-fix-f999
...
scripts/release.py: lint: fix F999
2020-01-17 09:13:04 +01:00
Daniel Hahler
19f66cb824
Merge pull request #6434 from blueyed/pytester-typing-spawn
...
pytester: typing for `spawn`/`spawn_pytest`
2020-01-17 06:57:40 +01:00
Daniel Hahler
36944157f8
pytester: typing for spawn/spawn_pytest
2020-01-17 05:58:25 +01:00
Daniel Hahler
2cfee583db
scripts/release.py: lint: fix F999
2020-01-17 05:54:17 +01:00
Bruno Oliveira
56dc301c50
Preparing release version 5.3.3
2020-01-16 18:55:41 -05:00
Bruno Oliveira
aa05334984
Remove broken link for user @jgsonesen
2020-01-16 18:51:33 -05:00
Bruno Oliveira
4806878a7f
Drop deploy from Travis in favor of GitHub actions ( #6480 )
...
Drop deploy from Travis in favor of GitHub actions
2020-01-16 18:34:44 -03:00
Bruno Oliveira
d1d7e5d41b
Drop deploy from Travis in favor of GitHub actions
...
GitHub actions already should deploy.
This is a stop gap while we figure out why coverage dropped
when removing Travis builds in #6470
2020-01-16 18:12:47 -03:00
Daniel Hahler
1667cf3350
Merge pull request #6384 from pv/showlocals-short
...
Make --showlocals work together with --tb=short
Fixes https://github.com/pytest-dev/pytest/issues/494
Ref: https://github.com/pytest-dev/pytest/issues/1715
2020-01-16 22:04:14 +01:00
Daniel Hahler
5b0e255e85
Merge pull request #6465 from blueyed/doc-rootdir
...
doc: revisit section about rootdir
2020-01-16 21:55:12 +01:00
Daniel Hahler
f0fdafeddc
Merge pull request #6477 from blueyed/tests-cleanup-unused-fixtures
...
tests: cleanup unused fixtures
2020-01-16 21:53:56 +01:00
Daniel Hahler
a4f5b8a4d6
Merge pull request #6478 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-16 21:14:30 +01:00
Daniel Hahler
5049e25a6a
tests: cleanup unused fixtures
2020-01-16 21:12:48 +01:00
Daniel Hahler
d36c712bb0
Merge pull request #6479 from blueyed/tests-fix-master
...
[master] Use a dummy RemoteTraceback for test in Python 3.5 Windows
2020-01-16 21:12:04 +01:00
Bruno Oliveira
7a0d1b387d
Use a dummy RemoteTraceback for test in Python 3.5 Windows
...
Somehow in Python 3.5 on Windows this test fails with:
File "c:\hostedtoolcache\windows\python\3.5.4\x64\Lib\multiprocessing\connection.py", line 302, in _recv_bytes
overlapped=True)
OSError: [WinError 6] The handle is invalid
This only happens in this platform and Python version, decided to use
a dummy traceback as originally done in #6412 .
(cherry picked from commit b9c136b809 )
2020-01-16 20:03:16 +01:00
Daniel Hahler
5f4cd536f9
Use _pytest.compat.TYPE_CHECKING
2020-01-16 19:47:23 +01:00
Daniel Hahler
83813bf515
Merge master into features
...
Conflicts:
.github/workflows/main.yml
2020-01-16 19:45:52 +01:00
Daniel Hahler
749752d440
Merge pull request #6435 from blueyed/type_checking
...
Use TYPE_CHECKING instead of False
2020-01-16 19:45:00 +01:00
Daniel Hahler
118cb3d3be
Fix test_config: wrong assertions, lint, unused fixtures
2020-01-16 19:27:46 +01:00
Bruno Oliveira
b91c721262
ci: github actions: only deploy pytest-dev/pytest ( #6474 )
...
ci: github actions: only deploy pytest-dev/pytest
2020-01-16 12:48:29 -03:00
Daniel Hahler
4630e2725e
Use TYPE_CHECKING instead of False
...
This allows for e.g. Jedi to infer types (it checks the name).
It was only used to support Python 3.5.0/3.5.1, where this is is not
available in the `typing` module.
Ref: https://github.com/davidhalter/jedi/issues/1472
Uses `TYPE_CHECKING = False` in `_pytest.outcomes` to avoid having to
work around circular import.
2020-01-16 16:11:39 +01:00
Daniel Hahler
ea31649062
ci: github actions: only deploy pytest-dev/pytest
2020-01-16 13:57:46 +01:00
Bruno Oliveira
3789bb53a7
junit_logging options (follow up to #6469 ) ( #6473 )
...
junit_logging options (follow up to #6469 )
2020-01-16 08:13:48 -03:00
Bruno Oliveira
9298f7e4a9
Improve CHANGELOG and docs for junit_logging
2020-01-16 07:47:00 -03:00
Bruno Oliveira
715f56dfbc
Fixtures now register finalizers with all fixtures before them… ( #6438 )
...
Fixtures now register finalizers with all fixtures before them in the stack
2020-01-16 07:33:55 -03:00
Jakub Mitoraj
ab6406b42e
Update junit_logging with no,log,system-out,system-err,out-err,all
2020-01-16 08:14:46 +01:00
Chris NeJame
99180939fe
fixtures register finalizers with all fixtures before them in the stack
2020-01-15 11:00:42 -05:00
Bruno Oliveira
1ec5befdb7
Merge pull request #6468 from nicoddemus/deploy-release-notes-6369
...
Add deploy step: publish package and release notes
2020-01-15 09:05:23 -03:00
Ronny Pfannschmidt
8ba0b7bc2a
fix #6341 - disallow session/config in Node.from_parent
2020-01-15 13:00:46 +01:00
Bruno Oliveira
1d3f27cef0
Add deploy step: publish package and release notes
...
Fix #6369
2020-01-15 08:11:35 -03:00
Daniel Hahler
29703a5f51
Merge pull request #6466 from blueyed/cover-safe_getattr
...
tests: cover safe_getattr
2020-01-15 11:20:42 +01:00
Daniel Hahler
6f7a95c32e
tests: cover safe_getattr
2020-01-15 11:20:00 +01:00
Daniel Hahler
bebfd28da3
doc: revisit section about rootdir
...
Ref: https://github.com/pytest-dev/pytest/issues/6376
2020-01-15 09:43:35 +01:00
Daniel Hahler
f5844449a8
Merge pull request #6442 from blueyed/rP
...
terminal: summary_passes: handle teardown sections
2020-01-15 03:02:09 +01:00
Bruno Oliveira
f2659f77be
Merge master into features ( #6458 )
...
Merge master into features
2020-01-14 20:06:51 -03:00
Bruno Oliveira
b9c136b809
Use a dummy RemoteTraceback for test in Python 3.5 Windows
...
Somehow in Python 3.5 on Windows this test fails with:
File "c:\hostedtoolcache\windows\python\3.5.4\x64\Lib\multiprocessing\connection.py", line 302, in _recv_bytes
overlapped=True)
OSError: [WinError 6] The handle is invalid
This only happens in this platform and Python version, decided to use
a dummy traceback as originally done in #6412 .
2020-01-14 18:31:21 -03:00
Pauli Virtanen
fd1691a2b3
Make --showlocals work together with --tb=short
...
Enable showing local variables when asked to do so in the short
traceback mode.
Fixes #494
2020-01-14 21:30:58 +02:00
Daniel Hahler
4a265ba38b
Merge pull request #6446 from blueyed/tox-mypy
...
tox: add mypy toxenv
2020-01-14 18:26:35 +01:00
Daniel Hahler
910d5df6a8
Merge pull request #6456 from blueyed/fix-doc-_splitnode
...
minor: fix doc/example for _pytest.nodes._splitnode
2020-01-14 15:22:01 +01:00
Bruno Oliveira
21d189eb52
Enable GitHub actions for 'features'
2020-01-14 09:18:34 -03:00
Bruno Oliveira
e9d9f71374
Merge remote-tracking branch 'upstream/master' into mm
2020-01-14 09:17:52 -03:00
Bruno Oliveira
00adb4e42f
Implement code coverage in GitHub actions ( #6441 )
...
Implement code coverage in GitHub actions
2020-01-14 09:14:57 -03:00
Daniel Hahler
b2cb87fae6
Merge pull request #6440 from blueyed/py351
...
ci: Travis: Python 3.5.1 via Trusty
2020-01-14 12:41:16 +01:00
Daniel Hahler
189fe3ba1d
minor: fix doc/example for _pytest.nodes._splitnode
2020-01-14 12:40:36 +01:00
Bruno Oliveira
d291905825
Append token to codecov.yml instead of duplicating the file
2020-01-14 07:47:21 -03:00
Daniel Hahler
f0c7f21312
Remove "pragma: no cover" comments
2020-01-14 09:15:36 +01:00
Daniel Hahler
4ff7453b48
ci: Travis: Python 3.5.1 via Trusty
...
Python 3.5.0 caused flaky failures before
(https://github.com/pytest-dev/pytest/issues/5795 ).
This is pulled out of https://github.com/pytest-dev/pytest/pull/6435 ,
which adds code specific for Python < 3.5.2.
It only runs a specific test, while collecting everything to get
coverage of the version specific code around typing.
2020-01-14 09:15:36 +01:00
Daniel Hahler
0e70acab79
tox: add mypy toxenv
...
This is different from what pre-commit (in "linting") runs in that it
uses stubs from (test) dependencies.
It would make sense to run this on CI additionally (since there is no
"pre-commit --skip mypy", and a separate config is not worth it).
But currently it triggers a false positive though anyway
(https://github.com/erikrose/more-itertools/pull/374 ).
2020-01-14 08:59:48 +01:00
Daniel Hahler
8eec42f040
Merge pull request #6455 from blueyed/mypy-master
...
master: update mypy 0.740 -> 0.761
2020-01-14 08:56:51 +01:00
Daniel Hahler
3adaa3d87b
Merge pull request #6447 from blueyed/fix-determine_setup
...
typing: fix _pytest.config.findpaths.determine_setup
2020-01-14 08:56:28 +01:00
Ran Benita
090e260517
master: update mypy 0.740 -> 0.761
...
(cherry picked from commit 16ff9f591e )
(cherry picked from commit 4848bbdf9a )
2020-01-14 06:31:41 +01:00
Daniel Hahler
117072d64c
typing: fix _pytest.config.findpaths.determine_setup
2020-01-13 11:45:20 +01:00
Daniel Hahler
90740007a8
Merge pull request #6445 from blueyed/tox-pre-commit-posargs
...
tox: linting: pass posargs
2020-01-12 21:17:14 +01:00
Daniel Hahler
5e1c6ce630
tox: linting: pass posargs
2020-01-12 20:09:51 +01:00
Daniel Hahler
a136111dcc
tests: test_xfail_handling: use sys.dont_write_bytecode
2020-01-11 23:05:12 +01:00
Daniel Hahler
61d04d3084
terminal: summary_passes: handle teardown sections
...
Fixes https://github.com/pytest-dev/pytest/issues/2780 .
2020-01-11 21:58:19 +01:00
Bruno Oliveira
a3bc6df950
Implement code coverage in GitHub actions
...
This overwrites the `codecov.yml` file in the root of the repository with
`codecov-upstream.yml` file (which contains the code-cov token)´, so PRs
and branches on the repository can upload coverage.
Suggestion from here:
https://github.com/pytest-dev/pytest/pull/6421#issuecomment-571934112
Security concerns: the token might be misused, but only to upload bogus coverage
to `codecov.io`, so the team believe this is harmless. If we decide to fallback
from this decision , we just need to revoke the token.
Related to #6369
2020-01-11 12:21:20 -03:00
Daniel Hahler
2d488f7615
Merge pull request #6432 from blueyed/merge-master-into-features
...
Merge master into features
2020-01-10 14:44:30 +01:00
Daniel Hahler
1356d20e90
Merge master into features
2020-01-10 05:20:41 +01:00
Bruno Oliveira
622995a501
Fix grammar in README ( #6427 )
...
Fix grammar in README
2020-01-09 20:22:05 -03:00
Daniel Hahler
1e28cb855d
Merge pull request #6425 from blueyed/xfail-yellow
...
terminal: use "yellow" with any "xpassed" tests
2020-01-09 23:22:58 +01:00
Ryan Barner
36531599a4
Fix grammar in README
...
Corrects grammar error in "Support pytest" section.
2020-01-09 14:12:57 -08:00
Bruno Oliveira
29db2da9a7
tmpdir_factory.mktemp now fails given absolute and non-normaliz… ( #6323 )
...
tmpdir_factory.mktemp now fails given absolute and non-normalized paths.
2020-01-09 19:10:03 -03:00
Bruno Oliveira
24f8002de8
Fix wrong 'changelog' and 'reference' links in docs ( #6424 )
...
Fix wrong 'changelog' and 'reference' links in docs
2020-01-09 19:09:35 -03:00
Bruno Oliveira
5b295ec68e
Merge remote-tracking branch 'upstream/features' into gftea/features
2020-01-09 18:41:47 -03:00
Bruno Oliveira
fa645a7003
Improve docstrings for mktemp
2020-01-09 18:20:46 -03:00
Daniel Hahler
13baab746d
terminal: use "yellow" with any "xpassed" tests
...
Closes https://github.com/pytest-dev/pytest/issues/449 .
2020-01-09 22:20:41 +01:00
Daniel Hahler
9f1ade9acf
Merge pull request #6411 from blueyed/cacheprovider-copy-items
...
cacheprovider: pytest_collection_modifyitems: copy items
2020-01-09 22:07:20 +01:00
Bruno Oliveira
23475b6ab9
Fix wrong 'changelog' and 'reference' links in docs
...
Both references were referencing links from Python because of our intersphinx
mapping in `conf.py`:
intersphinx_mapping = {"python": ("https://docs.python.org/3 ", None)}
Because Python's docs explicitly define both references, Sphinx fallbacks to
them instead of generating implicit references as was expected.
Fix #6397
2020-01-09 18:06:15 -03:00
Daniel Hahler
2d2c67d7c0
cacheprovider: pytest_collection_modifyitems: copy items
2020-01-09 21:48:54 +01:00
Anthony Sottile
cff7843f3b
Merge pull request #6412 from nicoddemus/remote-tb-5971
...
Fix serialization of 'None' reprcrashes
2020-01-07 11:08:28 -05:00
Bruno Oliveira
356d865ad7
Use concurrent.futures for fidelity to the original report
...
As requested in review
2020-01-07 12:45:18 -03:00
Bruno Oliveira
f46ad8d114
Unifying black version in pre-commit config file ( #6413 )
...
Unifying black version in pre-commit config file
2020-01-07 09:07:47 -03:00
Marcelo Duarte Trevisani
8dbf6a4b2d
Unifying black version
2020-01-07 11:07:05 +00:00
Bruno Oliveira
0e00069340
Fix serialization of 'None' reprcrashes
...
Tracebacks coming from remote processes crated by the multiprocess module
will contain "RemoteTracebacks" which don't have a 'reprcrash' attribute
Fix #5971
2020-01-06 22:04:38 -03:00
Bruno Oliveira
e8c8559efa
Remove usage of parser module (deprecated in Python 3.9) ( #6407 )
...
Remove usage of parser module (deprecated in Python 3.9)
2020-01-06 13:07:56 -03:00
Bruno Oliveira
91a96ec3d6
Remove usage of parser module, deprecated in Python 3.9
...
Fix #6404
2020-01-06 08:57:07 -03:00
Bruno Oliveira
12f74a28fa
Revert "Remove unused _pytest.code.Source.isparseable function"
...
This reverts commit c627ac4e59 .
2020-01-05 14:12:40 -03:00
Bruno Oliveira
0fa35960ba
Remove unused _pytest.code.Source.isparseable function ( #6405 )
...
Remove unused _pytest.code.Source.isparseable function
2020-01-05 12:52:23 -03:00
Bruno Oliveira
c627ac4e59
Remove unused _pytest.code.Source.isparseable function
...
Besides unused, it uses the (deprecated in Python 3.9) parser module
Fix #6404
2020-01-05 12:33:12 -03:00
Anthony Sottile
26a2e1aba7
Merge pull request #6401 from nicoddemus/4.6-maintenance-docs-onward
...
Update py27/py34 deprecation docs
2020-01-04 16:24:56 -05:00
Bruno Oliveira
7c80335c6b
Merge pull request #6391 from asottile/release-4.6.9 ( #6403 )
...
Merge pull request #6391 from asottile/release-4.6.9
2020-01-04 18:13:56 -03:00
Anthony Sottile
75f964c08d
Merge pull request #6391 from asottile/release-4.6.9
...
Preparing release version 4.6.9
2020-01-04 13:01:46 -08:00
Bruno Oliveira
4fa819e535
Update py27/py34 deprecation docs
...
I've updated the text and incorporated the topics from #5275 , so this
can now be part of the official docs, and #5275 can be closed/unpinned.
Closes #5275
2020-01-04 17:52:02 -03:00
Bruno Oliveira
61061d2147
Update copyright year to 2020 ( #6400 )
...
Update copyright year to 2020
2020-01-04 09:41:53 -03:00
Bruno Oliveira
deb4287d1c
Update copyright year to 2020
...
Merge pull request #6392 from hugovk/4.6-maintenance-2020
2020-01-04 08:46:58 -03:00
Daniel Hahler
7aac48c418
Merge pull request #6382 from blueyed/fix-parseoutcomes
...
Fix `RunResult.parseoutcomes` (follow-up to #6353 )
2020-01-04 00:49:24 +01:00
Ran Benita
0375c1b728
Merge pull request #6388 from bluetech/mypy-761
...
Update mypy 0.750 -> 0.761
2020-01-01 16:07:55 +02:00
Ran Benita
4848bbdf9a
Update mypy 0.750 -> 0.761
...
This fixes some type: ignores due to typeshed update.
Newer mypy seem to ignore unannotated functions better, so add a few
minor annotations so that existing correct type:ignores make sense.
2020-01-01 15:22:16 +02:00
Daniel Hahler
8656c1a61d
Merge pull request #6381 from blueyed/fix-revert-formatting
...
Revert black formatting of essential_plugins
2020-01-01 14:16:35 +01:00
Daniel Hahler
3b60e36dbb
Merge pull request #6380 from blueyed/doc
...
minor: split doc with _early_rewrite_bailout
2020-01-01 14:16:22 +01:00
Anthony Sottile
162d737f68
Merge pull request #6385 from betchern0t/master
...
Added how to reserve an issue to yourself when contributing
2019-12-31 11:53:50 -05:00
PaulC
d884164160
removed trailing whitespace to fix linting issue
2019-12-31 12:49:37 +11:00
PaulC
9811ebdc57
Added how to reserve an issue to yourself when contributing
2019-12-31 10:32:31 +11:00
Daniel Hahler
1c0242dec1
Fix RunResult.parseoutcomes (follow-up to #6353 )
2019-12-30 17:08:52 +01:00
Daniel Hahler
a5224f7490
Revert black formatting of essential_plugins
...
Done in a02310a140 (likely automatic), but loses information of the
comment obviously.
2019-12-30 15:28:37 +01:00
Daniel Hahler
a5863ca760
minor: split doc with _early_rewrite_bailout
2019-12-30 09:41:36 +01:00
Bruno Oliveira
8077168387
pytester: quick fix error introduced in #5990 ( #6353 )
...
pytester: quick fix error introduced in #5990
2019-12-27 13:28:11 -03:00
Bruno Oliveira
afa899d5e1
Azure Pipelines: Test on Python 3.8 ( #6159 )
...
Azure Pipelines: Test on Python 3.8
2019-12-27 13:27:17 -03:00
Hugo
8de9b1be56
Test on Python 3.8
2019-12-27 13:10:43 -03:00
Bruno Oliveira
b532d15fe7
Improve warnings docs ( #6366 )
...
Improve warnings docs
2019-12-26 19:52:15 -03:00
Adam Johnson
73702ca88b
Improve warnings docs
...
* Rearrange section about context manager to be in order
* Link to `pytest.warns` and `recwarn` since a reader going top to bottom won't have seen about those yet.
* Used only context manager form in the example; the call form is somewhat obsolete
and is mentioned in the reference docs already.
* Reuse the 'myfunction' from first example on the second one
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com >
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com >
2019-12-26 19:16:19 -03:00
Anthony Sottile
d7b0389d1a
Merge pull request #6347 from noviluni/delete_deprecated_function
...
delete inspect.getargspect() as is deprecated since Python 3.0
2019-12-26 13:45:46 -05:00
Bruno Oliveira
06206bcf37
Merge pull request #6355 from nicoddemus/add-gh-actions
...
Add GitHub actions for CI
2019-12-26 13:32:17 -03:00
Bruno Oliveira
466bbbf8e8
invocation in last section 'pythonpath.rst' title swapped ( #6357 )
...
invocation in last section 'pythonpath.rst' title swapped
2019-12-26 08:55:55 -03:00
Bruno Oliveira
a9608d54e0
Switch the order of the commands back and update the text
...
As suggested during review
2019-12-26 08:19:11 -03:00
Bruno Oliveira
9924432a2e
Improve docs so regen doesn't leak temp directories ( #6364 )
...
Improve docs so regen doesn't leak temp directories
2019-12-21 13:23:08 -03:00
Bruno Oliveira
c7ac3379e7
Update release notes script after CHANGELOG changed location ( #6362 )
...
Update release notes script after CHANGELOG changed location
2019-12-21 13:22:42 -03:00
Anthony Sottile
6cd61390c2
Improve docs so regen doesn't leak temp directories
2019-12-20 13:18:49 -08:00
Bruno Oliveira
994909270f
Update release notes script after CHANGELOG changed location
2019-12-20 08:54:44 -03:00
Bruno Oliveira
e1df9dbf0d
Merge pull request #6360 from asottile/release-4.6.8 ( #6361 )
...
Merge pull request #6360 from asottile/release-4.6.8
2019-12-19 22:46:55 -03:00
Anthony Sottile
ab44d3d733
Merge pull request #6360 from asottile/release-4.6.8
...
Preparing release version 4.6.8
2019-12-19 16:01:04 -08:00
Bruno Oliveira
d76aa8b428
Add GitHub actions for CI
...
This includes our current full matrix (windows, linux and macos), for evaluting
purposes.
We should disconsider failures when evaluating PRs.
TODO:
- deploy
- coverage
- github release notes
Even with the above missing, I still believe it would be nice to merge
this and have GitHub actions working in parallel so we can evaluate performance
and usability from now on.
2019-12-19 11:06:57 -03:00
Bruno Oliveira
4dfd2947bc
fix typos in docs ( #6356 )
...
fix typos in docs
2019-12-19 09:31:08 -03:00
captainCapitalism
ed57b8e08a
invocation in last section 'pythonpath.rst' title swapped
...
The order of invocations 'python -m pytest' and 'pytest' are different in the header and the explanation. Me being lazy reading about the behaviour of 'former' looked up quickly the title and rushed to implementation to discover it actually works the other way - as stated in the documentation. So I propose to switch the order in the title to achieve consistent ordering and not confusing somebody like me again! :)
2019-12-19 11:35:52 +01:00
marc
536177bb56
fix typos in docs
2019-12-19 10:35:15 +01:00
Alexandre Mulatinho
dc7bf518b3
pytester: quick fix error introduced in #5990
...
- added a test to check this condition
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net >
2019-12-18 16:36:24 -03:00
Bruno Oliveira
75493f78bf
Merge master into features ( #6346 )
...
Merge master into features
2019-12-16 21:57:26 -03:00
Bruno Oliveira
c487cf9dd5
Deprecate no print logs ( #6333 )
...
Deprecate no print logs
2019-12-16 19:01:16 -03:00
Bruno Oliveira
8be9684ab2
Optimized renaming of test parameter ids ( #6350 )
...
Optimized renaming of test parameter ids
2019-12-16 18:54:35 -03:00
Seth Junot
d4879c7afb
Optimized renaming of test parameter ids
...
While using pytest-repeat, I noticed the previous implementation is slow
for a large number of duplicate test ids. To optimize, this commit
reduces the amount of data copied and avoids using `in` with List
(unhashable type, and therefore is very slow for many elements).
2019-12-16 18:53:48 -03:00
Vinay Calastry
afbaee7649
Deprecate --no-print-logs option
2019-12-14 16:46:30 -08:00
marc
d42f5a41a5
delete inspect.getargspect() as is deprecated since Python 3.0
2019-12-14 19:52:17 +01:00
Bruno Oliveira
853889e5db
Merge remote-tracking branch 'upstream/master' into mm
2019-12-14 10:45:44 -03:00
Bruno Oliveira
a176ff77bc
Release 5.3.2 ( #6342 )
...
Release 5.3.2
2019-12-14 10:39:19 -03:00
Bruno Oliveira
7f24cc2feb
Remove duplicated user from announcement
2019-12-14 10:06:59 -03:00
Bruno Oliveira
d0c663a628
Improve warning about incoming change to 'junitxml_family' defa… ( #6343 )
...
Improve warning about incoming change to 'junitxml_family' default
2019-12-13 12:57:21 -03:00
Bruno Oliveira
f7409f8685
Improve warning about incoming change to 'junitxml_family' default
...
Fix #6265
2019-12-13 09:17:12 -03:00
Bruno Oliveira
10fcac7f90
Preparing release version 5.3.2
2019-12-13 08:51:15 -03:00
Bruno Oliveira
8942a05cfe
Change 4639 from feature to improvement
...
An improvement seems more adequate here.
2019-12-13 08:46:47 -03:00
Bruno Oliveira
ecd1e43afb
Make 'S' and 'F' aliases to 's' and 'f' respectively ( #6337 )
...
Make 'S' and 'F' aliases to 's' and 'f' respectively
2019-12-13 07:47:48 -03:00
Bruno Oliveira
66c1a120ba
Bugfix 5430 pass logs to junit report ( #6274 )
...
Bugfix 5430 pass logs to junit report
2019-12-12 09:35:25 -03:00
gftea
226f0c48bf
fix #5686 , mktemp now fails given absolute and non-normalized paths.
2019-12-12 13:00:23 +01:00
Bruno Oliveira
9b74bf1e0c
Add CHANGELOG entry for #6334
2019-12-12 08:05:22 -03:00
Bruno Oliveira
fa51a26743
Make -r letters "s" and "S" aliases
...
Similar reasons as the previous commit
2019-12-12 07:48:07 -03:00
Bruno Oliveira
59067ad33d
Make -r letters "f" and "F" aliases
...
As far as the output is concerned, they are both identical so it doesn't
make sense to have both.
setup, teardown, and collect failures are already reported as "errors", "E".
2019-12-12 07:43:37 -03:00
Bruno Oliveira
cbb2f9541b
Merge pull request #6316 from cb109/make-keyword-expression-matching-case-insensitive
...
Make keyword expression matching case-insensitive
2019-12-12 06:47:59 -03:00
Anthony Sottile
b29ae03cb6
Merge pull request #6329 from nicoddemus/4639-improv
...
Change 4639 from feature to improvement
2019-12-11 13:13:31 -08:00
Bruno Oliveira
0711060422
Change 4639 from feature to improvement
...
An improvement seems more adequate here.
2019-12-09 15:57:19 -03:00
Bruno Oliveira
1ef29ab548
#4597 : tee-stdio capture method ( #6315 )
...
#4597 : tee-stdio capture method
2019-12-09 15:55:17 -03:00
cmachalo
e13ad22364
Include new --capture-mode=tee-sys option
...
Fix #4597
2019-12-09 13:05:23 -03:00
Zac Hatfield-Dodds
8cdf9d43a9
Fixes #6326 : Typo in the Security section docs home page. ( #6327 )
...
Fixes #6326 : Typo in the Security section docs home page.
2019-12-09 17:28:06 +11:00
Michael Rose
2ddc330b62
Fixes #6326 : Typo in the Security section docs home page.
2019-12-08 22:26:53 -05:00
Ronny Pfannschmidt
30f2729684
Merge pull request #6298 from RonnyPfannschmidt/deprecation-breakage
...
Deprecation policy - insert considerations for breaking changes
2019-12-07 19:50:44 +01:00
Ronny Pfannschmidt
3812985ed4
update backward compatibility policy to allow for breakage
...
Co-Authored-By: Anthony Sottile <asottile@umich.edu >
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com >
2019-12-07 18:59:21 +01:00
Bruno Oliveira
c6ed69a666
Replace 'removal' by 'breaking' changelog category
...
As discussed, sometimes we will need to introduce changes
which are not necessarily removals but might break existing
suites
2019-12-06 08:50:35 -03:00
Christoph Bülter
3a0f436c1a
Iterate a generator expression instead of a temporary list
...
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
2019-12-06 08:40:49 +01:00
Bruno Oliveira
1c0ab3c2a3
Add 4.6.7 changelog to master (Wait until #6318 ) ( #6319 )
...
Add 4.6.7 changelog to master (Wait until #6318 )
2019-12-05 22:45:12 -03:00
Anthony Sottile
7ff91d8127
Merge pull request #6313 from nicoddemus/egg-rewrite-6301
...
Fix assertion rewriting module detection for egg dists
2019-12-05 16:24:13 -08:00
Bruno Oliveira
64c71daa21
Add 4.6.7 changelog to master
2019-12-05 17:32:45 -03:00
Christoph Buelter
a326fa22c6
Add a failing test to ensure not everything matches by accident
2019-12-05 17:02:48 +01:00
Christoph Bülter
623b3982b0
Update doc/en/example/markers.rst
...
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
2019-12-05 16:59:08 +01:00
Christoph Buelter
5a7de2c2cb
Add changelog file for PR 6316
2019-12-05 14:28:21 +01:00
Christoph Buelter
24d4882d82
Update authors file and sort the list
2019-12-05 14:20:07 +01:00
Christoph Buelter
ac5929eef3
Update docs about case-insensitive expression matching
2019-12-05 14:13:22 +01:00
Christoph Buelter
e24b6b0388
Change -k EXPRESSION matching to be case-insensitive
2019-12-05 14:03:10 +01:00
Bruno Oliveira
c7f9fda42d
Fix assertion rewriting module detection for egg dists
...
Fix #6301
2019-12-04 15:30:45 -03:00
Bruno Oliveira
985ac09048
Merge master into features ( #6312 )
...
Merge master into features
2019-12-03 13:36:58 -03:00
Bruno Oliveira
1c4a672a52
unittest: do not use TestCase.debug() with --pdb ( #5996 )
...
unittest: do not use TestCase.debug() with `--pdb`
2019-12-03 11:15:06 -03:00
Bruno Oliveira
59f95b7f59
Merge remote-tracking branch 'upstream/master' into mm
2019-12-03 11:07:34 -03:00
Bruno Oliveira
41b7b109e9
Merge branch 'features' into unittest-debug
2019-12-03 10:52:53 -03:00
Ran Benita
42fb1f7ede
Merge pull request #6309 from jaredvasquez/fix-cafd-docs
...
Fix typo in documentation of capfd fixture
2019-12-03 12:15:40 +02:00
Ran Benita
c9ec724886
Merge pull request #6307 from bluetech/mypy-750
...
Update mypy 0.740 -> 0.750
2019-12-03 12:14:19 +02:00
Jared Vasquez
c00a43a17d
fix typo
2019-12-02 22:29:22 -08:00
Bruno Oliveira
1dc612f7d4
Merge pull request #6304 from nicoddemus/pytest-as-pkg
...
Convert pytest.py into a package
2019-12-02 21:10:15 -03:00
Bruno Oliveira
e5bd7fb053
Convert pytest.py into a package
...
As discussed in https://github.com/pytest-dev/pytest/issues/3342 , this
is the first step to make pytest support static typing fully
2019-12-02 19:27:11 -03:00
Bruno Oliveira
256a9e0027
Remove outdated py2py3 example ( #6306 )
...
Remove outdated py2py3 example
2019-12-02 16:54:12 -03:00
Ran Benita
16ff9f591e
Update mypy 0.740 -> 0.750
...
Release notes:
https://mypy-lang.blogspot.com/2019/11/mypy-0.html
2019-12-02 21:52:11 +02:00
Ran Benita
d2d7b97a70
Remove outdated py2py3 example
2019-12-02 21:16:15 +02:00
Bruno Oliveira
23f6adc760
Ensure cache supporting files still exist after --cache-clear ( #6296 )
...
Ensure cache supporting files still exist after --cache-clear
2019-12-01 10:37:22 -03:00
Bruno Oliveira
172b82875a
Ensure cache supporting files still exist after --cache-clear
...
Fix #6290
2019-12-01 10:36:47 -03:00
Bruno Oliveira
277857b026
docs: move changelog to docs/en and allow sphinx directives ( #6287 )
...
docs: move changelog to docs/en and allow sphinx directives
2019-11-29 10:51:01 -03:00
Daniel Hahler
d3ab56f531
docs: move changelog to docs/en and allow sphinx directives
...
Now `tox -e docs` will also include the draft changelog for the
next version (locally only).
`CHANGELOG.rst` now only points to the changelog on READTHEDOCS so
sphinx diretives can be used.
Followup to https://github.com/pytest-dev/pytest/pull/6272
2019-11-28 21:23:58 -03:00
Bruno Oliveira
da091b832d
rename test_pdb to test_debugging ( #6282 )
...
rename test_pdb to test_debugging
2019-11-27 09:08:02 -03:00
Ronny Pfannschmidt
8feeb09398
fixes #5065
2019-11-27 11:25:23 +01:00
Anthony Sottile
209d99102d
Merge pull request #6234 from asottile/remove_none_warning
...
Revert "A warning is now issued when assertions are made for `None`"
2019-11-26 13:04:42 -08:00
Ronny Pfannschmidt
6d31684da5
Merge pull request #6279 from nicoddemus/fix-changelog
...
Remove duplicated changelog entry for 5.3.1
2019-11-26 19:22:07 +01:00
Bruno Oliveira
4ee280ae1f
Remove duplicated changelog entry for 5.3.1
2019-11-26 12:01:12 -03:00
Bruno Oliveira
8b8cba369c
Preparing release version 5.3.1 ( #6277 )
...
Preparing release version 5.3.1
2019-11-26 11:56:56 -03:00
Daniel Hahler
b6b0bc03f3
Merge pull request #6164 from blueyed/pytester-no-color
...
pytester: use no colors with inline runs by default
2019-11-26 03:30:45 +01:00
Daniel Hahler
a1219ab8fc
pytester: use no colors with inline runs by default
...
Sets `PY_COLORS=0` in the environment by default, which is used by pylib.
Via https://github.com/blueyed/pytest/pull/58
(initially cherry picked from commit f153ad33d10)
2019-11-25 23:48:11 +01:00
Bruno Oliveira
05008f6b55
Preparing release version 5.3.1
2019-11-25 14:32:37 -03:00
Claudio Madotto
83182b82ea
Merge branch 'bugfix-5430-pass-logs-to-junit-report' of https://github.com/zupermanzupereroe/pytest into bugfix-5430-pass-logs-to-junit-report
2019-11-25 13:00:04 +01:00
Claudio Madotto
31d5cedc6d
Avoid duplicating system-out and system-error tags
2019-11-25 12:59:03 +01:00
Claudio Madotto
91b3ff1bb7
Create changelog file and update AUTHORS
2019-11-25 12:59:03 +01:00
Claudio Madotto
b66dc80008
Fix for issue #5430 - junit-xml: logs are not passed to junit report for tests failed not in a teardown phase
2019-11-25 12:59:03 +01:00
zupermanzupereroe
69ad2026f6
Merge pull request #1 from pytest-dev/master
...
Update repository
2019-11-25 12:56:54 +01:00
Anthony Sottile
9d900930db
Merge pull request #6242 from nicoddemus/testdir-changelog
...
Add link to testdir fixture in CHANGELOG entry
2019-11-24 17:23:02 -08:00
Daniel Hahler
47ae1fb36b
Merge pull request #6271 from blueyed/typing
...
typing: minor improvements
2019-11-25 01:49:34 +01:00
Daniel Hahler
a8230d77f4
Merge pull request #6270 from blueyed/docs-log_cli
...
docs: add missing `log_cli` confval
2019-11-24 23:21:49 +01:00
Daniel Hahler
b7d908f4a5
Merge pull request #6269 from blueyed/docs
...
tox: docs: --keep-going and posargs
2019-11-24 23:21:26 +01:00
Daniel Hahler
bc7282576f
typing: minor improvements
2019-11-24 23:20:03 +01:00
Daniel Hahler
b9dd0e6210
docs: add missing log_cli confval
2019-11-24 22:34:15 +01:00
Daniel Hahler
57f3dc19b9
tox: docs: --keep-going and posargs
...
`--keep-going` makes sense with `-W` to see all warnings/errors.
`{posargs:}` is useful for passing in custom args.
2019-11-24 22:21:08 +01:00
Daniel Hahler
d7d5cf4136
Merge pull request #6215 from blueyed/cleanup-exc
...
_idval: remove trailing newline from exception
2019-11-24 20:29:46 +01:00
Florian Bruhin
ed67312bca
Merge pull request #6268 from felixonmars/patch-2
...
Correct a typo in _pytest/config/__init__.py
2019-11-24 17:04:26 +01:00
Claudio Madotto
2d24c062b6
Avoid duplicating system-out and system-error tags
2019-11-24 16:33:17 +01:00
Claudio Madotto
d940d0b657
Create changelog file and update AUTHORS
2019-11-24 16:08:45 +01:00
Claudio Madotto
f9f092a5e6
Fix for issue #5430 - junit-xml: logs are not passed to junit report for tests failed not in a teardown phase
2019-11-24 15:20:02 +01:00
Felix Yan
b7bc52f770
Correct a typo in _pytest/config/__init__.py
2019-11-24 20:28:10 +08:00
Bruno Oliveira
a3c8246b60
Node from parent ( #5975 )
...
Node from parent
2019-11-23 20:34:48 -03:00
Ronny Pfannschmidt
15ffe63204
update doc examples **untested**
2019-11-23 21:54:11 +01:00
Ronny Pfannschmidt
c99c7d0f95
deprecate direct node construction and introduce Node.from_parent
2019-11-23 21:54:11 +01:00
Bruno Oliveira
886b8d27c6
Merge pull request #5984 from phloose/acceptance-tests_pytest-dev/pytest/#4445
...
Add acceptance tests for "config warnings" stacklevel (#4445 )
2019-11-22 19:45:41 -03:00
Daniel Hahler
d1eb89d694
Merge pull request #6086 from kondratyev-nv/master
...
Fix line detection for properties in doctest tests
2019-11-22 23:09:10 +01:00
Daniel Hahler
a4408eb9c1
Merge pull request #6219 from blueyed/testdir-use-monkeypatch
...
pytester: remove special handling of env during inner runs
2019-11-22 22:41:48 +01:00
Daniel Hahler
b0ebcfb785
pytester: remove special handling of env during inner runs
...
Closes https://github.com/pytest-dev/pytest/issues/6213 .
2019-11-22 21:50:31 +01:00
Nikolay Kondratyev
5e097970df
Fix line detection for properties in doctest tests
...
Co-Authored-By: Daniel Hahler <github@thequod.de >
2019-11-22 23:50:20 +03:00
Philipp Loose
a02310a140
Add stacklevel tests for warnings, 'location' to pytest_warning_captured
...
Resolves #4445 and #5928 (thanks to allanlewis)
Add CHANGELOG for location parameter
2019-11-22 17:50:00 -03:00
Daniel Hahler
0601f5cdad
Merge pull request #6261 from blueyed/stats-keys
...
terminal: _get_main_color: help pytest-parallel
2019-11-22 17:12:33 +01:00
Daniel Hahler
a7268aaa5d
Merge pull request #6258 from blueyed/notify_exception-handle-exit-exc-upstream
...
main: wrap_session: handle exit.Exception with notify_exception
2019-11-22 05:49:04 +01:00
Daniel Hahler
1f736a663d
terminal: _get_main_color: help pytest-parallel
...
Use `dict.keys()` to work around `__iter__` not working with a
multiprocessing DictProxy.
Ref: https://github.com/python/cpython/pull/17333
Fixes https://github.com/pytest-dev/pytest/issues/6254 .
Ref: https://github.com/browsertron/pytest-parallel/issues/36
2019-11-22 05:48:10 +01:00
Daniel Hahler
2344982d7f
main: wrap_session: handle exit.Exception with notify_exception
...
Fixes https://github.com/pytest-dev/pytest/issues/6257 .
Via https://github.com/blueyed/pytest/pull/132 .
2019-11-21 22:50:33 +01:00
Daniel Hahler
2fa0518e89
Merge pull request #6259 from blueyed/merge-master-into-features
...
Merge master into features
2019-11-21 22:48:53 +01:00
Daniel Hahler
df0c652333
Merge master into features
2019-11-21 20:31:52 +01:00
Daniel Hahler
63c9ad02f4
Merge pull request #6252 from blueyed/minor-changelog
...
CHANGELOG: two minor fixes/improvements
2019-11-21 18:44:41 +01:00
Daniel Hahler
8b7aeefd7d
Merge pull request #6248 from blueyed/default-role
...
docs: configure default_role=literal
2019-11-21 18:44:17 +01:00
Bruno Oliveira
f1ac0eeef0
Remove sys.last_traceback attribute using del instead of settin… ( #6256 )
...
Remove sys.last_traceback attribute using del instead of setting to None
2019-11-21 11:16:19 -03:00
Mark Dickinson
82424c9270
Fix reST markup.
2019-11-21 13:37:17 +00:00
Mark Dickinson
dbb8c146f0
Use proper reST attribute markup.
2019-11-21 13:22:34 +00:00
Mark Dickinson
8d686a8e46
Add self to AUTHORS
2019-11-21 13:14:19 +00:00
Mark Dickinson
9d1082bd30
Add changelog file.
2019-11-21 13:13:36 +00:00
Bruno Oliveira
490c7c7262
Add develop instructions to CONTRIBUTING ( #6249 )
...
Add develop instructions to CONTRIBUTING
2019-11-21 10:07:00 -03:00
Mark Dickinson
2ffbe41ae5
clear sys.last_traceback via del instead of = None
2019-11-21 13:06:47 +00:00
Bruno Oliveira
8f2fd8ffc0
Add develop instructions to CONTRIBUTING
...
From: https://github.com/pytest-dev/pytest/pull/6244
2019-11-21 10:06:32 -03:00
Mark Dickinson
64eb9ea670
Modify test for new expected behaviour
2019-11-21 11:50:40 +00:00
Ran Benita
5820c5c5a6
Merge pull request #6241 from bluetech/type-annotations-9
...
Add type annotations to _pytest.config.argparsing and corresponding Config code
2019-11-21 13:33:13 +02:00
Zac Hatfield-Dodds
7e10c8191d
Added link checking to tox and release.py ( #5614 )
...
Added link checking to tox and release.py
2019-11-21 16:46:13 +11:00
Daniel Hahler
6659fe0edc
CHANGELOG: two minor fixes/improvements
2019-11-21 06:20:57 +01:00
Daniel Hahler
4ee984ff0a
Merge pull request #6250 from blueyed/tbh
...
pytester: LineMatcher: __tracebackhide__ with _fail
2019-11-21 04:26:20 +01:00
Daniel Hahler
b96e0a71a6
pytester: LineMatcher: __tracebackhide__ with _fail
...
Follow-up to 2228ccb (gone lost in resolving the conflict).
2019-11-21 01:23:36 +01:00
Daniel Hahler
ed012c808a
Merge pull request #6174 from blueyed/ids-iter
...
parametrized: ids: support generator/iterator
2019-11-21 00:37:25 +01:00
Daniel Hahler
be722652f0
docs: configure default_role=literal
...
This configures the default role for interpreted text (single
backticks), avoiding the need to check for / enforce double backticks.
Fixes also one instance in the existing changelog:
- Detect `pytest_` prefixed hooks using the internal plugin manager since
``pluggy`` is deprecating the ``implprefix`` argument to ``PluginManager``.
(`#3487 <https://github.com/pytest-dev/pytest/issues/3487 >`_)
2019-11-21 00:35:00 +01:00
Daniel Hahler
6b75a7733b
Merge pull request #6247 from blueyed/collecterror-fulltrace
...
Respect --fulltrace with collection errors
2019-11-21 00:27:23 +01:00
Daniel Hahler
2d449e95e4
Respect --fulltrace with collection errors
2019-11-20 23:35:33 +01:00
Ran Benita
dac16cd9e5
Add type annotations to _pytest.config.argparsing and corresponding Config code
2019-11-20 22:02:27 +02:00
Daniel Hahler
2c941b5d13
parametrized: ids: support generator/iterator
...
Fixes https://github.com/pytest-dev/pytest/issues/759
- Adjust test_parametrized_ids_invalid_type, create list to convert tuples
Ref: https://github.com/pytest-dev/pytest/issues/1857#issuecomment-552922498
- Changelog for int to str conversion
Ref: https://github.com/pytest-dev/pytest/issues/1857#issuecomment-552932952
2019-11-20 19:02:17 +01:00
Daniel Hahler
98c899c9b0
Merge pull request #6245 from blueyed/tests-_idval
...
testing/python/metafunc.py: import _idval once
2019-11-20 19:00:39 +01:00
Daniel Hahler
58ec5bea35
Merge pull request #6237 from blueyed/fix-no_fnmatch_line
...
pytester: reset log output in _match_lines
2019-11-20 18:44:37 +01:00
Daniel Hahler
f1224a0e85
Merge pull request #6243 from blueyed/move-_pformat_dispatch
...
minor: move internal _pformat_dispatch function
2019-11-20 18:42:21 +01:00
Daniel Hahler
ccb3ef3b33
testing/python/metafunc.py: import _idval once
2019-11-20 18:02:30 +01:00
Daniel Hahler
c0b1a39192
minor: move internal _pformat_dispatch function
2019-11-20 17:57:14 +01:00
Bruno Oliveira
0be03d7fe4
Add link to testdir fixture in CHANGELOG entry
...
As per https://github.com/pytest-dev/pytest/pull/5914#issuecomment-556063975
2019-11-20 13:14:17 -03:00
Ran Benita
51f9cd0e02
argparsing: remove "map_long_option" Action attribute support
...
This feature was added in commit
007a77c2ba , but was never used in pytest
itself. A GitHub code search doesn't find any users either (only pytest
repo copies). It seems safe to clean up.
2019-11-20 17:09:24 +02:00
Bruno Oliveira
2879d25812
Fix rendering of Before/After in changelog ( #6238 )
...
Fix rendering of Before/After in changelog
2019-11-20 07:32:17 -03:00
Bruno Oliveira
fe69a2cfb7
Delete 5934.feature.rst included in the wrong folder by accident
2019-11-20 07:06:11 -03:00
Bruno Oliveira
af9dfc604d
Introduce 5934 in CHANGELOG and fix "pytest" blocks
2019-11-20 07:05:31 -03:00
Anthony Sottile
8c65eae5f4
Fix rendering of Before/After in changelog
...
Apparently the version of sphinx that rtd uses is a little more strict about whether an anonymous `code-block` can happen
2019-11-19 21:12:30 -08:00
Daniel Hahler
2228ccbfb4
pytester: reset log output in _match_lines ( #70 )
...
This is necessary for when using e.g. `no_fnmatch_line` after it.
Factor it out into `_fail`.
(cherry picked from commit aade7ed0045ba32557ef8565cbab28a2c91053a7)
Ref: https://github.com/pytest-dev/pytest/pull/5914#issuecomment-549182242
2019-11-20 05:24:18 +01:00
Bruno Oliveira
7e5ad31428
Merge features into master after 5.3 ( #6236 )
...
Merge features into master after 5.3
2019-11-19 19:17:06 -03:00
Bruno Oliveira
688bbefed1
Improve instructions on how to write CHANGELOG entries ( #6235 )
...
Improve instructions on how to write CHANGELOG entries
2019-11-19 19:10:41 -03:00
Bruno Oliveira
5b3867fd65
Release 5.3.0 ( #6233 )
...
Release 5.3.0
2019-11-19 18:49:14 -03:00
Bruno Oliveira
36ef545b2d
Improve instructions on how to write CHANGELOG entries
...
This makes easier for contributors to get the CHANGELOG entry
right the first time.
2019-11-19 14:15:55 -03:00
Daniel Hahler
1d368e0ed4
Merge pull request #6231 from blueyed/param-spell
...
Improve check for misspelling of parametrize
2019-11-19 17:57:28 +01:00
Anthony Sottile
faea273c93
Revert "A warning is now issued when assertions are made for None"
2019-11-19 08:24:08 -08:00
Daniel Hahler
4ad61cbcf6
Improve check for misspelling of parametrize
...
- there is no need to do this with `--strict-markers`
- it can be done when looking up marks, instead of for every generated
test
2019-11-19 16:05:52 +01:00
Daniel Hahler
426a4cdca9
_idval: remove trailing newline from exception
2019-11-18 01:10:00 +01:00
Bruno Oliveira
59369651db
Bring back explicit tear down
...
Otherwise 'normal' failures won't call teardown explicitly
2019-11-12 14:03:40 -03:00
Bruno Oliveira
f7b1de70c0
No need to call tearDown on expected failures
...
- Isolate logic for getting expected exceptions
- Use original method name, as users see it when entering the debugger
2019-11-12 12:50:55 -03:00
Daniel Hahler
04f27d4eb4
unittest: do not use TestCase.debug() with --pdb
...
Fixes https://github.com/pytest-dev/pytest/issues/5991
Fixes https://github.com/pytest-dev/pytest/issues/3823
Ref: https://github.com/pytest-dev/pytest-django/issues/772
Ref: https://github.com/pytest-dev/pytest/pull/1890
Ref: https://github.com/pytest-dev/pytest-django/pull/782
- inject wrapped testMethod
- adjust test_trial_error
- add test for `--trace` with unittests
2019-11-10 00:21:51 +01:00
Steffen Schroeder
ceeb7bd085
Fixed broken links
2019-11-06 20:54:41 +01:00
Steffen Schroeder
1cecdf6619
Added checklinks to tox and release.py
2019-11-06 20:54:41 +01:00