Florian Bruhin
0ad452bcba
Prepare release version 7.0.0rc1 ( #9375 ) ( #9377 )
...
Co-authored-by: pytest bot <pytestbot@gmail.com >
(cherry picked from commit 85897eddc6 )
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-07 10:13:36 +01:00
Florian Bruhin
fbf64d2529
Don't thank pytest bot ( #9372 )
2021-12-06 22:55:18 +01:00
Florian Bruhin
3a479db126
Fix hook param name in nonpython example ( #9373 )
...
Follow up to #9363
2021-12-06 22:55:06 +01:00
Bruno Oliveira
70d3d0f390
Drop readline workaround introduced in #1281 ( #8848 )
...
Fix #8733
Closes #8847
2021-12-06 19:50:11 +01:00
Florian Bruhin
b3ed595f52
Revert "Fix Dead link in README for 'assert statements' " ( #9369 )
...
This reverts commit 15989ddc8f .
Reverts #8945 , thus reintroducing #8926 temporarily, but we should be close to
the 7.0.0 release now, where this is the correct URL to use.
Closes #8831 as follow-up to #8858 .
2021-12-06 17:56:39 +00:00
Ran Benita
5c55e91d77
Merge pull request #9368 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-django-4.5.1
...
build(deps): Bump pytest-django from 4.4.0 to 4.5.1 in /testing/plugins_integration
2021-12-06 15:39:37 +02:00
Florian Bruhin
663be09723
Improve reference and path/fspath docs ( #9341 )
...
* Improve reference and path/fspath docs
Closes #9283
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixups
* Add explanation
* Update wording after #9363
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-06 11:25:05 +01:00
dependabot[bot]
17e2ecb253
build(deps): Bump pytest-django in /testing/plugins_integration
...
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django ) from 4.4.0 to 4.5.1.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.4.0...v4.5.1 )
---
updated-dependencies:
- dependency-name: pytest-django
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-12-06 03:02:03 +00:00
Bruno Oliveira
5852d66a6a
Merge pull request #9367 from pytest-dev/update-plugin-list/patch-a335ade1f
...
[automated] Update plugin list
2021-12-05 11:13:37 -03:00
pytest bot
72b7334f1d
[automated] Update plugin list
2021-12-05 00:12:43 +00:00
Bruno Oliveira
a335ade1f5
Rename pathlib hook parameters ( #9363 )
...
* Rename pytest_ignore_collect fspath parameter to collection_path
* Rename pytest_collect_file fspath parameter to file_path
* Rename pytest_pycollect_makemodule fspath parameter to module_path
* Rename pytest_report_header startpath parameter to start_path
* Rename pytest_report_collectionfinish startpath parameter to start_path
* Update docs with the renamed parameters
* Use pytest-flakes fork temporarily to prove it works
* Use pytest-flakes 4.0.5
2021-12-03 13:14:09 +01:00
Bruno Oliveira
96366dca42
Merge pull request #9356 from nicoddemus/copyright
2021-12-02 07:37:16 -03:00
Bruno Oliveira
482b858675
Merge pull request #9357 from GergelyKalmar/remove-unnecessary-newline
2021-12-01 19:08:46 -03:00
GergelyKalmar
82d450f98e
Update authors
2021-11-30 19:04:00 +01:00
GergelyKalmar
1bcc2f87a2
Do not display empty worker info
2021-11-30 18:59:46 +01:00
Bruno Oliveira
ed24f29e60
Change copyright notice so yearly updates are not needed
...
Just learned that we don't need to do this every year: https://hynek.me/til/copyright-years
Followed Go's example of only stating the starting year: https://github.com/golang/go/blob/master/LICENSE
Btw any ideas why the dates vary? Some start in 2004, others 2013, 2015... shouldn't be the same year for all locations?
2021-11-30 09:28:23 -03:00
Zac Hatfield-Dodds
e2ee3144ed
Merge pull request #9352 from truth-quark/spelling_fix_9351
2021-11-30 22:47:35 +11:00
Ben Davies
86bcaad828
Fix output of example test method.
2021-11-30 14:55:05 +11:00
Bruno Oliveira
fa240b0bb4
Merge pull request #9345 from aminalaee/patch-1
2021-11-29 11:43:53 -03:00
Bruno Oliveira
7627a7b413
Merge pull request #9348 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.4.0
...
build(deps): Bump anyio[curio,trio] from 3.3.4 to 3.4.0 in /testing/plugins_integration
2021-11-29 11:32:07 -03:00
dependabot[bot]
a0a37adfb2
build(deps): Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.3.4 to 3.4.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.3.4...3.4.0 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-29 03:02:13 +00:00
Ran Benita
64f22dcb80
Merge pull request #9346 from pytest-dev/update-plugin-list/patch-e01231c21
...
[automated] Update plugin list
2021-11-28 15:25:05 +02:00
pytest bot
7de752a50b
[automated] Update plugin list
2021-11-28 00:12:22 +00:00
Amin Alaee
f0d5d523aa
Update .readthedocs.yml
2021-11-27 13:15:16 +01:00
Bruno Oliveira
e01231c215
Merge pull request #9332 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-11-26 11:02:59 -03:00
Florian Bruhin
8436d695e5
Fix doc issues in deprecation change ( #9336 )
...
Follow-up to #9309 .
The issue in the changelog broke the docs build with:
doc/en/_changelog_towncrier_draft.rst:47: WARNING: Inline literal start-string
without end-string.
The second change isn't as critical, but caused the text to be rendered as
monospace including the tilde (i.e. `~pytest.PytestDeprecationwarning`).
2021-11-25 09:43:23 +01:00
pre-commit-ci[bot]
372a6fdfd7
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.10b0 → 21.11b1](https://github.com/psf/black/compare/21.10b0...21.11b1 )
- [github.com/asottile/blacken-docs: v1.11.0 → v1.12.0](https://github.com/asottile/blacken-docs/compare/v1.11.0...v1.12.0 )
- [github.com/asottile/pyupgrade: v2.29.0 → v2.29.1](https://github.com/asottile/pyupgrade/compare/v2.29.0...v2.29.1 )
- [github.com/asottile/setup-cfg-fmt: v1.19.0 → v1.20.0](https://github.com/asottile/setup-cfg-fmt/compare/v1.19.0...v1.20.0 )
2021-11-22 20:52:15 +00:00
Ran Benita
df9e94fbca
Change deprecation warnings into errors for 7.0 release, using a new mechanism ( #9309 )
2021-11-21 17:13:44 +02:00
github-actions[bot]
4fd897a631
[automated] Update plugin list ( #9326 )
...
Co-authored-by: pytest bot <pytestbot@users.noreply.github.com >
2021-11-21 17:12:22 +02:00
Bruno Oliveira
cd49075ad7
Merge pull request #9319 from nicoddemus/skip-test-prefix-integration-3.9
2021-11-19 12:23:34 -03:00
Bruno Oliveira
bd897513f2
Skip TestPyCacheDir.test_sys_pycache_prefix_integration on Windows + Python 3.9
...
Related to #9298
2021-11-19 11:22:08 -03:00
Ran Benita
a172a4141b
Change PytestRemovedIn7Warning to error by default
...
Per our backward compatibility policy.
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-11-14 23:57:10 +02:00
Ran Benita
128f29ee35
Categorize deprecation warnings to PytestRemovedInXWarning
...
Closes #7480 .
This allows us to more easily follow our deprecation policy of turning
warnings into errors for the X.0 releases before complete removal in
X.1.
It also makes the deprecation timeline clear to both the users and
pytest developers -- it can be hard to keep track.
Note that the designation is not meant to be a binding contract - if the
time comes for removal of a specific deprecation but we decide it's too
soon, can just bump it to the next major.
Inspired by Django:
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/submitting-patches/#deprecating-a-feature
2021-11-14 23:57:10 +02:00
Bruno Oliveira
3dc17f1c3b
Merge pull request #9293 from hoefling/doc/extlinks-gh-user
2021-11-13 10:57:37 -03:00
Ran Benita
062d91ab47
python: remove the Instance collector node
2021-11-13 14:03:44 +02:00
Florian Bruhin
17b38259fd
Pin towncrier to 19.9.0 ( #9282 )
...
See https://github.com/twisted/towncrier/issues/346
Closes #8817 , supersedes #9045 and #9046 .
2021-11-11 16:48:54 +01:00
Bruno Oliveira
c5ab30d907
Merge pull request #9294 from spagh-eddie/patch-1
2021-11-11 07:33:21 -03:00
Eddie
a76df875c7
Remove space inside of dotted attribute
2021-11-10 12:54:21 -08:00
oleg.hoefling
2f1096cd55
replace hardcoded links to github user profiles with extlinks
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-11-10 20:47:27 +01:00
Florian Bruhin
5d87a27434
Elide pytest-internal paths for --fixtures ( #9281 )
...
* Elide pytest-internal paths for --fixtures
Fixes #8822
* Make flake8 happy
2021-11-10 15:16:41 +01:00
Florian Bruhin
f9afcd2d8a
More pytest 7 changelog fixes ( #9285 )
...
* Remove changelog entry for #8251
Reverted in #8903
* Move #9202 changelog to to trivial
This won't concern users of pytest
* Streamline deprecation changelogs/docs
* Remove #8994 changelog
This is an impovement for a warning introduced in this release, so including it in a changelog against the last release seems confusing.
* Remove #9241 changelog
This is an impovement for a doc update introduced in this release, so including it in a changelog against the last release seems confusing. The issue number also seems about something different.
* Remove #8897 changelog
Empty file...
* Various minor changelog fixes
2021-11-10 15:16:24 +01:00
Ran Benita
d6e6b9696d
Merge pull request #9286 from bluetech/legacypath-subplugins
...
legacypath: support late-loading of pytester plugin
2021-11-09 15:05:15 +02:00
Ran Benita
63899c76a4
legacypath: support late-loading of pytester plugin
...
Fixes #9280 .
Previous approach didn't support pytester being loaded using
`pytest_plugins = "pytester"` in a conftest.
2021-11-08 21:56:40 +02:00
Ran Benita
f87df9c52e
nodes: keep plugins which subclass Item, File working for a bit more ( #9279 )
...
* nodes: keep plugins which subclass Item, File working for a bit more
Fix #8435 .
* Update src/_pytest/nodes.py
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Florian Bruhin <me@the-compiler.org >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-11-08 14:51:04 +00:00
Simon K
eb6c4493b2
Deprecation of msg= for both pytest.skip() and pytest.fail(). ( #8950 )
...
* porting pytest.skip() to use reason=, adding tests
* avoid adding **kwargs, it breaks other functionality, use optional msg= instead
* deprecation of `pytest.fail(msg=...)`
* fix bug with not capturing the returned reason value
* pass reason= in acceptance async tests instead of msg=
* finalising deprecations of `msg` in `pytest.skip()` and `pytest.fail()`
* Update doc/en/deprecations.rst
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
* Update doc/en/deprecations.rst
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
* fix failing test after upstream merge
* adding deprecation to `pytest.exit(msg=...)`
* add docs for pytest.exit deprecations
* finalising deprecation of msg for pytest.skip, pytest.exit and pytest.fail
* hold a reference to the Scope instance to please mypy
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-11-08 15:31:14 +01:00
Bruno Oliveira
b7603fa730
Merge pull request #9278 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.2.9
2021-11-08 10:13:19 -03:00
Bruno Oliveira
b378f9a6e0
Merge pull request #9276 from hoefling/doc/extlinks-bpo
2021-11-08 09:41:26 -03:00
Bruno Oliveira
13d23a2dd5
Merge pull request #9275 from hoefling/doc/extlinks-gh-pull
2021-11-08 09:39:50 -03:00
Thomas Hisch
59373fe402
Merge pull request #9271 from thisch/unpack
...
Inline PercentStyleMultiline._update_message
2021-11-08 12:54:44 +01:00
dependabot[bot]
ff9e51c171
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.2.8 to 3.2.9.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.2.8...3.2.9 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-08 03:01:45 +00:00
Ran Benita
86446edc86
Merge pull request #9273 from bluetech/nose-fixtures2
...
nose: fix class- and module-level fixture behavior
2021-11-07 23:14:39 +02:00
github-actions[bot]
2792f9184e
[automated] Update plugin list ( #9274 )
...
Co-authored-by: pytest bot <pytestbot@users.noreply.github.com >
2021-11-07 23:12:57 +02:00
oleg.hoefling
16e15b99ae
sphinx 3 compat
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-11-07 15:24:57 +01:00
oleg.hoefling
36265ccbf6
replace hardcoded links to bugs.python.org with extlinks
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-11-07 15:24:57 +01:00
oleg.hoefling
bba0ce4877
replace hardcoded links to github pull requests with extlinks
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-11-07 15:18:36 +01:00
Simon K
7037a58711
use list comp for getreports in terminal py ( #9243 )
2021-11-06 16:32:37 +00:00
Ran Benita
89f0b5b5a2
nose: fix class- and module-level fixture behavior
...
Fixes #9272 .
Fixing the issue directly in the plugin is somewhat hard, so do it in
core. Since the plugin is going to be deprecated, I figure it's OK to
cheat a bit.
2021-11-06 14:45:24 +02:00
Oleg Höfling
49f934618c
Replace hardcoded links to Github issues with extlinks ( #9234 )
2021-11-06 11:16:11 +02:00
Thomas Hisch
d8b647970f
Inline PercentStyleMultiline._update_message
...
and take advantage of dict unpacking operator.
2021-11-05 23:08:30 +01:00
Ran Benita
842814c969
Merge pull request #9262 from bluetech/export-reports
...
Export CollectReport and TestReport
2021-11-03 15:17:22 +02:00
Ran Benita
b0aa870b11
Export CollectReport and TestReport
...
Refs #7469 .
2021-11-02 20:58:51 +02:00
Ran Benita
a53abe93d8
Merge pull request #9208 from bluetech/legacypath-plugin
...
Add legacypath plugin, move py.path stuff there
2021-11-02 20:35:12 +02:00
Bruno Oliveira
e1b3c2da4b
Merge pull request #9256 from pytest-dev/pre-commit-ci-update-config
2021-11-01 19:15:31 -03:00
pre-commit-ci[bot]
2fa37f677b
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.9b0 → 21.10b0](https://github.com/psf/black/compare/21.9b0...21.10b0 )
- [github.com/asottile/setup-cfg-fmt: v1.18.0 → v1.19.0](https://github.com/asottile/setup-cfg-fmt/compare/v1.18.0...v1.19.0 )
2021-11-01 20:26:52 +00:00
Harshna
9d17cebe64
Use correct input arg type for _bestrelpath ( #9238 )
...
Closes #8990
2021-11-01 17:43:05 +02:00
Cristian Vera
f288afde1d
Use codecov github action instead of deprecated bash uploader ( #9252 )
...
Fixes #9202 .
2021-11-01 17:41:56 +02:00
denivyruck
0191563fd6
DoctTest line numbers not found due to method wrapping ( #8861 )
...
Closes #8796
2021-11-01 09:01:25 +02:00
Ran Benita
1de5c07b95
Merge pull request #9255 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-bdd-5.0.0
...
build(deps): Bump pytest-bdd from 4.1.0 to 5.0.0 in /testing/plugins_integration
2021-11-01 08:58:37 +02:00
Alexander King
31c207a0b5
Support forwardslash characters in identifiers ( #9249 )
...
Closes #8377 .
2021-11-01 08:54:18 +02:00
Ran Benita
11bb9205d7
[automated] Update plugin list ( #9253 )
...
Co-authored-by: pytest bot <pytestbot@users.noreply.github.com >
2021-11-01 08:42:35 +02:00
dependabot[bot]
8932970a68
build(deps): Bump pytest-bdd in /testing/plugins_integration
...
Bumps [pytest-bdd](https://github.com/pytest-dev/pytest-bdd ) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-bdd/releases )
- [Changelog](https://github.com/pytest-dev/pytest-bdd/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-bdd/compare/4.1.0...5.0.0 )
---
updated-dependencies:
- dependency-name: pytest-bdd
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-01 03:01:28 +00:00
pytest bot
81e2d46302
[automated] Update plugin list
2021-10-31 00:11:03 +00:00
andrewdotn
1824349f74
Use Ubuntu 20.04, lualatex for readthedocs builds ( #9242 )
2021-10-30 11:21:14 -03:00
Ran Benita
69b0a7b306
ci: remove linting job - covered be pre-commit.ci ( #9247 )
2021-10-29 19:23:47 -03:00
Ran Benita
e6eac28f0e
legacypath: only add testdir and tmpdir fixtures if corresponding plugins are registered
...
This preserves the existing behavior and gives a proper error message
in case e.g. `testdir` is requested without the `pytester` plugin being
loaded.
2021-10-29 13:11:12 +03:00
Ran Benita
c3dff755af
Move Node.fspath to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
ce7cff9f8e
Move pathlist support to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
d9ca55c648
Move Session.startdir to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
84722a7904
Move Config.{invocation_dir,rootdir,inifile} to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
d979f82fb0
Move TerminalReporter.stardir to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
7c0011374c
Move FixtureRequest.fspath to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
a1a605a63e
Move Cache.makedir to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
5e883f5195
Move tmpdir to legacypath plugin
2021-10-28 21:51:51 +03:00
Ran Benita
1df28a4450
Move testdir to legacypath plugin
2021-10-28 21:51:51 +03:00
andrewdotn
bcad6e8e9a
Make plugin list in PDF docs readable ( #9241 )
...
The current PDF docs attempt to format the list of all plugins as a
table, without any word-wrapping of the plugin description. That results
in almost all the information getting cut off. This PR formats the same
information into more of a paragraph format for the PDF, with nothing
cut off.
Fixes #451
2021-10-28 11:31:52 +03:00
Ran Benita
c2ece58aa0
Add legacypath plugin
2021-10-27 09:31:44 +03:00
Ran Benita
b7fc0003fd
Merge pull request #9232 from bluetech/deprecate-node-fspath-args
...
Deprecate Node constuctor fspath argument, and other small changes/fixes
2021-10-27 09:26:57 +03:00
Ran Benita
7706fd6840
nodes: deprecate fspath arguments to node constructors
...
This is unfortunately a dependency on `py.path` which cannot be moved to
an external plugins or eased in any way, so has to be deprecated in
order for pytest to be able to eventually remove the dependency on `py`.
2021-10-27 08:36:10 +03:00
Ran Benita
99363ad7ff
recwarn: fix was -> were in DID NOT WARN message
2021-10-27 08:36:10 +03:00
Ran Benita
3c5c5feb04
Merge pull request #9230 from bluetech/pytester-transitive-public
...
Export pytester transitive types
2021-10-27 08:05:08 +03:00
Alexander King
14e032088c
Change the command for package building in release CI workflow ( #9229 )
2021-10-25 21:32:12 +03:00
Ran Benita
89f8ff5a6d
Merge pull request #9233 from pytest-dev/update-plugin-list/patch-f695e18dd
...
[automated] Update plugin list
2021-10-25 21:05:55 +03:00
pytest bot
2f0e1cd230
[automated] Update plugin list
2021-10-24 00:11:06 +00:00
Ran Benita
60ca83746b
docs: change references to 6.3 -> 7.0
...
The plans have changed, next version will be 7.0 not 6.3.
2021-10-23 22:49:55 +03:00
Ran Benita
755ce9bc80
hookspec: improve legacy path deprecation docs
2021-10-23 22:49:54 +03:00
Ran Benita
afc7442e22
nodes: inline _imply_path
...
Only one usage left, and we certainly don't expect more!
Rename `_imply_path_only` to `_imply_path`, that's a less confusing name
now.
2021-10-23 22:10:08 +03:00
Ran Benita
6be3f31dba
nodes: remove redundent _imply_path call
...
The Node ctor will take care of the check.
2021-10-23 21:34:16 +03:00
Ran Benita
853b0a4c29
nodes: fix bug in Node() fspath compat
...
Since path <-> fspath are converted to each other, we need to check both
before looking at the parent, in case fspath is set but path is not.
2021-10-23 21:33:12 +03:00
Ran Benita
11e36c8493
Make transitive Pytester types public
...
Export `HookRecorder`, `RecordedHookCall` (originally `ParsedCall`),
`RunResult`, `LineMatcher`.
These types are reachable through `Pytester` and so should be public
themselves for typing and other purposes.
The name `ParsedCall` I think is too generic under the `pytest`
namespace, so rename it to `RecordedHookCall`.
The `HookRecorder`'s constructor is made private -- it should only be
constructed by `Pytester`.
`LineMatcher` and `RunResult` are exported as is - no private and no
rename, since they're being used.
All of the classes are made final as they are not designed for
subclassing.
2021-10-23 10:59:18 +03:00
Ran Benita
259cff59f5
Remove {pytester,testdir}.Session aliases
...
This causes `Session` documentation to be rendered again in full under
`pytester` and `testdir` in the API Reference. I tried but couldn't get
sphinx to hide it.
Since it's a pretty odd thing to have (should just use
`pytest.Session`), and I couldn't find any plugin which uses this, let's
just remove it.
2021-10-23 10:25:29 +03:00
Ran Benita
f695e18ddb
Merge pull request #9227 from bluetech/config-_cleanup
...
Use public API for adding config cleanup
2021-10-22 22:50:55 +03:00
Alexander King
005690bd67
Add template for prereleases ( #9165 )
...
Fix #8820
2021-10-22 10:00:00 -03:00
Oleg Höfling
1e9e16d829
Replace hardcoded links to PyPI with extlinks ( #9224 )
2021-10-22 09:47:57 -03:00
Ran Benita
5fd182f3de
Use public API for adding config cleanup
...
No need to spuriously access the private internals of Config.
2021-10-22 11:03:27 +03:00
Ran Benita
2af41c5703
Merge pull request #9226 from bluetech/doc-setup-py
...
doc: modernize discussion of setup.py in "Good Integration Practices"
2021-10-22 11:01:10 +03:00
Ran Benita
7314b32b63
doc: modernize discussion of setup.py in "Good Integration Practices"
2021-10-22 10:24:39 +03:00
Bruno Oliveira
61e506a63f
Merge pull request #9223 from nicoddemus/better-filter-warnings-messages
2021-10-21 22:45:00 -03:00
Bruno Oliveira
f5fd2fb176
Improve UX during errors while parsing warning filters
...
Fix #7864
Fix #9218
Closes #8343
Closes #7877
2021-10-21 13:15:41 -03:00
Bruno Oliveira
4a3834101e
Merge pull request #9209 from pytest-dev/update-plugin-list/patch-0696d3eda
...
[automated] Update plugin list
2021-10-19 06:53:25 -03:00
Bruno Oliveira
20a69e11aa
Merge pull request #9214 from nicoddemus/confcutdir-9210
2021-10-19 06:52:52 -03:00
Bruno Oliveira
c000955dde
Remove incorrect docs about confcutdir being a config option
...
Fix #9210
2021-10-18 19:20:27 -03:00
dependabot[bot]
080fc81971
build(deps): Bump pytest-asyncio from 0.15.1 to 0.16.0 in /testing/plugins_integration ( #9212 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-18 19:16:55 -03:00
dependabot[bot]
73fb797bbd
build(deps): Bump anyio[curio,trio] from 3.3.3 to 3.3.4 in /testing/plugins_integration ( #9211 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-18 19:16:16 -03:00
Cristian Vera
cbcfeca78c
Cache.set preserves key order when saving dicts ( #9206 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-10-18 19:15:34 -03:00
pytest bot
3cc0c451e7
[automated] Update plugin list
2021-10-17 00:11:56 +00:00
Ran Benita
0696d3eda1
Merge pull request #9207 from bluetech/rm-py-pre
...
Remove some `py` uses
2021-10-16 22:26:45 +03:00
Ran Benita
a3b69d9d83
Remove py version printing, traceback filtering, freezing
...
Not so important anymore, and makes it easier to remove the py
dependency.
2021-10-16 12:01:31 +03:00
Ran Benita
bc2f20722c
testing: remove a few redundant py references
2021-10-16 11:58:35 +03:00
Bruno Oliveira
5fc7b21391
Use xelatex engine for better Unicode support ( #9197 )
2021-10-12 10:12:15 -03:00
pre-commit-ci[bot]
d7752b4d1e
[pre-commit.ci] pre-commit autoupdate ( #9191 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-11 20:09:25 +00:00
dependabot[bot]
110d70ec88
build(deps): bump django from 3.2.7 to 3.2.8 in /testing/plugins_integration ( #9190 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-10-11 12:44:28 +00:00
James Myatt
ccd3874d7a
Recommend not integrating with setuptools ( #9185 )
2021-10-11 15:28:27 +03:00
dependabot[bot]
d0cc45d723
build(deps): bump anyio[curio,trio] from 3.3.2 to 3.3.3 in /testing/plugins_integration ( #9189 )
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.3.2...3.3.3 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-11 09:25:51 -03:00
Ran Benita
da3b3012b1
Merge pull request #9184 from bluetech/reportinfo-pathlike
...
[7.0] Change `Node.reportinfo()` return value from `py.path` to `str|os.PathLike[str]`
2021-10-11 14:33:03 +03:00
github-actions[bot]
4b417ac38e
[automated] Update plugin list ( #9186 )
...
Co-authored-by: pytest bot <pytestbot@users.noreply.github.com >
2021-10-10 12:00:43 -03:00
Ran Benita
14a879b6d1
Merge pull request #9183 from bluetech/rm-redundent-osfspath
...
Remove redundant explicit os.fspath calls
2021-10-09 19:14:55 +03:00
Bernát Gábor
3407fe63e2
Support the importlib.resources files API in rewritten files ( #9173 )
2021-10-09 10:54:44 -03:00
Ran Benita
7eee5c1634
Change Node.reportinfo() return value from py.path to str|os.PathLike[str]
...
`reportinfo()` is the last remaining py.path-only code path in pytest,
i.e. the last piece holding back py.path deprecation. The problem with
it is that plugins/users use it from both sides -- implementing it
(returning the value) and using it (using the return value). Dealing
with implementers is easy enough -- allow to return `os.PathLike[str]`.
But for callers who expect strictly `py.path` this will break and
there's not really a good way to provide backward compat for this.
From analyzing a corpus of 680 pytest plugins, the vast majority of
`reportinfo` appearances are implementations, and the few callers don't
actually access the path part of the return tuple.
As for test suites that might access `reportinfo` (e.g. using
`request.node.reportinfo()` or other ways), that is much harder to
survey, but from the ones I searched, I only found case
(`pytest_teamcity`, but even then it uses `str(fspath)` so is unlikely
to be affected in practice). They are better served with using
`node.location` or `node.path` directly.
Therefore, just break it and change the return type to
`str|os.PathLike[str]`.
Refs #7259 .
2021-10-09 15:02:03 +03:00
Ran Benita
5059b31a73
Remove redundant explicit os.fspath calls
...
Python calls it on its own.
2021-10-09 13:44:44 +03:00
Jeff Rasley
e84ba80301
Update pastebin URL from bpaste to bpa.st ( #9131 )
2021-10-06 08:12:48 -03:00
Ran Benita
e077f1cbd5
Merge pull request #9168 from bluetech/node-keywords-dups
...
mark/structures: fix NodeKeywords.{__iter__,__len__} given duplicates
2021-10-06 12:01:05 +03:00
Ran Benita
cf4495ffe1
mark/structures: fix NodeKeywords.{__iter__,__len__} given duplicates
...
Regressed in c4b9b14a4 -- the `set` stuff had a reason which I had
missed.
2021-10-06 11:24:28 +03:00
Ran Benita
c9267af3bf
Merge pull request #9166 from bluetech/optimize-imply-path
...
nodes: micro-optimize _imply_path
2021-10-06 10:50:10 +03:00
Ran Benita
076ac901bb
nodes: micro-optimize _imply_path
2021-10-06 10:29:52 +03:00
Bruno Oliveira
14b79a66a3
Merge pull request #9025 from davidszotten/more_verbose_for_ci
2021-10-05 16:52:47 -03:00
Bruno Oliveira
9546fb713a
Merge pull request #9066 from eamanu/fix-8994
2021-10-05 16:52:08 -03:00
Bruno Oliveira
fb52fc5163
Merge pull request #9070 from andrewdotn/main
2021-10-05 16:51:58 -03:00
Bruno Oliveira
459e10b802
Merge pull request #9133 from okken/9113_deselected_assert_outcomes
2021-10-05 16:50:42 -03:00
Ran Benita
d0bdc26490
Merge pull request #9164 from bluetech/optimize-keywords
...
mark/structures: micro-optimize item.keywords/NodeKeywords
2021-10-05 20:03:42 +03:00
Ran Benita
c4b9b14a44
mark/structures: micro-optimize item.keywords/NodeKeywords
2021-10-05 16:50:22 +03:00
Ran Benita
54811b24e2
Merge pull request #9163 from bluetech/rewrite-end-lineno
...
rewrite: fixup end_lineno, end_col_offset of rewritten asserts
2021-10-05 16:46:29 +03:00
Ran Benita
6a5211f369
rewrite: fixup end_lineno, end_col_offset of rewritten asserts
...
These are new additions in Python 3.8:
https://docs.python.org/3/whatsnew/3.8.html#ast
I'm not sure what's using them but we should set them anyway.
2021-10-05 10:51:09 +03:00
Brian Okken
c82bda259c
Add a pythonpath setting to allow paths to be added to sys.path. ( #9134 )
2021-10-05 09:36:38 +03:00
Bruno Oliveira
05a97375fd
Merge pull request #9162 from pytest-dev/pre-commit-ci-update-config
2021-10-04 18:55:29 -03:00
Zac Hatfield-Dodds
e763fde482
Merge pull request #9158 from hoefling/doc/internal-crossrefs
...
replace hardcoded urls to docs.pytest.org with internal crossrefs, add crossrefs to numpy docs, use sphinx pep role
2021-10-05 08:43:19 +11:00
pre-commit-ci[bot]
1a8b4343ff
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.28.0 → v2.29.0](https://github.com/asottile/pyupgrade/compare/v2.28.0...v2.29.0 )
2021-10-04 19:49:14 +00:00
Ran Benita
483f239d01
Merge pull request #9161 from bluetech/attrs-auto
...
Use attr.s(auto_attribs=True) in more places
2021-10-04 21:59:52 +03:00
oleg.hoefling
3926526c95
revert changes in doc/en/announce
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-10-04 20:06:13 +02:00
Ronny Pfannschmidt
028eb6fab6
Merge pull request #9115 from RonnyPfannschmidt/fix-regendoc
...
fix #8818 - run regendoc without tox cachedir
2021-10-04 19:11:45 +02:00
Ran Benita
e5468681b0
Use attr.s(auto_attribs=True) in more places
...
It's nicer to read without the attr.ib noise.
2021-10-04 19:24:12 +03:00
Ran Benita
dced00e60f
Merge pull request #9154 from bluetech/refactor-callspec2
...
python: refactor CallSpec2
2021-10-04 18:56:29 +03:00
Ran Benita
570b1facb7
python: refactor CallSpec2
...
This type is semi-private; not documented but many plugins access it
through `item.callspec`. However, plugins access the public fields and
almost none try to construct or monkeypatch it. So we should be allowed
to clean it up some.
- Convert to attrs, add slots and frozen
- Instead of doing `new = old.copy(); new.setmulti2()`, do `new =
old.setmulti()`. This is cleaner and faster.
- Remove the `metafunc` attribute. This causes a reference cycle
(multifunc._calls -> callspec -> multifunc) for no good reason --
neither pytest itself or plugins access this attribute, so let's not
keep the Metafunc objects alive past their due.
- Some comments.
I would have also like to make the dicts and lists themselves immutable,
however some plugins mess with those so that should be done separately,
if at all.
2021-10-04 17:33:52 +03:00
Bruno Oliveira
c4557c3192
Merge pull request #9150 from nicoddemus/issue-9141-fixture-docs
2021-10-04 09:48:19 -03:00
Ran Benita
8a58b0c892
Merge pull request #9155 from pytest-dev/update-plugin-list/patch-0fbfd1ca3
...
[automated] Update plugin list
2021-10-04 10:46:16 +03:00
Ran Benita
73634ffb49
Merge pull request #9160 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-cov-3.0.0
...
build(deps): bump pytest-cov from 2.12.1 to 3.0.0 in /testing/plugins_integration
2021-10-04 10:45:21 +03:00
Ronny Pfannschmidt
c21ef7ba22
fix #8818 - run regendoc without tox cachedir
...
#4270 introduced per tox env pytest cachedirs and
never protected regendoc against it
2021-10-04 08:56:26 +02:00
dependabot[bot]
c061412a8b
build(deps): bump pytest-cov in /testing/plugins_integration
...
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov ) from 2.12.1 to 3.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases )
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.12.1...v3.0.0 )
---
updated-dependencies:
- dependency-name: pytest-cov
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-10-04 03:01:33 +00:00
oleg.hoefling
d58ee2b677
replace hardcoded urls to docs.pytest.org with internal crossrefs, add external crossrefs where possible
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-10-04 00:23:41 +02:00
Ronny Pfannschmidt
35d8c1398c
Merge pull request #8134 from RonnyPfannschmidt/setuptools_scm_5
...
fixes #8133 : migrate to setuptools_scm 6.x
2021-10-03 20:46:00 +02:00
pytest bot
618ee0f268
[automated] Update plugin list
2021-10-03 00:11:19 +00:00
Ronny Pfannschmidt
0892c77bc6
fixes #8133 : mitigate regendoc issues wrt PRETEND_VERSION
...
this issues is less likely to hit due to the recent regendoc release
which includes a wheel
* migrate to setuptools_scm 6.3.2
* use SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST
2021-10-02 20:22:18 +02:00
Ran Benita
0fbfd1ca36
Merge pull request #9152 from bluetech/mark-optimize
...
mark/structures: slightly optimize some functions
2021-10-02 15:57:57 +03:00
Ran Benita
2cfce8d8c4
Merge pull request #9153 from bluetech/coverage-assert-never
...
coverage: add assert_never to exclude_lines
2021-10-02 15:56:24 +03:00
Ran Benita
1d0261e5cb
coverage: add assert_never to exclude_lines
...
These are assertions that should never trigger.
2021-10-02 14:26:04 +03:00
Ran Benita
637e8efdd4
mark/structures: slightly optimize some functions
...
`normalize_mark_list` shows up in pandas collection profiles. It's
simple enough to improve.
2021-10-02 14:06:52 +03:00
Bruno Oliveira
ac3614b999
Add note about fixture teardown and SIGTERM and SIGQUIT signals
...
Close #9141
2021-10-01 16:12:03 -03:00
Ran Benita
f65dfc39f3
Merge pull request #9123 from pytest-dev/update-plugin-list/patch-112204cf8
...
[automated] Update plugin list
2021-10-01 16:31:59 +03:00
Ran Benita
8af558723e
main: avoid Path(Path(...)) calls, they're slow ( #9147 )
2021-10-01 16:21:32 +03:00
Ran Benita
5fc3e35afb
Merge pull request #9144 from bluetech/py36_order_by_definition
...
py36+ tests are definition ordered [v2]
2021-10-01 16:17:37 +03:00
Ran Benita
d8831c64eb
Merge pull request #9148 from bluetech/lru-cache-method
...
Avoid `@lru_cache` on methods
2021-10-01 16:16:51 +03:00
Ran Benita
3a6eaa9c1c
Merge pull request #9145 from bluetech/compat-pattern
...
compat: replace REGEX_TYPE with typing.Pattern
2021-10-01 16:16:28 +03:00
Ran Benita
c86ceb4d01
main: avoid Path(Path(...)) calls, they're slow
2021-10-01 15:30:03 +03:00
Ran Benita
16e5fbe371
config: optimize PytestPluginManager._getconftestmodules
...
Now that it's no longer using `@lru_cache`, use another check to avoid
re-computation. Although `@lru_cache` is faster than the full function
call + checks, this approach also has the advantage that the caching
works for more than 128 entries.
2021-10-01 15:25:28 +03:00
Ran Benita
614f5394b5
Avoid @lru_cache on methods
...
The problem with `@lru_cache` on methods is that it also captures `self`
and leaks it until the entry is evicted (if ever).
2021-10-01 14:41:14 +03:00
Ran Benita
1f938e3ef5
compat: replace REGEX_TYPE with typing.Pattern
...
Since Python 3.7, there is `re.Pattern` for this, but since we need to
support Python 3.6, can use `typing.Pattern` which works as well.
2021-10-01 14:00:15 +03:00
Ran Benita
631c8b4df2
Merge pull request #9143 from bluetech/docs-stash-typo
...
Fix syntax typo in writing_hook_functions.rst
2021-10-01 11:38:15 +03:00
Ran Benita
4b13b5993e
Fix syntax typo in writing_hook_functions.rst
2021-10-01 10:26:56 +03:00
Brian Okken
6d6cfd839a
Add a deselected parameter to assert_outcomes()
2021-09-29 07:22:53 -07:00
Bruno Oliveira
7720154ca0
Merge pull request #9129 from nicoddemus/fix-linting-main
...
Fix formatting
2021-09-27 23:46:18 -03:00
Bruno Oliveira
7f5e49e70b
Fix formatting
2021-09-27 22:51:08 -03:00
Bruno Oliveira
dd6d4b2fe0
Merge pull request #9128 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-09-27 20:37:57 -03:00
pre-commit-ci[bot]
56fda99fa1
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-09-27 19:47:18 +00:00
pre-commit-ci[bot]
70858ac266
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.26.0 → v2.28.0](https://github.com/asottile/pyupgrade/compare/v2.26.0...v2.28.0 )
2021-09-27 19:44:12 +00:00
Bruno Oliveira
e3efbd4b39
Merge pull request #9127 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-rerunfailures-10.2
...
build(deps): bump pytest-rerunfailures from 10.1 to 10.2 in /testing/plugins_integration
2021-09-27 08:13:15 -03:00
Bruno Oliveira
bbd5d55e98
Merge pull request #9126 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.3.2
...
build(deps): bump anyio[curio,trio] from 3.3.1 to 3.3.2 in /testing/plugins_integration
2021-09-27 08:12:57 -03:00
dependabot[bot]
222fdd4a58
build(deps): bump pytest-rerunfailures in /testing/plugins_integration
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 10.1 to 10.2.
- [Release notes](https://github.com/pytest-dev/pytest-rerunfailures/releases )
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-rerunfailures/compare/10.1...10.2 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-27 03:02:31 +00:00
dependabot[bot]
442abeafd0
build(deps): bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.3.1...3.3.2 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-27 03:02:27 +00:00
pytest bot
4a016db7b4
[automated] Update plugin list
2021-09-26 00:11:24 +00:00
Florian Bruhin
112204cf8d
Fix non-sensical error message ( #9077 )
...
* Fix non-sensical error message
Introduced in 12de92cd2b / #7698
* Add a test
* Put the unit back into unittest
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-09-24 06:15:53 +02:00
Ran Benita
037d2903be
Merge pull request #9112 from bluetech/plugin-list-escape
...
scripts/update-plugin-list: escape summary for special RST chars
2021-09-22 17:00:07 +03:00
pre-commit-ci[bot]
24b347507a
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-09-22 13:41:33 +00:00
Ran Benita
4ae4bec968
scripts/update-plugin-list: escape summary for special RST chars
...
A new plugin has this summary:
Continiously runs pytest on changes in *.py files
The `*` is interpreted as a special character and fails the CI.
Add some rudimentary escaping to hopefully prevent this.
2021-09-22 16:39:15 +03:00
Bruno Oliveira
bec42f7b0b
Merge pull request #9092 from nicoddemus/cleanup-projects-page
2021-09-22 10:28:45 -03:00
Ran Benita
3f404418bf
Merge pull request #9088 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.3.1
...
build(deps): bump anyio[curio,trio] from 3.3.0 to 3.3.1 in /testing/plugins_integration
2021-09-22 15:56:28 +03:00
Ran Benita
cf5b7a0958
Merge pull request #9103 from pytest-dev/update-plugin-list/patch-60e995d90
...
[automated] Update plugin list
2021-09-22 15:55:49 +03:00
Bruno Oliveira
f50652a5d2
Merge pull request #9111 from ziebam/iss4320-better-docs-for-testdir-copy-example
2021-09-22 07:51:42 -03:00
ziebam
70a3c965ea
Add myself to AUTHORS file
2021-09-22 00:23:13 +02:00
ziebam
6ea762c46c
Add a changelog entry
2021-09-22 00:22:37 +02:00
ziebam
520aa61e19
Improve docs for pytester.copy_example
2021-09-22 00:16:52 +02:00
Bruno Oliveira
fe44409cf6
Merge pull request #9107 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-09-20 21:28:03 -03:00
pre-commit-ci[bot]
43c0687a77
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.8b0 → 21.9b0](https://github.com/psf/black/compare/21.8b0...21.9b0 )
2021-09-20 20:00:19 +00:00
pytest bot
86fc02bfcb
[automated] Update plugin list
2021-09-19 00:10:14 +00:00
Bruno Oliveira
c761c45cf9
Remove obsolete projects page from docs
...
The projects page unfortunately contains a lot of old projects, and some information there appears to be stale.
It was created at a time pytest was starting to be used, but seems pointless now as pytest is the most popular testing framework, so listing a few dozen projects which use it seems pointless.
Rather than updating it, I think we should remove it because this has the chance to become stale again soon, and not sure how valuable it is anyway.
2021-09-14 08:04:49 -03:00
Bruno Oliveira
60e995d902
Merge pull request #9091 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-09-13 18:48:26 -03:00
pre-commit-ci[bot]
3867b681cd
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.25.0 → v2.26.0](https://github.com/asottile/pyupgrade/compare/v2.25.0...v2.26.0 )
2021-09-13 19:40:27 +00:00
dependabot[bot]
87bbbaa0dc
build(deps): bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.3.0...3.3.1 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-13 03:01:43 +00:00
Simon K
0e7bb34081
adding contact and badge for pytest-dev discord server ( #9078 )
...
* adding badges/docs for pytest-dev discord and pytest libera web chat
2021-09-12 18:22:44 +01:00
Bruno Oliveira
4e916ce347
Merge pull request #9086 from pytest-dev/update-plugin-list/patch-581b021aa
...
[automated] Update plugin list
2021-09-11 22:46:19 -03:00
pytest bot
0407c62121
[automated] Update plugin list
2021-09-12 00:11:27 +00:00
Bruno Oliveira
581b021aa2
Merge pull request #9084 from The-Compiler/remove-workshoptage
...
Remove finished open training
2021-09-10 08:26:21 -03:00
Florian Bruhin
1c1dcf27c8
Remove finished open training
2021-09-09 22:29:34 +02:00
Zac Hatfield-Dodds
8900e3b937
Merge pull request #9041 from hoefling/doc/stdlib-crossrefs
2021-09-07 21:22:24 +10:00
Bruno Oliveira
4274af1c28
Merge pull request #9076 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.2.7
...
build(deps): bump django from 3.2.5 to 3.2.7 in /testing/plugins_integration
2021-09-06 11:13:20 -03:00
Bruno Oliveira
9d0829f150
Merge pull request #9075 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-twisted-1.13.4
...
build(deps): bump pytest-twisted from 1.13.3 to 1.13.4 in /testing/plugins_integration
2021-09-06 11:13:00 -03:00
dependabot[bot]
ba14a81c7f
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.2.5 to 3.2.7.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.2.5...3.2.7 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-06 03:01:53 +00:00
dependabot[bot]
af09415cd1
build(deps): bump pytest-twisted in /testing/plugins_integration
...
Bumps [pytest-twisted](https://github.com/pytest-dev/pytest-twisted ) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/pytest-dev/pytest-twisted/releases )
- [Commits](https://github.com/pytest-dev/pytest-twisted/compare/v1.13.3...v1.13.4 )
---
updated-dependencies:
- dependency-name: pytest-twisted
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-06 03:01:49 +00:00
Bruno Oliveira
01d046ecb3
Merge pull request #9073 from pytest-dev/update-plugin-list/patch-20863c3a0
...
[automated] Update plugin list
2021-09-05 12:32:19 -03:00
pytest bot
1f00461e57
[automated] Update plugin list
2021-09-05 00:09:51 +00:00
Andrew Neitsch
a9edfdf9db
Run black on conf.py
2021-09-02 20:42:29 -06:00
Andrew Neitsch
b46d5f4657
Only use inkscapeconverter if inkscape installed
2021-09-02 20:40:17 -06:00
Andrew Neitsch
e929d15848
Include figures in PDF docs
...
The PDF documentation on readthedocs was missing the figures in the
fixtures reference chapter. This PR uses a Sphinx plugin that
automatically converts the checked-in SVG files to the PDF input files
that LaTeX requires.
The SVG-to-PDF conversion is done by inkscape, which gave the best
conversion among the tools I tried. However, it [does not yet
understand][href-bug] that you can write a plain `href` instead of
`xlink:href` in svg files, so I’ve had to edit the SVG files
accordingly.
[href-bug]: https://github.com/TeX-Live/luatex.git
2021-09-02 17:40:41 -06:00
Emmanuel Arias
dc9192c8eb
add changelog file
2021-09-02 00:14:19 -03:00
Emmanuel Arias
59d314de3d
Show fullname on direct Node construction warning
...
This commit add the fullname on the Node construction warning.
Also add a test for this case.
2021-09-01 16:13:26 -03:00
Bruno Oliveira
20863c3a0c
Merge pull request #9065 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-08-30 16:49:04 -03:00
pre-commit-ci[bot]
7bcdcc0239
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.7b0 → 21.8b0](https://github.com/psf/black/compare/21.7b0...21.8b0 )
- [github.com/asottile/blacken-docs: v1.10.0 → v1.11.0](https://github.com/asottile/blacken-docs/compare/v1.10.0...v1.11.0 )
- [github.com/asottile/pyupgrade: v2.24.0 → v2.25.0](https://github.com/asottile/pyupgrade/compare/v2.24.0...v2.25.0 )
2021-08-30 19:25:44 +00:00
Simon K
740abd9684
#9062 - Allow --stepwise-skip to implicitly enable --stepwise ( #9064 )
...
* #9062 - Allow `--stepwise-skip` to implicitly enable `--stepwise`
* Update changelog/9062.improvement.rst
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-08-30 19:24:14 +01:00
Kale Kundert
af42e7154a
Prevent approx from being used without a comparison ( #9061 )
...
Some of the top search-engine hits for pytest.approx use the function without actually comparing it to anything.
This PR will cause these tests to fail by implementing approx.__bool__() to raise an AssertionError that briefly explains how to correctly use approx.
2021-08-30 18:19:31 +00:00
Bruno Oliveira
771c4b9313
Merge pull request #9063 from nicoddemus/cherry-pick-release
...
Merge pull request #9057 from pytest-dev/release-6.2.5
2021-08-30 15:13:58 -03:00
Bruno Oliveira
ea5ff44ef3
Merge pull request #9057 from pytest-dev/release-6.2.5
...
(cherry picked from commit 16664a1b72 )
2021-08-30 14:44:49 -03:00
Bruno Oliveira
014fa61e0d
Merge pull request #9053 from nicoddemus/change-8494-to-trivial
2021-08-29 10:52:01 -03:00
Bruno Oliveira
d023e6344a
Merge pull request #9055 from pytest-dev/update-plugin-list/patch-398783521
...
[automated] Update plugin list
2021-08-29 00:35:42 -03:00
pytest bot
544ecce677
[automated] Update plugin list
2021-08-29 00:09:53 +00:00
Bruno Oliveira
14709f33af
As discussed in Discord, move 3.10 changelog to trivial
...
This was backported to `6.2.x`, but we agreed this should
actually a trivial change and go into `6.2.5`, instead of a new `6.3.0`.
2021-08-28 11:59:53 -03:00
Bruno Oliveira
3987835213
Merge pull request #9049 from nicoddemus/prerelease-option
...
Fix prepare-release-pr invocation with empty --prerelease argument
2021-08-27 14:47:58 -03:00
Bruno Oliveira
675f8da3a1
Fix prepare-release-pr invocation with empty --prerelease argument
2021-08-27 14:46:28 -03:00
Bruno Oliveira
3c0510894b
Merge pull request #9048 from nicoddemus/prerelease-option
...
'prerelease' input is not required in prepare-release-pr workflow
2021-08-27 14:40:11 -03:00
Bruno Oliveira
9501e54852
'prerelease' input is not required in prepare-release-pr workflow
...
The default is the correct value when generating a normal release.
2021-08-27 14:26:30 -03:00
Bruno Oliveira
b6aba1d58d
Merge pull request #9047 from nicoddemus/changelog-9040
...
Add changelog for #9040 (pluggy 1.0)
2021-08-27 14:23:49 -03:00
Bruno Oliveira
44ba2fa372
Add changelog for #9040 (pluggy 1.0)
2021-08-27 14:09:21 -03:00
oleg.hoefling
d1aea7d7a8
use intersphinx crossrefs to stdlib docs where possible instead of hardcoded URLs
...
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com >
2021-08-26 16:05:03 +02:00
Bruno Oliveira
41dc9bbc44
Merge pull request #9040 from nicoddemus/bump-pluggy
2021-08-26 10:14:27 -03:00
Bruno Oliveira
109bc2649d
Adapt docs references to use pluggy 1.0
...
Also use the intersphinx reference instead of the class directly.
2021-08-26 09:52:05 -03:00
Bruno Oliveira
fbba504cd5
Allow pluggy >=1.0
...
Now that pluggy 1.0 has been released, we can allow pluggy 1.0 with new pytest versions.
2021-08-26 09:26:51 -03:00
Bruno Oliveira
1a2306cec6
Merge pull request #9033 from kulikjak/fix-cwd-removal-Solaris
...
Fix cwd removal on Solaris
2021-08-24 10:39:37 -03:00
Bruno Oliveira
78d21dc836
Merge pull request #9034 from williamjamir/williamjamir-patch-1
...
Fix typo in fixture.rst
2021-08-24 10:38:50 -03:00
William Jamir Silva
696bf96c83
Fix typo in fixture.rst
2021-08-24 09:32:40 -03:00
Bruno Oliveira
59189ebeb5
Merge pull request #9029 from pytest-dev/update-plugin-list/patch-83b609d7f
...
[automated] Update plugin list
2021-08-24 08:04:29 -03:00
Jakub Kulík
e146aaa2e2
Fix cwd removal on Solaris
2021-08-24 12:11:06 +02:00
Anthony Sottile
ebe5e451d1
Merge pull request #9031 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-08-23 15:27:47 -04:00
pre-commit-ci[bot]
e8aa395346
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.23.3 → v2.24.0](https://github.com/asottile/pyupgrade/compare/v2.23.3...v2.24.0 )
2021-08-23 18:58:43 +00:00
pytest bot
1b130d4404
[automated] Update plugin list
2021-08-22 00:09:13 +00:00
Bruno Oliveira
83b609d7f7
Merge pull request #9028 from Exifers/patch-1
...
Fix typo in documentation
2021-08-21 11:49:11 -03:00
Emmanuel Meric de Bellefon
ec2099e057
Update index.rst
2021-08-21 11:11:37 +02:00
David Szotten
d5c020d8c5
always show full diff in ci
...
follow-up to #1314 , for similar reasons
closes #9023
2021-08-19 20:17:43 +01:00
Florian Bruhin
c9870480e0
doc: Update trainings ( #9022 )
2021-08-19 18:40:19 +02:00
David Szotten
2367e6e9bf
refactor ci helper to prepare for re-use
2021-08-19 11:24:51 +00:00
Bruno Oliveira
16077f2a65
Merge pull request #9017 from hugovk/update-deprecated-unittest-aliases
2021-08-18 08:11:50 -03:00
Hugo van Kemenade
5ec89fd6e5
Docs: refer to non-deprecated unittest alias
2021-08-18 12:43:59 +03:00
Anthony Sottile
720b91df2e
Merge pull request #8995 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-08-17 14:36:42 -04:00
Bruno Oliveira
0f79fc6dbb
Merge pull request #8752 from azmeuk/issue-7132-syntax-highlight-themes
2021-08-15 09:06:41 -03:00
Bruno Oliveira
36ed2f7d90
Merge pull request #9006 from pytest-dev/update-plugin-list/patch-243972941
...
[automated] Update plugin list
2021-08-15 09:04:32 -03:00
pytest bot
1cbb67f71b
[automated] Update plugin list
2021-08-15 00:09:52 +00:00
Éloi Rivard
7770dacb8d
pygments themes are customizable
2021-08-13 19:15:01 +02:00
pre-commit-ci[bot]
108f1d7e5e
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.23.1 → v2.23.3](https://github.com/asottile/pyupgrade/compare/v2.23.1...v2.23.3 )
2021-08-09 18:53:50 +00:00
Terje Runde
2439729413
logging: Make it possible to add cli colors to custom log levels
...
Closes #8803
PR #8804
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Terje Runde <terje.runde@flir.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-08-09 13:48:47 +00:00
Ran Benita
df033f3ab1
Merge pull request #8987 from bluetech/k-backslash
...
mark/expression: allow backslash characters in identifiers
2021-08-08 17:15:53 +03:00
Ran Benita
25c65616f4
mark/expression: allow backslash characters in identifiers
...
Fixes #8983 .
2021-08-08 11:56:17 +03:00
Bruno Oliveira
a446ee81fd
Merge pull request #8985 from pytest-dev/update-plugin-list/patch-bacc8498e
...
[automated] Update plugin list
2021-08-08 01:43:27 -03:00
pytest bot
4d2944e1d4
[automated] Update plugin list
2021-08-08 00:10:10 +00:00
Simon K
bacc8498e9
pytest_assertion_pass is no longer considered experimental (#8967 )
...
* `pytest_assertion_pass` is no longer considered `experimental`
* adding changelog
2021-08-03 14:31:18 +01:00
Bruno Oliveira
599e3dfdb6
Merge pull request #8970 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-08-02 21:06:34 -03:00
pre-commit-ci[bot]
b33c81b57f
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.23.0 → v2.23.1](https://github.com/asottile/pyupgrade/compare/v2.23.0...v2.23.1 )
2021-08-02 18:53:11 +00:00
Bruno Oliveira
bacb8a4a56
Merge pull request #8968 from pytest-dev/dependabot/pip/testing/plugins_integration/twisted-21.7.0
2021-08-02 10:19:40 -03:00
dependabot[bot]
c22bf3ff3e
build(deps): bump twisted in /testing/plugins_integration
...
Bumps [twisted](https://github.com/twisted/twisted ) from 21.2.0 to 21.7.0.
- [Release notes](https://github.com/twisted/twisted/releases )
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst )
- [Commits](https://github.com/twisted/twisted/compare/twisted-21.2.0...twisted-21.7.0 )
---
updated-dependencies:
- dependency-name: twisted
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-08-02 03:01:59 +00:00
Bruno Oliveira
e7916c4f4e
[automated] Update plugin list ( #8965 )
...
Co-authored-by: pytest bot <pytestbot@users.noreply.github.com >
2021-08-01 15:06:40 -03:00
Bruno Oliveira
a83b359cf0
Refactor internal scope handling by introducing Scope enum
...
PR #8913
2021-08-01 06:11:56 -03:00
pytest bot
fed18fb76d
[automated] Update plugin list
2021-08-01 00:10:10 +00:00
Simon K
ef5d81ad5c
add assert_outcomes(warnings=) functionality to RunResult
...
* expose `warnings=` to pytester `assert_outcomes()`
* fix test fallout from adding warnings= to assert_outcomes()
* #closes 8593 - Improve test and add a `changelog` entry for the change
2021-07-31 15:25:10 +01:00
Simon K
c27db3bd8e
Deprecate pytest_cmdline_preparse
...
Close #8592
PR #8956
2021-07-31 10:53:43 -03:00
Bruno Oliveira
0fd0e2a27c
Merge pull request #8963 from symonk/mypy-pathlike-runtime-checkable-fix
...
typeshed `os.PathLike` is now `@runtime_checkable`, remove mypy ignore
2021-07-31 10:27:58 -03:00
Emmanuel Arias
2834b39b65
Add examples of parametrizing classes and all tests in a module
...
Closes #8947
PR #8962
2021-07-31 13:26:25 +00:00
symonk
1b9ba65b3f
typeshed os.PathLike is now @runtime_checkable, remove mypy ignore
2021-07-31 14:00:36 +01:00
Ran Benita
6247a95601
Merge pull request #8920 from bluetech/stabilize-store
...
Rename Store to Stash and make it public
2021-07-31 10:32:30 +03:00
Bruno Oliveira
60d9891474
Fix small typo in pluggy writing hook functions docs ( #8961 )
...
Fix small typo in pluggy writing hook functions docs
2021-07-30 22:27:01 -03:00
symonk
a9a934e8ce
fix minor typo in writing hook functions documentation
2021-07-31 01:49:53 +01:00
Simon K
d5c62d0326
Making --debug more configurable for the pytest user ( #8955 )
...
Close #8954
2021-07-30 17:37:38 -03:00
Simon K
6d6bc97231
#7124 : Fix --doctest-modules crashing when __main__.py is present ( #8949 )
...
* Fix ``--doctest-modules`` crashing when ``__main__.py`` is present
2021-07-27 22:50:26 +01:00
Bruno Oliveira
6a1ba80ab7
Merge pull request #8946 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-07-27 07:57:03 -03:00
Bruno Oliveira
df6d3b7dde
Fix Dead link in README for 'assert statements' ( #8945 )
...
Closes : #8926
2021-07-27 07:56:19 -03:00
pre-commit-ci[bot]
237bdba061
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/reorder_python_imports: v2.5.0 → v2.6.0](https://github.com/asottile/reorder_python_imports/compare/v2.5.0...v2.6.0 )
- [github.com/asottile/pyupgrade: v2.21.2 → v2.23.0](https://github.com/asottile/pyupgrade/compare/v2.21.2...v2.23.0 )
2021-07-26 18:05:01 +00:00
Emmanuel Arias
15989ddc8f
Fix Dead link in README for 'assert statements'
...
Closes : #8926
2021-07-26 12:14:52 -03:00
Simon K
1d848314d0
some small quality of life changes ( #8454 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-07-26 07:48:15 -03:00
Bruno Oliveira
90b70a7efe
Merge pull request #8942 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-twisted-1.13.3
...
build(deps): bump pytest-twisted from 1.13.2 to 1.13.3 in /testing/plugins_integration
2021-07-26 06:58:02 -03:00
Bruno Oliveira
4cc2781ad8
Merge pull request #8943 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.3.0
...
build(deps): bump anyio[curio,trio] from 3.2.1 to 3.3.0 in /testing/plugins_integration
2021-07-26 06:57:51 -03:00
dependabot[bot]
b35a3de006
build(deps): bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.2.1...3.3.0 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-26 03:01:29 +00:00
dependabot[bot]
de8ad53963
build(deps): bump pytest-twisted in /testing/plugins_integration
...
Bumps [pytest-twisted](https://github.com/pytest-dev/pytest-twisted ) from 1.13.2 to 1.13.3.
- [Release notes](https://github.com/pytest-dev/pytest-twisted/releases )
- [Commits](https://github.com/pytest-dev/pytest-twisted/compare/v1.13.2...v1.13.3 )
---
updated-dependencies:
- dependency-name: pytest-twisted
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-26 03:01:26 +00:00
Ran Benita
9c9d79890d
Merge pull request #8941 from pytest-dev/update-plugin-list/patch-305e15df9
...
[automated] Update plugin list
2021-07-25 12:28:03 +03:00
pytest bot
8b5b3575a0
[automated] Update plugin list
2021-07-25 00:08:36 +00:00
Ran Benita
2aaea20cb2
Use {node,config}.stash instead of ._store
...
Use the public name. The `_store` name is only because some plugins
started using it anyway - will be removed at some point.
2021-07-24 17:40:08 +03:00
Ran Benita
c6bdeb8491
stash: make Stash and StashKey public
...
It's had enough time to bake - let's allow external plugins to use it.
2021-07-24 17:40:08 +03:00
Ran Benita
305e15df97
Merge pull request #8937 from nicoddemus/port-8932
...
contact.rst: Added github discussions
2021-07-24 11:32:07 +03:00
Bruno Oliveira
5e39f43e7c
contact.rst: Added github discussions
...
Ported from #8932
2021-07-23 09:40:11 -03:00
Ronny Pfannschmidt
bd09b79236
Merge pull request #8922 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-07-20 10:42:38 +02:00
pre-commit-ci[bot]
53357f464c
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.6b0 → 21.7b0](https://github.com/psf/black/compare/21.6b0...21.7b0 )
- [github.com/asottile/pyupgrade: v2.21.0 → v2.21.2](https://github.com/asottile/pyupgrade/compare/v2.21.0...v2.21.2 )
2021-07-19 22:13:39 +00:00
Ran Benita
7ff07ff3e1
Merge pull request #8919 from pytest-dev/update-plugin-list/patch-940c6e233
...
[automated] Update plugin list
2021-07-18 16:13:14 +03:00
Ran Benita
5f39e31736
stash: implement __len__
...
Part of the MutableMapping abc (though we can't actually implement
that).
2021-07-18 15:32:52 +03:00
Ran Benita
5470d33e82
store: rename Store to Stash
...
The name "stash" is a bit more distinguishable and more evocative of the
intended usage.
2021-07-18 15:21:27 +03:00
pytest bot
0a1f58a912
[automated] Update plugin list
2021-07-18 00:08:39 +00:00
Bruno Oliveira
940c6e2337
Merge pull request #8904 from nicoddemus/types-atomicwrites
...
Add types-atomicwrites to mypy's pre-commit configuration
2021-07-15 12:35:51 -03:00
Thomas Grainger
388691a205
rename tmpdir.rst to tmp_path.rst ( #8905 )
2021-07-14 12:53:27 -03:00
Naveen-Pratap
febb978651
Update error message for module level skip to include 'allow_module_level' ( #8906 )
...
Co-authored-by: Naveen <NaveenPr1@microland.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-07-14 14:27:26 +00:00
Bruno Oliveira
69356d20cf
Merge pull request #8903 from nicoddemus/remove-fspath-deprecation
...
Revert fspath deprecation
2021-07-14 09:32:48 -03:00
Bruno Oliveira
828fde1156
Merge pull request #8858 from The-Compiler/update-doc-urls
2021-07-14 09:28:46 -03:00
Bruno Oliveira
d71d31c1e0
Merge pull request #8812 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-07-13 08:31:32 -03:00
Bruno Oliveira
794f467647
Merge pull request #8854 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.2.5
2021-07-13 08:30:28 -03:00
Bruno Oliveira
913d0c2380
Merge pull request #8855 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-rerunfailures-10.1
...
build(deps): bump pytest-rerunfailures from 10.0 to 10.1 in /testing/plugins_integration
2021-07-13 08:30:13 -03:00
Bruno Oliveira
59b86cf328
Merge pull request #8856 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-bdd-4.1.0
...
build(deps): bump pytest-bdd from 4.0.2 to 4.1.0 in /testing/plugins_integration
2021-07-13 08:29:47 -03:00
Bruno Oliveira
b88ee5bc55
Add types-atomicwrites to mypy's pre-commit configuration
...
This is a Windows only dependency, so the problem only shows up when trying to commit on Windows.
2021-07-13 08:27:35 -03:00
Bruno Oliveira
2c4c57e135
Revert fspath deprecation
...
It is not clear yet how we should proceed with this deprecation
because `pytest.Item.reportinfo` is public API and returns a `py.path` object,
and is not clear how plugins and our examples should handle that.
Reverting just the deprecation aspect of #8251 so we can get a 7.0.0 release out.
We will reintroduce the deprecation later once we have a clear path moving forward with replacing `reportinfo`.
Closes #8445
Closes #8821
2021-07-13 08:24:39 -03:00
Ronny Pfannschmidt
d0bd269b87
Merge pull request #8899 from gsmecher/parameterize-complex-numbers
...
Generate useful parameterization IDs for complex() numbers.
2021-07-13 07:03:37 +02:00
pre-commit-ci[bot]
7d1efd5c3a
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.19.4 → v2.21.0](https://github.com/asottile/pyupgrade/compare/v2.19.4...v2.21.0 )
- [github.com/pre-commit/mirrors-mypy: v0.902 → v0.910](https://github.com/pre-commit/mirrors-mypy/compare/v0.902...v0.910 )
2021-07-12 23:27:47 +00:00
Bruno Oliveira
3c18a9ecd0
Rename 8898.trivial.rst to 8898.improvement.rst
2021-07-12 18:09:13 -03:00
Graeme Smecher
5c04674e96
Generate useful parameterization IDs for complex() numbers.
2021-07-12 12:27:24 -07:00
Miro Hrončok
5165bf97c6
Revert "Adjust enum reprs for Python 3.10" ( #8896 )
...
This reverts commit 710446420c .
The change was reverted in Python 3.10.0b4:
https://mail.python.org/archives/list/python-dev@python.org/message/LSTMFAPSPD3BGZ4D6HQFODXZVB3PLYKF/
2021-07-12 14:32:27 +00:00
Bruno Oliveira
4a6acea1e3
Merge pull request #8888 from pytest-dev/update-plugin-list/patch-5d8392cb6
...
[automated] Update plugin list
2021-07-12 10:16:40 -03:00
pytest bot
b6648219ec
[automated] Update plugin list
2021-07-11 00:08:26 +00:00
Anthony Sottile
5d8392cb68
Merge pull request #8874 from adamjstewart/monkeypatch/setenv
...
Docs: monkeypatch.setenv does not accept bool
2021-07-09 11:38:25 -04:00
Anthony Sottile
0182eb3743
Merge pull request #8881 from pytest-dev/asottile-patch-1
...
Remove upper pinning on tomli
2021-07-09 10:27:58 -04:00
Anthony Sottile
fa42be77a6
Remove upper pinning on tomli
...
the best practice is to only `<` when you know something is broken, and even then prefer `!=` assuming it will be fixed upstream for maximum compatibility
2021-07-09 10:09:05 -04:00
Bruno Oliveira
e86bf7fda0
Merge pull request #8857 from hukkin/tomli
...
Support TOML v1.0.0 syntax in `pyproject.toml`
2021-07-09 11:05:46 -03:00
Adam J. Stewart
17f1a0af8e
Fix in more places, use default
2021-07-08 12:43:10 -05:00
Adam J. Stewart
3989a9bb05
Docs: monkeypatch.setenv does not accept bool
2021-07-08 12:21:30 -05:00
Sören Wegener
6740fb9da6
doc: Typofix in fixtures how-to ( #8860 )
2021-07-06 14:31:21 +00:00
Taneli Hukkinen
5987251407
Add a test for invalid TOML file
2021-07-06 16:53:32 +03:00
Taneli Hukkinen
40797dee87
Make news indicate that a dependency changed
2021-07-06 13:14:45 +03:00
Taneli Hukkinen
e1a4b4edd2
Convert TOMLDecodeError to UsageError
2021-07-06 13:10:44 +03:00
pre-commit-ci[bot]
51f645e567
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-07-06 07:18:57 +00:00
Florian Bruhin
953fdabaf0
Adjust doc links for new scheme
...
Closes #8831
2021-07-06 09:11:35 +02:00
Taneli Hukkinen
e942b12b94
Support TOML v1.0.0 syntax in pyproject.toml
2021-07-06 00:26:01 +03:00
dependabot[bot]
904637baa7
build(deps): bump pytest-bdd in /testing/plugins_integration
...
Bumps [pytest-bdd](https://github.com/pytest-dev/pytest-bdd ) from 4.0.2 to 4.1.0.
- [Release notes](https://github.com/pytest-dev/pytest-bdd/releases )
- [Changelog](https://github.com/pytest-dev/pytest-bdd/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-bdd/compare/4.0.2...4.1.0 )
---
updated-dependencies:
- dependency-name: pytest-bdd
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-05 03:01:53 +00:00
dependabot[bot]
3e108012d9
build(deps): bump pytest-rerunfailures in /testing/plugins_integration
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 10.0 to 10.1.
- [Release notes](https://github.com/pytest-dev/pytest-rerunfailures/releases )
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-rerunfailures/compare/10.0...10.1 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-05 03:01:51 +00:00
dependabot[bot]
2d5990c443
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.2.4...3.2.5 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-05 03:01:49 +00:00
Florian Bruhin
8347b59295
Update remaining 7.0 references ( #8834 )
2021-07-04 10:27:43 +02:00
Eric Liu
8c25a14032
closes #8824 Changelog rewording for 7.0 ( #8826 )
...
* fixed changelog/*.rst docs
* add author name
* fixed-documents
* fix issue 8761 doc
* fix issue 8645 doc
* fix issue 8447 doc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-07-03 12:20:12 +02:00
ericluoliu
501637547e
Issue #8823 - remove bots from contributors list ( #8828 )
...
* fix-contributors-list
* remove-bots
* delete-extraneous-file
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-06-30 13:53:32 +00:00
Srip
9cdb7223b5
doc: Adding the missing sys import ( #8819 ) ( #8827 )
...
Co-authored-by: Sripradha Karkala <sripradha.karkala@nutanix.com >
2021-06-30 08:11:20 +02:00
Bruno Oliveira
1d67553403
Merge pull request #8247 from nicoddemus/version-stdout-8246
2021-06-28 16:13:31 -03:00
Florian Bruhin
4d965557e2
ci: Persist git credentials for prepare-release-pr ( #8813 )
...
See #8599 , follow-up to #8681
2021-06-28 20:58:55 +02:00
Bruno Oliveira
109312ba86
Make --version write to stdout rather than stderr
...
Fix #8246
2021-06-28 15:56:26 -03:00
Bruno Oliveira
2623ee2e0e
Merge pull request #8802 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.2.1
...
Bump anyio[curio,trio] from 3.2.0 to 3.2.1 in /testing/plugins_integration
2021-06-28 15:37:01 -03:00
Florian Bruhin
ba1ad7d517
Opt-out from regendoc for problematic example ( #8810 )
...
* Opt-out from regendoc for problematic example
See #8807
* Add comment
2021-06-28 17:47:49 +00:00
Florian Bruhin
c4c3b6d4fd
Adjust fixme comments ( #8811 )
2021-06-28 17:41:22 +00:00
Florian Bruhin
e729e0d1e6
scripts: Don't capture output in prepare-release-pr.py ( #8805 )
...
We don't need to access the output in the script, and if we capture it,
we don't get any output on CI, so no way to see why a release failed.
2021-06-28 12:15:25 +00:00
Florian Bruhin
c19f63d39d
Adjust releasing infra/docs ( #8795 )
...
* Adjust releasing infra/docs
Follow-up for #8150 , see #7507
* Add suggestions
2021-06-28 12:24:48 +02:00
dependabot[bot]
51742e14a1
Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.2.0...3.2.1 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-28 03:01:47 +00:00
Srip
6573107b97
doc: Adding exit code for pytest usage examples ( #8790 ) ( #8800 )
...
* doc: Adding exit code for pytest usage examples (#8790 )
Fix #8790
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Sripradha Karkala <sripradha.karkala@nutanix.com >
2021-06-27 13:29:16 +00:00
Bruno Oliveira
ef395e1c38
Merge pull request #8799 from pytest-dev/update-plugin-list/patch-cb1dba048
...
[automated] Update plugin list
2021-06-27 00:17:59 -03:00
pytest bot
f0e5640497
[automated] Update plugin list
2021-06-27 00:08:04 +00:00
Florian Bruhin
cb1dba0489
doc: Add new open trainings ( #8793 )
2021-06-24 20:21:22 +02:00
Bruno Oliveira
0d6cb3b281
Allow prereleases from prepare-release workflow ( #8628 )
...
Fix #7551
2021-06-24 18:05:56 +00:00
Ronny Pfannschmidt
d7b0e17205
issue a warning when Item and Collector are used in diamond inheritance ( #8447 )
...
* issue a warning when Items and Collector form a diamond
addresses #8435
* Apply suggestions from code review
Co-authored-by: Ran Benita <ran@unusedvar.com >
* Return support for the broken File/Item hybrids
* adds deprecation
* ads necessary support code in node construction
* fix incorrect mypy based assertions
* add docs for deprecation of Item/File inheritance
* warn when a non-cooperative ctor is encountered
* use getattr instead of cast to get the class __init__ for legacy ctors
* update documentation references for node inheritance
* clean up file+item inheritance test
enhance docs
move import upwards
Co-authored-by: Ran Benita <ran@unusedvar.com >
2021-06-24 11:45:32 +02:00
James Bourbeau
942789bace
Fix API links in 'How to capture warnings' documentation page ( #8792 )
2021-06-23 19:34:48 +00:00
Florian Bruhin
f573b56bb6
Improve cache test and fix it in Docker ( #8785 )
...
* cache: Move repetitive code to fixture
* cache: Explicitly test for chmod result
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix lint
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-06-23 20:28:09 +02:00
Florian Bruhin
e44300de7e
doc: Add history page ( #8784 )
...
Based on #8667
2021-06-23 20:26:08 +02:00
Ronny Pfannschmidt
8eb8c42bd6
Merge pull request #8786 from The-Compiler/outside
...
tests: Use less conflicting name for directory
2021-06-22 21:59:52 +02:00
Florian Bruhin
ac10fe0679
tests: Use less conflicting name for directory
...
Otherwise, if e.g. /outside is used for a Docker container, the test will fail
2021-06-22 13:25:52 +02:00
Bruno Oliveira
0a6a1fa225
Merge pull request #8782 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.2.0
...
Bump anyio[curio,trio] from 3.1.0 to 3.2.0 in /testing/plugins_integration
2021-06-21 07:41:15 -03:00
dependabot[bot]
d2886b8d23
Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.1.0...3.2.0 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-21 03:01:37 +00:00
Bruno Oliveira
68b329dda8
Merge pull request #8764 from pytest-dev/pre-commit-ci-update-config
2021-06-20 12:27:03 -03:00
Anthony Sottile
ab3cd644dc
add temporary ignore for FileHandler stream close
2021-06-20 08:09:18 -07:00
Anthony Sottile
a1967e9594
fix overload of __getitem__ for Traceback
2021-06-19 21:41:00 -07:00
Anthony Sottile
c4da6fff42
Add missing types-* stub packages
2021-06-19 21:31:17 -07:00
pre-commit-ci[bot]
605fe29d12
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.5b2 → 21.6b0](https://github.com/psf/black/compare/21.5b2...21.6b0 )
- [github.com/asottile/pyupgrade: v2.19.1 → v2.19.4](https://github.com/asottile/pyupgrade/compare/v2.19.1...v2.19.4 )
- [github.com/pre-commit/pygrep-hooks: v1.8.0 → v1.9.0](https://github.com/pre-commit/pygrep-hooks/compare/v1.8.0...v1.9.0 )
- [github.com/pre-commit/mirrors-mypy: v0.812 → v0.902](https://github.com/pre-commit/mirrors-mypy/compare/v0.812...v0.902 )
2021-06-14 17:42:33 +00:00
Bruno Oliveira
ced125ad15
Merge pull request #8761 from nicoddemus/version-tuple
2021-06-14 09:27:22 -03:00
Bruno Oliveira
7eb0792cba
Add pytest.version_tuple
...
This adds `pytest.version_tuple`, which makes it simpler for users to do something depending on the pytest version, such as declaring hooks which are introduced in later versions.
This feature was added originally in https://github.com/pypa/setuptools_scm/pull/475 .
Followup to https://github.com/pytest-dev/pytest/pull/7605 .
2021-06-14 09:04:14 -03:00
Bruno Oliveira
6447ca5f1e
Merge pull request #8756 from pytest-dev/update-plugin-list/patch-c675d8054
...
[automated] Update plugin list
2021-06-13 00:56:20 -03:00
pytest bot
5ea541d415
[automated] Update plugin list
2021-06-13 00:10:04 +00:00
Bruno Oliveira
c675d8054d
Merge pull request #8754 from nicoddemus/fix-deprecation-docs
2021-06-12 12:52:29 -03:00
Bruno Oliveira
16685dc279
Change os.getuid() guard in tmpdir.py
...
This matches the guard used by typeshed and avoid mypy errors on Windows:
48a346920b/stdlib/os/__init__.pyi (L388)
2021-06-12 12:31:58 -03:00
Bruno Oliveira
c85b21eaa0
Remove outdated docs about pytest.warns and DeprecatedWarning
...
Since #2908 , the user doesn't need to set warning filters to capture
`DeprecationWarning` with `pytest.warns`.
Fix #8666
2021-06-12 12:09:26 -03:00
Bruno Oliveira
fb7e36b2f7
Merge pull request #8735 from pytest-dev/update-plugin-list/patch-8300b266a
...
[automated] Update plugin list
2021-06-12 10:49:02 -03:00
Anthony Sottile
c94766a580
Merge pull request #8738 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-django-4.4.0
...
Bump pytest-django from 4.3.0 to 4.4.0 in /testing/plugins_integration
2021-06-10 17:42:34 -07:00
dependabot[bot]
85faaf8a1d
Bump pytest-django from 4.3.0 to 4.4.0 in /testing/plugins_integration
...
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django ) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.3.0...v4.4.0 )
---
updated-dependencies:
- dependency-name: pytest-django
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-11 00:18:17 +00:00
Anthony Sottile
5a9139c5ec
Merge pull request #8739 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-cov-2.12.1
...
Bump pytest-cov from 2.12.0 to 2.12.1 in /testing/plugins_integration
2021-06-10 17:17:18 -07:00
dependabot[bot]
b04aa015b9
Bump pytest-cov from 2.12.0 to 2.12.1 in /testing/plugins_integration
...
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov ) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases )
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.12.0...v2.12.1 )
---
updated-dependencies:
- dependency-name: pytest-cov
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-10 23:10:22 +00:00
Anthony Sottile
657e35618f
Merge pull request #8737 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.2.4
...
Bump django from 3.2.3 to 3.2.4 in /testing/plugins_integration
2021-06-10 16:09:40 -07:00
Bruno Oliveira
8010fb9f40
Merge pull request #8749 from beniwohli/fix-at-level-type-hints
...
updated type hints for caplog.at_level to match caplog.set_level
2021-06-10 19:33:35 -03:00
Benjamin Wohlwend
58036d463d
updated type hints for caplog.at_level to match caplog.set_level
...
The underlying logging API accepts the log level both as int and
as string.
2021-06-10 09:34:54 +02:00
Bruno Oliveira
992eabc29e
Merge pull request #8747 from asottile/typo-fix
...
Fix typo in fixture.rst
2021-06-09 19:54:23 -03:00
Jason Haugen
479209bde1
Fix typo in fixture.rst
...
Example referenced the wrong function name
2021-06-09 15:13:48 -07:00
Bruno Oliveira
68bb0db808
Merge pull request #8742 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-06-09 17:23:14 -03:00
pre-commit-ci[bot]
595b7e894c
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/asottile/pyupgrade: v2.19.0 → v2.19.1](https://github.com/asottile/pyupgrade/compare/v2.19.0...v2.19.1 )
2021-06-08 01:55:19 +00:00
dependabot[bot]
bce0ceafe4
Bump django from 3.2.3 to 3.2.4 in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.2.3...3.2.4 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-07 03:01:43 +00:00
pytest bot
50b166ff0b
[automated] Update plugin list
2021-06-06 00:17:08 +00:00
Bruno Oliveira
8300b266a8
Merge pull request #8732 from domdfcoding/patch-1
...
Fix typo (setupttools -> setuptools)
2021-06-05 15:10:24 -03:00
Dominic Davis-Foster
7fb5a9d033
Fix typo (setupttools -> setuptools)
2021-06-05 16:03:59 +01:00
Anthony Sottile
bb9683deea
Merge pull request #8729 from asottile/revert-traceback-frame
...
Revert "Merge pull request #8227 from encukou/defensive-get_source"
2021-06-03 12:46:53 -07:00
Anthony Sottile
77235e2759
Revert "Merge pull request #8227 from encukou/defensive-get_source"
...
This reverts commit 67af623d9e , reversing
changes made to aead41e449 .
2021-06-03 08:45:57 -07:00
Florian Bruhin
9ad726a9a0
Switch to irc.libera.chat ( #8722 )
2021-06-01 17:34:29 +02:00
Bruno Oliveira
cde6920e49
Merge pull request #8719 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-05-31 16:34:45 -03:00
pre-commit-ci[bot]
c51520ab2a
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.5b1 → 21.5b2](https://github.com/psf/black/compare/21.5b1...21.5b2 )
- [github.com/asottile/pyupgrade: v2.18.2 → v2.19.0](https://github.com/asottile/pyupgrade/compare/v2.18.2...v2.19.0 )
2021-05-31 17:32:52 +00:00
Bruno Oliveira
360ce686f1
Merge pull request #8713 from pytest-dev/update-plugin-list/patch-43faea832
...
[automated] Update plugin list
2021-05-31 10:54:38 -03:00
Bruno Oliveira
7ce69347ce
Merge pull request #8717 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-rerunfailures-10.0
...
Bump pytest-rerunfailures from 9.1.1 to 10.0 in /testing/plugins_integration
2021-05-31 09:30:19 -03:00
Bruno Oliveira
788d8785ce
Merge pull request #8718 from dlax/docs/tmpdir_factory
...
Fix a typo in documentation about tmpdir_factory
2021-05-31 09:22:26 -03:00
Denis Laxalde
cf7425d22b
Fix a typo in documentation about tmpdir_factory
...
The section refers to tmpdir_factory, but the sentence mentionned
tmp_path_factory.
2021-05-31 09:36:18 +02:00
dependabot[bot]
20f00997ff
Bump pytest-rerunfailures in /testing/plugins_integration
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 9.1.1 to 10.0.
- [Release notes](https://github.com/pytest-dev/pytest-rerunfailures/releases )
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-rerunfailures/compare/9.1.1...10.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-31 03:01:08 +00:00
pytest bot
4b7d8b2edd
[automated] Update plugin list
2021-05-30 00:23:19 +00:00
Bruno Oliveira
43faea832d
Merge pull request #8704 from offbyone/doc-getting-started-test-instance
...
Make the test class instance behaviour clearer
2021-05-26 18:42:37 -03:00
Bruno Oliveira
798bca4076
Merge pull request #8705 from MapleCCC/main
...
Fix cyclic links in goodpractices.rst
2021-05-26 18:41:13 -03:00
MapleCCC
627b446252
Fix cyclic links in goodpractices.rst
2021-05-27 04:33:49 +08:00
Chris Rose
640b2c0e13
Make the test class instance behaviour clearer
...
In the "Getting Started" doc, the test class instance example for
instance sharing doesn't actually demonstrate anything about the
reinstantiation of the class. This change shows clearly how the instance
data isn't retained between test runs.
2021-05-26 09:12:29 -07:00
Florian Bruhin
1d5ee4dd7c
doc: Remove training sidebar ( #8701 )
2021-05-26 14:15:00 +02:00
Ran Benita
1ba5b48565
Merge pull request #8697 from bluetech/expose-config
...
config: expose Config and PytestPluginManager for typing purposes
2021-05-26 11:20:42 +03:00
Ran Benita
1b5f5326d7
Merge pull request #8695 from bluetech/export-parser
...
argparsing: export Parser and OptionGroup for typing purposes
2021-05-26 11:20:03 +03:00
pre-commit-ci[bot]
c5bf5f6fb0
[pre-commit.ci] pre-commit autoupdate ( #8699 )
...
* [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/asottile/pyupgrade: v2.16.0 → v2.18.2](https://github.com/asottile/pyupgrade/compare/v2.16.0...v2.18.2 )
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-05-26 11:19:45 +03:00
Ran Benita
ef9d01826a
Merge pull request #8693 from pytest-dev/update-plugin-list/patch-c198a7a67
...
[automated] Update plugin list
2021-05-24 19:14:03 +03:00
Ran Benita
847d8f42ea
Merge pull request #8696 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.1.0
...
Bump anyio[curio,trio] from 3.0.1 to 3.1.0 in /testing/plugins_integration
2021-05-24 19:13:20 +03:00
Ran Benita
e6ed28f0e7
Merge pull request #8694 from bluetech/rec-eval-wrapper
...
code: remove unneeded comparison eval wrapper
2021-05-24 19:12:56 +03:00
Ran Benita
9719237fe6
doc: refer to type by its public name
2021-05-24 12:31:28 +03:00
Ran Benita
c0d525e44c
config: expose PytestPluginManager for typing purposes
...
This type is used in hooks and transitively through `Config`.
2021-05-24 12:27:07 +03:00
Ran Benita
88d84a5791
config: expose Config for typing purposes
...
This type is used in hooks and fixtures.
The constructor is publicly documented so is not marked private.
2021-05-24 12:26:22 +03:00
dependabot[bot]
4a472952f7
Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.0.1...3.1.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-24 03:01:18 +00:00
Ran Benita
538b5c2499
argparsing: export Parser and OptionGroup for typing purposes
...
`Parser` is used by many plugins and custom hooks. `OptionGroup` is
exposed by the `parser.addgroup` API.
The constructors of both are marked private, they are not meant to be
constructed directly.
2021-05-24 00:52:03 +03:00
Ran Benita
c90fdc684b
code: remove unneeded comparison eval wrapper
...
Given a `RecursionError` traceback, the `Traceback.recursionindex()`
method returns the index of the frame which started the recursion
(repeated set of frames). To do so it attempts to check whether two
frames are equivalent. Just checking the function/line is not enough
because the recursion variable(s) might differ (e.g. imagine the numeric
value in a recursive factorial implementation). So it also compares the
`f_locals` (local variables) of each frame for equivalence.
For some reason, the locals comparison is wrapped in an `eval` whose
purpose is to evaluate the comparison in one of the compared frame's
context (locals + globals in scope). However, I can not think of any way
in which the global scope could affect the evaluation. It would have an
affect when the locals are bound but that's already done. So this seems
unnecessary - remove it.
2021-05-23 20:59:38 +03:00
pytest bot
11538e35e4
[automated] Update plugin list
2021-05-23 00:12:33 +00:00
Zac Hatfield-Dodds
c198a7a67e
Merge pull request #8677 from olgarithms/warns-no-arg-catches-any
2021-05-19 17:47:39 +10:00
Ran Benita
ff6d29717c
Merge pull request #8681 from bluetech/ci-permissions
...
ci: few security/permissions improvements
2021-05-18 22:21:25 +03:00
Ran Benita
864a2bc0a3
ci: use GitHub Actions token instead of chatops/release_notes secrets
...
It seems more secure to use the controlled & limited token than an
ambient secret.
2021-05-18 16:05:14 +03:00
Ran Benita
6bc6ec323a
ci: reduce workflow permissions
...
Decrease security exposure by restricting what the code executing in the
actions is allowed to do (in terms of GitHub operations).
2021-05-18 16:05:14 +03:00
Ran Benita
e2567a680e
scripts: improve upload-coverage.sh
...
Mostly, verify the bash uploader hash and make it more strict and
verbose.
2021-05-18 16:05:14 +03:00
Anthony Sottile
d52cd08757
Merge pull request #8687 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-05-17 22:11:31 -07:00
pre-commit-ci[bot]
249c5b37dd
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/pre-commit/pre-commit-hooks: v3.4.0 → v4.0.1](https://github.com/pre-commit/pre-commit-hooks/compare/v3.4.0...v4.0.1 )
- [github.com/asottile/pyupgrade: v2.15.0 → v2.16.0](https://github.com/asottile/pyupgrade/compare/v2.15.0...v2.16.0 )
2021-05-17 17:29:57 +00:00
Bruno Oliveira
0d502328ea
Merge pull request #8653 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-mock-3.6.1
2021-05-17 08:21:42 -03:00
dependabot[bot]
53a74feea7
Bump pytest-mock from 3.6.0 to 3.6.1 in /testing/plugins_integration
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.6.0...v3.6.1 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-17 10:53:38 +00:00
Bruno Oliveira
88944bec6a
Merge pull request #8684 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-django-4.3.0
...
Bump pytest-django from 4.2.0 to 4.3.0 in /testing/plugins_integration
2021-05-17 07:52:55 -03:00
dependabot[bot]
8872e8e7c7
Bump pytest-django from 4.2.0 to 4.3.0 in /testing/plugins_integration
...
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django ) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.2.0...v4.3.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-17 10:51:47 +00:00
Bruno Oliveira
eb7acba9e9
Merge pull request #8683 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.2.3
...
Bump django from 3.2.2 to 3.2.3 in /testing/plugins_integration
2021-05-17 07:51:36 -03:00
Bruno Oliveira
e59d0c461b
Merge pull request #8682 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-cov-2.12.0
...
Bump pytest-cov from 2.11.1 to 2.12.0 in /testing/plugins_integration
2021-05-17 07:51:24 -03:00
Olga Matoula
3f414d7bbe
Ignore depredcated warns(None) overload errors from mypy
2021-05-17 09:50:59 +01:00
Olga Matoula
dd8ad3fa9c
Split warns matching string in multiple lines
2021-05-17 09:23:08 +01:00
dependabot[bot]
06718da5d6
Bump django from 3.2.2 to 3.2.3 in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.2.2...3.2.3 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-17 03:01:19 +00:00
dependabot[bot]
c73e354019
Bump pytest-cov from 2.11.1 to 2.12.0 in /testing/plugins_integration
...
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov ) from 2.11.1 to 2.12.0.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases )
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.11.1...v2.12.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-17 03:01:15 +00:00
Olga Matoula
2414d23c78
Remove default arg from overloaded warns
2021-05-16 13:44:56 +01:00
Olga Matoula
24ad886b15
Remove the option to pass None in warns()
2021-05-16 12:10:32 +01:00
Olga Matoula
dbe66d97b4
Add better warning msg for deprecated warns(None)
2021-05-16 12:07:39 +01:00
Bruno Oliveira
b8f1b7cdc6
Merge pull request #8680 from pytest-dev/update-plugin-list/patch-c516dba
...
[automated] Update plugin list
2021-05-15 23:47:35 -03:00
pytest bot
a69ed66c2e
[automated] Update plugin list
2021-05-16 00:10:52 +00:00
pre-commit-ci[bot]
6ae71a2c2b
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-05-15 17:51:55 +00:00
Olga Matoula
8b2f83772d
Catch any warning on warns with no arg passed
2021-05-15 18:50:39 +01:00
Rahul Kumaresan
c516dba69a
add feature to view fixture source location in invocations with --fixtures-per-test option ( #8626 )
...
* add feature to view fixture source location in invocations with --fixtures-per-test option
* remove unrelated changes to show_fixtures_per_test::test_doctest_items
* eshew the extraneous else in _show_fixtures_per_test.write_fixture
* enable the accommodation of multi-line docstring with --fixtures-per-test option
* add feature to view fixture source location in invocations with --fixtures
* add colour encoding to fixture location paths
* add changelog for #8606 fixing
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-05-14 14:38:55 +02:00
Zack Kneupper
33c6ad5bf7
Replace some for loops, and other minor changes ( #8660 )
...
* Replace for loop using the operator
* Replace for loop with a generator expression inside any()
* Replace for loop with a dictionary comprehension
* Use list comprehension
* Simplify arguments for range()
* Change newfuncargs variable to in-line dictionary comprehension
* is_ancestor: return base.is_relative_to(query)
* Remove unneeded import of pathlib
* Try using PurePath
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Import PurePath on new line
* Revert and remove is_relative_to
Co-authored-by: Zachary Kneupper <zacharykneupper@Zacharys-MBP.lan >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-05-14 09:32:50 +02:00
Ran Benita
364bbe42fc
Merge pull request #8649 from Saiprasad16/main
...
UPDATE LICENSE
2021-05-13 17:34:18 +03:00
Ran Benita
c5de274136
Merge pull request #8650 from pytest-dev/update-plugin-list/patch-3ae0103
...
[automated] Update plugin list
2021-05-13 17:33:22 +03:00
Ran Benita
850a844779
Merge pull request #8664 from hroncok/test_unittest-ignore_DeprecationWarning-from-twisted
...
Ignore DeprecationWarnings in test_trial_error
2021-05-13 17:27:43 +03:00
Miro Hrončok
51293de324
Ignore DeprecationWarnings in test_trial_error
...
Fixes https://github.com/pytest-dev/pytest/issues/8663
2021-05-12 13:38:19 +02:00
Saiprasad Kale
0d6e3b7005
Update AUTHORS
2021-05-11 16:39:25 +05:30
Zack Kneupper
045ad5ac2d
Replaced if-else statements with ternary expression ( #8658 )
...
* Replace if-else with ternary expression
* assign out variable in readouterr() with ternary expression
* assign err variable in readouterr() with ternary expression
* Assign precision with ternary expression
* ternary expression for collected/collecting
* Assign thread_name with ternary expression
* Update AUTHORS
Co-authored-by: Zachary Kneupper <zacharykneupper@Zacharys-MBP.lan >
2021-05-11 11:52:55 +02:00
Ronny Pfannschmidt
7cec85a37d
Merge pull request #8657 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-05-11 11:42:03 +02:00
Zack Kneupper
b4cd14aae3
Open log file in context manager ( #8659 )
...
Co-authored-by: Zachary Kneupper <zacharykneupper@Zacharys-MBP.lan >
2021-05-11 09:10:01 +00:00
James Gerity
822624c252
Update help text for --pdbcls to match behavior ( closes #8655 ) ( #8656 )
...
* Clarify help text for --pdbcls
* Add changelog entry for --pdbcls
2021-05-11 09:04:50 +00:00
dependabot[bot]
0a07b71046
Bump django from 3.2 to 3.2.2 in /testing/plugins_integration ( #8652 )
...
Bumps [django](https://github.com/django/django ) from 3.2 to 3.2.2.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.2...3.2.2 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 10:44:32 +02:00
Zack Kneupper
48f14c48ea
Remove unnecessary else clause in repr_failure() ( #8661 )
...
* Remove unnecessary else clause in repr_failure()
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: Zachary Kneupper <zacharykneupper@Zacharys-MBP.lan >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-05-11 10:36:36 +02:00
pre-commit-ci[bot]
c519dd64ed
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.4b2 → 21.5b1](https://github.com/psf/black/compare/21.4b2...21.5b1 )
- [github.com/PyCQA/flake8: 3.9.1 → 3.9.2](https://github.com/PyCQA/flake8/compare/3.9.1...3.9.2 )
- [github.com/asottile/pyupgrade: v2.14.0 → v2.15.0](https://github.com/asottile/pyupgrade/compare/v2.14.0...v2.15.0 )
2021-05-10 20:25:55 +00:00
pytest bot
e0a3dc7bf8
[automated] Update plugin list
2021-05-09 00:05:23 +00:00
Saiprasad Kale
7caf47acc6
Update AUTHORS
2021-05-08 23:50:17 +05:30
Saiprasad Kale
337a729d95
Update license.rst
2021-05-08 23:45:20 +05:30
Saiprasad Kale
6b53714d57
Update conf.py
2021-05-08 23:43:33 +05:30
Saiprasad Kale
647ac4a79d
Update LICENSE
2021-05-08 23:38:48 +05:30
Zac Hatfield-Dodds
3ae0103975
Merge pull request #8641 from rahul-kumi/fix/8548
...
add support for precision bit in LEVEL_NAME_FMT regex
2021-05-08 01:17:55 +10:00
Rahul Kumaresan
9e11d645b1
cleanup tests by removal of unused code elements
2021-05-07 17:56:35 +05:30
Rahul Kumaresan
80acc0ed6f
fix test_coloredlogformatter_with_width_precision test
2021-05-07 16:25:19 +05:30
Rahul Kumaresan
1e3fcece6d
enhance support for precision bit in LEVELNAME_FMT_REGEX regex
2021-05-07 16:16:40 +05:30
Ran Benita
886fd70e2a
Merge pull request #8594 from bluetech/addini-paths
...
argparsing: support parser.addini(type="paths") which returns pathlib.Paths
2021-05-07 12:44:53 +03:00
Ross Vandegrift
124691122a
Expand command line argument examples with validation examples ( #8610 )
...
* Expand command line argument examples with validation examples
This shows how to pass more detailed error messages back to the user when
they've provided an incorrect value for a custom command line option.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-05-07 10:48:46 +03:00
Ran Benita
113a860a1f
argparsing: support parser.addini(type="paths") which returns pathlib.Paths
2021-05-07 09:58:51 +03:00
Rahul Kumaresan
4b6188b3b1
add support for precision bit in LEVEL_NAME_FMT regex
2021-05-07 00:45:52 +05:30
Anthony Sottile
634312b14a
Merge pull request #8633 from The-Compiler/ci-colors
...
ci: Force colors on
2021-05-05 08:09:47 -07:00
Rahul Kumaresan
245eefafcf
clarify documentation about tolerance setting in unittest.TestCase.assertAlmost() ( #8614 )
2021-05-05 14:23:39 +02:00
Florian Bruhin
adc197424d
Merge pull request #8555 from The-Compiler/py310-fix
...
Fix Python 3.10 test issues
2021-05-05 14:21:40 +02:00
mobius-crypt
385988ca1a
Updated ( #8620 )
2021-05-05 14:16:21 +02:00
Tarcísio Fischer
b7416f7abd
Suggest numpy testing module on pytest approx docs ( #8615 )
...
Co-authored-by: Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com >
Co-authored-by: Tarcisio Fischer <tarcisio@esss.co >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-05-04 23:08:41 -03:00
Anthony Sottile
a62a28b4b8
Merge pull request #8635 from asottile/fix-release
...
fix a command in RELEASING.rst
2021-05-04 09:40:25 -07:00
Bruno Oliveira
2534b7725e
Merge pull request #8634 from The-Compiler/tidelift
...
Add myself to tidelift
2021-05-04 13:40:08 -03:00
Anthony Sottile
27564e7768
Merge pull request #8636 from asottile/cherry-pick-release
...
cherry-pick release notes from 6.2.4
2021-05-04 09:32:02 -07:00
Anthony Sottile
915ff7640b
Merge pull request #8632 from pytest-dev/release-6.2.4
...
Prepare release 6.2.4
(cherry picked from commit 15a45388fa )
2021-05-04 09:27:16 -07:00
Anthony Sottile
5ae2106059
fix a command in RELEASING.rst
2021-05-04 09:25:11 -07:00
Florian Bruhin
3f71d63067
ci: Force colors on
...
See #7443
2021-05-04 17:55:47 +02:00
Florian Bruhin
4fc67eea4f
Add myself to tidelift
2021-05-04 17:46:35 +02:00
Florian Bruhin
382599287f
Fix test_errors_in_xfail_skip_expressions on Python 3.10
2021-05-04 17:26:53 +02:00
Florian Bruhin
61be48b485
Fix test_collect_symlink_dir on Windows
2021-05-04 17:25:08 +02:00
Florian Bruhin
e354c5c919
Fix warning filters used in tests
2021-05-04 17:25:02 +02:00
Florian Bruhin
710446420c
Adjust enum reprs for Python 3.10
...
Potential fix for #8546
2021-05-04 17:24:50 +02:00
Florian Bruhin
f1570dc038
Ignore various warnings from Python 3.10
...
https://github.com/benjaminp/six/issues/341
https://github.com/benjaminp/six/pull/352
https://github.com/pypa/setuptools/pull/2517
2021-05-04 17:24:50 +02:00
Anthony Sottile
2637ec3921
Merge pull request #8624 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-05-03 18:27:37 -07:00
alshapton
4e048e0827
8625 - small grammar fix ( #8627 )
2021-05-03 20:42:23 +00:00
pre-commit-ci[bot]
f772e5e2b3
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 21.4b0 → 21.4b2](https://github.com/psf/black/compare/21.4b0...21.4b2 )
- [github.com/asottile/pyupgrade: v2.13.0 → v2.14.0](https://github.com/asottile/pyupgrade/compare/v2.13.0...v2.14.0 )
2021-05-03 17:21:32 +00:00
Bruno Oliveira
9c4da3e7b6
Merge pull request #8622 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.0.1
...
Bump anyio[curio,trio] from 3.0.0 to 3.0.1 in /testing/plugins_integration
2021-05-03 09:32:52 -03:00
dependabot[bot]
f1a97512da
Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.0.0...3.0.1 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-03 03:01:15 +00:00
Bruno Oliveira
9fa205290e
[automated] Update plugin list ( #8618 )
...
Co-authored-by: pytest bot <pytestbot@users.noreply.github.com >
2021-05-02 10:23:11 -03:00
pytest bot
8f49ffdb57
[automated] Update plugin list
2021-05-02 00:12:49 +00:00
Tarcísio Fischer
9d9b84d175
Improve pytest.approx error messages readability (Pull request) ( #8429 )
...
Improve pytest.approx error messages readability (Pull request)
2021-04-30 07:36:56 -03:00
Parth Patel
992c403fc8
Improve iterparentnodeids to consume / parts until the first :: ( #8577 )
...
* Fix issue where TestCase.setUpClass is not called for test methods with a / in its name by checking if there is :: before the selected / or any :: after. Also added a test case for this.
* removed print statement that was added
* Change iterparentnodeids to consume / parts until the first ::. Then consider ::. Tests were changed to reflect this.
* Update changelog/8509.improvement.rst
Co-authored-by: Ran Benita <ran@unusedvar.com >
2021-04-29 17:02:43 +03:00
Anthony Sottile
2049ae271e
Merge pull request #8596 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-04-26 10:45:08 -07:00
pre-commit-ci[bot]
f5c22a6b45
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/psf/black: 20.8b1 → 21.4b0](https://github.com/psf/black/compare/20.8b1...21.4b0 )
- [github.com/asottile/reorder_python_imports: v2.4.0 → v2.5.0](https://github.com/asottile/reorder_python_imports/compare/v2.4.0...v2.5.0 )
- [github.com/asottile/pyupgrade: v2.12.0 → v2.13.0](https://github.com/asottile/pyupgrade/compare/v2.12.0...v2.13.0 )
2021-04-26 17:23:05 +00:00
Ran Benita
134d8f78d8
Merge pull request #8595 from nschloe/url-fixes
...
"fix" a couple of http -> https redirects
2021-04-26 20:05:32 +03:00
Nico Schlömer
9ef608ef76
"fix" a couple of http -> https redirects
...
Found with
urli-fix . -a http: -i pytest
2021-04-26 17:44:27 +02:00
Bruno Oliveira
1e2c2d972d
Merge pull request #8588 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-asyncio-0.15.1
...
Bump pytest-asyncio from 0.15.0 to 0.15.1 in /testing/plugins_integration
2021-04-26 10:44:01 -03:00
Bruno Oliveira
0d0e5ed74a
Merge pull request #8589 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.0.0
...
Bump anyio[curio,trio] from 2.2.0 to 3.0.0 in /testing/plugins_integration
2021-04-26 10:43:55 -03:00
Bruno Oliveira
ff24dfbc9f
Merge pull request #8590 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-mock-3.6.0
...
Bump pytest-mock from 3.5.1 to 3.6.0 in /testing/plugins_integration
2021-04-26 10:43:41 -03:00
dependabot[bot]
8d93f6ff0b
Bump pytest-mock from 3.5.1 to 3.6.0 in /testing/plugins_integration
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.5.1...v3.6.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-26 03:01:18 +00:00
dependabot[bot]
11f6dc9de6
Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/2.2.0...3.0.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-26 03:01:15 +00:00
dependabot[bot]
5a7be03285
Bump pytest-asyncio in /testing/plugins_integration
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.15.0 to 0.15.1.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.15.0...v0.15.1 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-26 03:01:13 +00:00
Anthony Sottile
0341893512
Merge pull request #8584 from nicoddemus/pygments-testing-extra
...
Make pygments part of 'testing' extras
2021-04-24 19:55:13 -07:00
Anthony Sottile
67af623d9e
Merge pull request #8227 from encukou/defensive-get_source
...
Make code.FormattedExcinfo.get_source more defensive
2021-04-24 19:42:53 -07:00
Bruno Oliveira
aead41e449
Merge pull request #8586 from pytest-dev/update-plugin-list/patch-35c8139
...
[automated] Update plugin list
2021-04-24 22:51:32 -03:00
pytest bot
788d445b7b
[automated] Update plugin list
2021-04-25 00:20:16 +00:00
Bruno Oliveira
35c8139e09
Merge pull request #8575 from domdfcoding/domdfcoding-patch-1
...
Remove "upload_sphinx" section from setup.cfg
2021-04-24 11:02:58 -03:00
Bruno Oliveira
c9e30a7035
Make pygments part of 'testing' extras
...
Tests in test_terminalwriter depend on pygments being installed
to work, so it should be installed with the `testing` extras.
2021-04-24 10:11:47 -03:00
Miro Hrončok
0a75c8e57b
Add a regression test for a more defensive code.FormattedExcinfo.get_source
2021-04-22 19:17:54 +02:00
Dominic Davis-Foster
f9d1fa4c4b
Remove "upload_sphinx" section from setup.cfg
...
The `Sphinx-PyPI-upload` tool the section corresponds to hasn't been updated since 2009, and the new (c. 2018) PyPI doesn't support documentation uploads anyway.
2021-04-21 16:46:28 +01:00
Ran Benita
4764c85275
Merge pull request #8570 from soxofaan/main
...
Logging docs: fix reference to pytest.LogCaptureFixture.
2021-04-20 16:42:54 +03:00
Ran Benita
c772d6d6a3
Merge pull request #8563 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-04-20 16:28:01 +03:00
Ran Benita
e5292ed8dc
Merge pull request #8561 from pytest-dev/update-plugin-list/patch-9078c3c
...
[automated] Update plugin list
2021-04-20 16:26:23 +03:00
Ran Benita
513247863a
Merge pull request #8562 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-asyncio-0.15.0
...
Bump pytest-asyncio from 0.14.0 to 0.15.0 in /testing/plugins_integration
2021-04-20 16:25:57 +03:00
Ran Benita
c7e146da0f
Merge pull request #8567 from codingjoe/patch-1
...
Fix typos & missing commas in CONTRIBUTING.rst
2021-04-20 16:25:30 +03:00
Stefaan Lippens
7e82f6fc38
Logging docs: fix reference to pytest.LogCaptureFixture.
2021-04-20 15:21:30 +02:00
Johannes Maron
3cbbb0bb0d
Fix typos & missing commas in CONTRIBUTING.rst
2021-04-20 12:30:27 +02:00
Miroslav Šedivý
fbe66244b8
Fix some typos, remove redundant words and escapes ( #8564 )
...
* doc: Fix typos, remove double words
* Remove redundant escapes in regex
2021-04-19 20:39:08 +00:00
pre-commit-ci[bot]
5d7fe91bd5
[pre-commit.ci] pre-commit autoupdate
...
updates:
- [github.com/PyCQA/flake8: 3.9.0 → 3.9.1](https://github.com/PyCQA/flake8/compare/3.9.0...3.9.1 )
2021-04-19 17:11:11 +00:00
dependabot[bot]
fb35851440
Bump pytest-asyncio in /testing/plugins_integration
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.14.0...v0.15.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-19 03:01:33 +00:00
pytest bot
c117bc350e
[automated] Update plugin list
2021-04-18 00:18:53 +00:00
Abdelrahman Elbehery
9078c3ce23
fix #8464 wrong root dir when -c is passed ( #8537 )
...
fix #8464 wrong root dir when -c is passed
2021-04-16 14:38:35 -03:00
Florian Bruhin
d2f3d40510
doc: Update open trainings ( #8551 )
2021-04-15 19:09:06 +02:00
Bruno Oliveira
af31c60db1
Merge pull request #8540 from hauntsaninja/assert310
2021-04-15 08:55:42 -03:00
Ran Benita
8dd64622ca
Merge pull request #8538 from pytest-dev/update-plugin-list/patch-9653a0e
...
[automated] Update plugin list
2021-04-14 12:52:29 +03:00
Ran Benita
3c451751af
Merge pull request #8542 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-django-4.2.0
...
Bump pytest-django from 4.1.0 to 4.2.0 in /testing/plugins_integration
2021-04-14 12:50:28 +03:00
Ran Benita
6152135c29
Merge pull request #8541 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.2
...
Bump django from 3.1.8 to 3.2 in /testing/plugins_integration
2021-04-14 12:50:01 +03:00
pre-commit-ci[bot]
d200598de9
[pre-commit.ci] pre-commit autoupdate ( #8547 )
...
* [pre-commit.ci] pre-commit autoupdate
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ran Benita <ran@unusedvar.com >
2021-04-14 12:49:09 +03:00
Albert Villanova del Moral
4b214a6049
Add tmp_path_factory methods to the docs ( #8550 )
...
* Add tmp_path_factory methods to the docs
Add the methods of tmp_path_factory to the docs.
Currently, only the class description appears in the docs.
* Add tmpdir_factory methods to the docs
2021-04-14 12:06:35 +03:00
hauntsaninja
e3dc34ee41
fixup comments
2021-04-12 11:34:14 -07:00
dependabot[bot]
22a17dba4e
Bump pytest-django from 4.1.0 to 4.2.0 in /testing/plugins_integration
...
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django ) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.1.0...v4.2.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-12 03:01:33 +00:00
dependabot[bot]
e14bd4a480
Bump django from 3.1.8 to 3.2 in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.8 to 3.2.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.8...3.2 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-12 03:01:30 +00:00
pre-commit-ci[bot]
da66f00413
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-04-11 22:44:33 +00:00
hauntsaninja
8be1628042
Fix assertion rewriting on Python 3.10
...
Fixes https://github.com/pytest-dev/pytest/issues/8539
This seems to have been the result of https://bugs.python.org/issue43798
2021-04-11 15:42:42 -07:00
pytest bot
67d61e56e9
[automated] Update plugin list
2021-04-11 00:20:34 +00:00
Ran Benita
9653a0e9f4
Merge pull request #8531 from pytest-dev/graingert-patch-1
...
fix pytest 6.2.3 #8414 changelog entry grammar
2021-04-10 19:05:19 +03:00
Bruno Oliveira
047c9603f6
Merge pull request #8535 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.8
...
Bump django from 3.1.7 to 3.1.8 in /testing/plugins_integration
2021-04-08 22:15:45 -03:00
Daniele Procida
70daa279a7
Further rationalised "how to invoke pytest" material. ( #8536 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-04-08 21:19:30 -03:00
dependabot[bot]
207c07285f
Bump django from 3.1.7 to 3.1.8 in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.7 to 3.1.8.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.7...3.1.8 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-08 20:05:44 +00:00
Thomas Grainger
97a61916a6
fix pytest 6.2.3 #8414 changelog entry grammar
2021-04-08 15:40:58 +01:00
Ronny Pfannschmidt
41a90cd9fe
Merge pull request #8463 from RonnyPfannschmidt/workaround-8361
...
address #8361 - introduce hook caller wrappers that enable backward compat
2021-04-05 22:50:31 +02:00
Tadeu Manoel
b706a2c048
Fix error with --import-mode=importlib and modules containing dataclasses or pickle ( #7870 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Fixes #7856 , fixes #7859
2021-04-05 17:10:03 -03:00
Anthony Sottile
366c36a168
Merge pull request #8522 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-04-05 10:52:33 -07:00
pre-commit-ci[bot]
0b299044d1
[pre-commit.ci] pre-commit autoupdate
2021-04-05 17:10:40 +00:00
Ran Benita
43b547a1cb
Merge pull request #8521 from pytest-dev/update-plugin-list/patch-07c6b3f
...
[automated] Update plugin list
2021-04-04 13:40:37 +03:00
Ran Benita
00f4cfe403
Merge pull request #8520 from bluetech/cherry-pick-release
...
Cherry pick 6.2.3 release notes
2021-04-04 13:40:18 +03:00
pytest bot
f3337c1854
[automated] Update plugin list
2021-04-04 00:19:23 +00:00
Ran Benita
5d2fad5362
Merge pull request #8519 from pytest-dev/release-6.2.3
...
Prepare release 6.2.3
(cherry picked from commit 724e22cb00 )
2021-04-04 01:08:26 +03:00
Ran Benita
07c6b3fb21
Merge pull request #8516 from bluetech/mktmp
...
Fix minor temporary directory security issue
2021-04-04 00:33:53 +03:00
Ran Benita
c49100cef8
tmpdir: prevent using a non-private root temp directory
...
pytest uses a root temp directory named `/tmp/pytest-of-<username>`. The
name is predictable, and the directory might already exists from a
previous run, so that's allowed.
This makes it possible for my_user to pre-create
`/tmp/pytest-of-another_user`, thus giving my_user control of
another_user's tempdir.
Prevent this scenario by adding a couple of safety checks. I believe
they are sufficient.
Testing the first check requires changing the owner, which requires
root permissions, so can't be unit-tested easily, but I checked it
manually.
2021-04-03 23:42:53 +03:00
Ran Benita
1278f8b97e
tmpdir: fix temporary directories created with world-readable permissions
...
(Written for a Unix system, but might be applicable to Windows as well).
pytest creates a root temporary directory under /tmp, named
`pytest-of-<username>`, and creates tmp_path's and other under it.
/tmp is shared between all users of the system.
This root temporary directory was created with 0o777&~umask permissions,
which usually becomes 0o755, meaning any user in the system could list
and read the files, which is undesirable.
Use 0o700 permissions instead. Also for subdirectories, because the root
dir is adjustable.
2021-04-03 23:42:53 +03:00
Ran Benita
0dd1e5b4f4
pathlib: inline ensure_reset_dir()
...
This is only used in TempPathFactory.getbasetemp(). We'll be wanting
further control/care there, so move it into there.
2021-04-03 23:42:53 +03:00
Ran Benita
78122a5304
pathlib: remove useless temporary variable
2021-04-03 23:42:53 +03:00
Ronny Pfannschmidt
aa10bff750
fix deprecation test for path/fspath hook args
2021-04-03 14:51:36 +02:00
Ronny Pfannschmidt
53ebe34ca2
Apply suggestions from code review
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-04-03 12:46:50 +02:00
Ronny Pfannschmidt
deb5b5bd96
fix #8371 : fix stack-level
2021-04-02 00:58:05 +02:00
Ronny Pfannschmidt
9c151a65c8
Merge pull request #8503 from pytest-dev/require_setuptools
...
monkeypatch.syspath_prepend: Skip fixup_namespace_packages if pkg_resources not imported
2021-04-01 21:49:29 +02:00
Miro Hrončok
778d2b2499
monkeypatch.syspath_prepend: Skip fixup_namespace_packages if pkg_resources not imported
...
Calling pkg_resources.fixup_namespace_packages() is only needed for packages
that use pkg_resources.declare_namespace() and hence they already imported
pkg_resources. When pkg_resources is not imported, we don't need to use it.
This avoids an unneeded runtime dependency on setuptools.
The code is tested by test_syspath_prepend_with_namespace_packages,
behavior should remain unchanged, hence no new test was added.
When people drop pkg_resources from sys.modules, they are on their own.
If someone has a actual use case making this valid to support,
they can come in and provide a test, a reference and a fix.
2021-04-01 20:24:21 +02:00
Mehera Emrich
0061ec5555
Fix typo ( #8504 )
2021-04-01 15:13:12 +02:00
Bruno Oliveira
b96e229c95
Fix plugin-list label in the docs ( #8505 )
...
Last time I "fixed" this I left a `\` at the start of the string
to avoid an initial newline, but didn't realize it was a raw string.
This should fix it now for good.
2021-04-01 15:12:46 +02:00
Ronny Pfannschmidt
bad1963697
fix #8361 : address review/quality comments
2021-03-29 22:29:35 +02:00
Bruno Oliveira
ca4a7a085e
Merge pull request #8496 from pytest-dev/update-plugin-list/patch-9052a9e
...
[automated] Update plugin list
2021-03-27 22:53:43 -03:00
pytest bot
bfdfab00dd
[automated] Update plugin list
2021-03-28 00:18:38 +00:00
Ronny Pfannschmidt
9052a9e313
Merge pull request #8462 from RonnyPfannschmidt/main_fixup_followup
...
port the rest of the scripts/docs over to the main branch
2021-03-27 15:49:20 +01:00
Bruno Oliveira
c1bdff9e69
Merge pull request #8494 from nicoddemus/python-3.10
2021-03-27 11:32:31 -03:00
Bruno Oliveira
a7416a535a
Add classifier for Python 3.10 and CHANGELOG entry
2021-03-27 11:13:16 -03:00
Bruno Oliveira
913cffa45f
Add warnings filter for disutils deprecation
...
Deprecated in 3.10, scheduled for removal in 3.12
2021-03-27 11:13:16 -03:00
Bruno Oliveira
b2954e85d6
Adjust message for Python 3.10
...
Now the message includes the class name ("Skip.__init__() got multiple...").
2021-03-27 11:13:16 -03:00
Bruno Oliveira
878a51ef53
Merge pull request #8493 from pytest-dev/docs-fix
...
tweak documentation of report's sections attribute
2021-03-26 07:47:38 -03:00
Bruno Oliveira
d9f4cedf17
Merge pull request #8472 from bluetech/rm-unnecessary-py-path-4
...
testing: stop relying on comparing to py.path in fnmatcher tests
2021-03-26 07:43:37 -03:00
Bruno Oliveira
8c65a4f174
Configure support for Python 3.10
2021-03-26 07:33:24 -03:00
Bruno Oliveira
ddbc00d61e
Merge pull request #8391 from nicoddemus/ellipsis-verbose-6682
...
Increase truncation threshold with -v, disable with -vv
2021-03-26 07:29:36 -03:00
Bruno Oliveira
c1e057065c
Fix plugin-list label and script
...
This was changed during the current docs restructing and
we missed that it changed the label.
2021-03-26 07:13:52 -03:00
Bruno Oliveira
be8d63e33b
Increase truncation threshold with -v, disable with -vv
...
Fix #6682
Fix #8403
2021-03-26 07:05:30 -03:00
Bruno Oliveira
9e8a6b6eeb
Merge pull request #8477 from evildmp/evolutionary-documentation-restructure
2021-03-26 06:32:26 -03:00
wim glenn
76ab94e4a0
fix some bunk formatting in the CollectReport, and reword the description of the 'sections' attribute
2021-03-25 22:25:19 -05:00
Bruno Oliveira
8d21df0dc6
Merge pull request #8473 from pytest-dev/update-plugin-list/patch-35df3e6
...
[automated] Update plugin list
2021-03-25 17:36:25 -03:00
Bruno Oliveira
7dfaaa1e16
Merge pull request #8476 from symonk/cmdline-main-docs
...
Remove note on conftest.py files as part of pytest_cmdline_main hookspec
2021-03-25 17:23:24 -03:00
pre-commit-ci[bot]
f28421cc70
[pre-commit.ci] pre-commit autoupdate ( #8480 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-03-23 19:05:19 +00:00
Daniele Procida
a7d528e058
Restructured 'How to invoke pytest' guide
2021-03-22 22:47:13 +00:00
Simon K
a6cf0a0a0e
rename master to main in PULL_REQUEST_TEMPLATE.md ( #8481 )
2021-03-22 22:06:46 +00:00
Florian Bruhin
bc055e8e69
Fix required_plugins with prereleases ( #8469 )
...
* Fix required_plugins with prereleases
Fixes #8456
* Fix existing tests
* Update changelog/8456.bugfix.rst
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-03-21 22:51:12 +01:00
symonk
42ece0ca81
remove conftest note on pytest_cmdline_main, the hook is invoked
2021-03-21 20:06:18 +00:00
pytest bot
3add1a4d0f
[automated] Update plugin list
2021-03-21 00:50:28 +00:00
Ronny Pfannschmidt
7ac7610089
add tresting for implication
2021-03-20 23:44:36 +01:00
Ronny Pfannschmidt
4ddf6c647c
test warnings and fix invocation bugs
2021-03-20 23:39:38 +01:00
Ronny Pfannschmidt
2994022753
reshape typing for hook invocation proxying
2021-03-20 23:02:03 +01:00
Ronny Pfannschmidt
a550db4b6c
drop internal py.path.local objects from hook calls
2021-03-20 21:50:40 +01:00
Ran Benita
945cc0b5a1
testing: stop relying on comparing to py.path in fnmatcher tests
2021-03-20 21:58:45 +02:00
Ronny Pfannschmidt
30f1b81eb2
address #8361 - introduce hook caller wrappers that enable backward compat
2021-03-18 23:08:03 +01:00
Ronny Pfannschmidt
ff6d5ae278
port the rest of the scripts/docs over to the main branch
2021-03-18 22:13:12 +01:00
Bruno Oliveira
35df3e68d5
Merge pull request #8459 from bluetech/unnecessary-py-path-3
2021-03-18 09:05:45 -03:00
Jürgen Gmach
fb481c7e6f
fix typo ( #8460 )
2021-03-18 12:34:01 +01:00
Ran Benita
4690e4c510
reports: support any PathLike instead of only Path, py.path
...
The goal is to avoid referring to the legacy py.path.
2021-03-18 10:23:48 +02:00
Ran Benita
202dd9f423
pytester: add & use our own copytree instead of py.path's
...
Fixes the TODO note.
2021-03-18 10:23:48 +02:00
Ran Benita
ccdadb64ea
main: add Session.startpath, make Session.startdir a property that can be deprecated
...
Same as in Config.
2021-03-18 10:23:48 +02:00
Ran Benita
6a174afdfe
terminal: move startdir attribute to a property that can be deprecated
...
Same as in Config.
2021-03-18 10:23:48 +02:00
Ran Benita
e515264eb1
Remove yet more unnecessary py.path uses
2021-03-18 10:23:48 +02:00
Ran Benita
fe215bda6b
Merge pull request #8446 from bluetech/unnecessary-py-path-2
...
More py.path removal work
2021-03-18 10:20:59 +02:00
Ran Benita
f7efb9a01c
Merge pull request #8455 from evildmp/evolutionary-documentation-restructure
...
Explicitly listed the four documentation sections on index.rst
2021-03-18 09:52:31 +02:00
Ronny Pfannschmidt
6071b2c647
Merge pull request #8449 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-03-17 15:09:46 +01:00
Kale Kundert
dd3709718d
Merge pull request #8453 from encukou/rel-error-message
...
Fix value in error message about negative relative tolerance
2021-03-16 16:43:31 -04:00
Daniele Procida
6ab461f460
Explicitly listed the four documentation sections on index.rst
2021-03-16 20:26:05 +00:00
pre-commit-ci[bot]
da4abd1c82
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-03-16 19:10:55 +00:00
Petr Viktorin
43b451e95e
Add tests for the error message
2021-03-16 20:09:17 +01:00
Petr Viktorin
1f131afb07
Fix value in error message about negative relative tolerance
2021-03-16 18:54:52 +01:00
Bruno Oliveira
2ce446a75f
Merge pull request #8451 from evildmp/evolutionary-documentation-restructure
2021-03-16 10:52:49 -03:00
Daniele Procida
7781582d52
Restructured global TOC
...
* Changed "Table Of Contents" link to a plain heading.
* Removed Customize, API Reference, 3rd party plugins links altogether.
* Added an "About the project" heading
2021-03-15 23:20:55 +00:00
Daniele Procida
c83b05af6b
Merge remote-tracking branch 'origin/main' into evolutionary-documentation-restructure
2021-03-15 22:28:50 +00:00
pre-commit-ci[bot]
584fd0f387
[pre-commit.ci] pre-commit autoupdate
2021-03-15 17:01:35 +00:00
Ran Benita
f0c7043138
Remove/replace some more unnecessary uses of py.path
2021-03-15 10:39:44 +02:00
Ran Benita
a03ee02817
config: make collect_ignore accept any PathLike
...
The main reason is to remove a reference to `py.path`.
2021-03-15 10:39:32 +02:00
Ran Benita
b26d1bb18f
cacheprovider: add cache.mkdir() as a Path-returning replacement to makedir()
...
It is not possible to change a return type in a compatible way, so a new
method is added.
2021-03-15 10:39:31 +02:00
Daniele Procida
2641761c1c
Merge pull request #8441 from evildmp/evolutionary-documentation-restructure
...
Moved more sections from reference to how-to.
2021-03-15 10:22:11 +02:00
Daniele Procida
64107be443
Amended plugin list script for moved file.
2021-03-14 22:44:20 +00:00
Daniele Procida
d171a3f52d
Moved more sections from reference to how-to.
...
* re-ordered and grouped how-to guides in how-to landing page
* retitled moved documents appropriately
* separated writing plugins/writing hook functions into two documents
2021-03-14 19:33:43 +00:00
Ran Benita
63bc49de70
Merge pull request #8440 from bluetech/unnecessary-py-path
...
Remove/replace some unneeded usages of py.path
2021-03-14 15:56:07 +02:00
Ran Benita
59251e8a2a
Remove/replace some unneeded usages of py.path
2021-03-14 14:12:28 +02:00
Bruno Oliveira
cdbeb03aef
Merge pull request #8442 from pytest-dev/update-plugin-list/patch-ba0193a
...
[automated] Update plugin list
2021-03-14 07:18:15 -03:00
pytest bot
493b54e21e
[automated] Update plugin list
2021-03-14 00:49:15 +00:00
Ran Benita
ba0193ad06
Merge pull request #8439 from bluetech/doc-tmpdir-reduce
...
doc/tmpdir: significantly reduce space dedicated to tmpdir/tmpdir_factory
2021-03-13 21:35:00 +02:00
Ran Benita
3075078498
Merge pull request #8438 from bluetech/setuptools-dash-deprecation
...
setup.cfg: fix setuptools dash-separator warnings
2021-03-13 20:56:13 +02:00
Ran Benita
ba7bd3d77c
doc/tmpdir: significantly reduce space dedicated to tmpdir/tmpdir_factory
...
Emphasize tmp_path/tmp_path_factory and just note the legacy ones.
2021-03-13 20:44:23 +02:00
Ran Benita
8c350b9837
setup.cfg: fix setuptools dash-separator warnings
...
Warnings like this:
python3.9/site-packages/setuptools/dist.py:634: UserWarning: Usage of
dash-separated 'upload-dir' will not be supported in future versions.
Please use the underscore name 'upload_dir' instead
2021-03-13 20:30:24 +02:00
Bruno Oliveira
ef1308c23b
Merge pull request #8407 from nicoddemus/type-annotations-description-8405
...
Add type annotations to the description instead of signature
2021-03-13 14:46:37 -03:00
Ran Benita
db539ed2b0
Merge pull request #8437 from bluetech/rm-typevar-prefix
...
Remove `_` prefix from TypeVars, expose ExceptionInfo
2021-03-13 19:01:29 +02:00
Bruno Oliveira
9fa6673222
Merge pull request #8434 from evildmp/evolutionary-documentation-restructure
2021-03-13 12:50:45 -03:00
Pierre Mourlanne
af9f27a874
Approx decimal sequence mapping ( #8422 )
2021-03-13 16:01:23 +02:00
Ran Benita
f2d65c85f4
code: export ExceptionInfo for typing purposes
...
This type is most prominent in `pytest.raises` and we should allow to
refer to it by a public name.
The type is not in a perfectly "exposable" state. In particular:
- The `traceback` property with type `Traceback` which is derived from
the `py.code` API and exposes a bunch more types transitively. This
stuff is *not* exported and probably won't be.
- The `getrepr` method which probably should be private.
But they're already used in the wild so no point in just hiding them
now.
The __init__ API is hidden -- the public API for this are the `from_*`
classmethods.
2021-03-13 15:59:44 +02:00
Ran Benita
96ef7d678b
code: fix outdated reference in ExceptionInfo.exconly docstring
...
No such thing as `_pytest._code.AssertionError`, it's just the built-in
`AssertionError`.
2021-03-13 14:44:50 +02:00
Ran Benita
5bbfb4e058
Remove _ prefix from TypeVars which appear in public API
...
The prefixes make the API Reference docs (for e.g. `pytest.raises`,
`pytest.fixture`) uglier.
Being under `_pytest` is sufficient from a privacy perspective, so let's
drop them.
2021-03-13 14:44:50 +02:00
Daniele Procida
dd576509e1
Merge branch 'main' into evolutionary-documentation-restructure
2021-03-13 12:09:36 +00:00
Bruno Oliveira
146eda93e7
Merge pull request #8436 from pytest-dev/doc-fix-toc
...
doc: fix broken links in left-hand TOC
2021-03-13 08:24:35 -03:00
Ran Benita
639c4e64a1
doc: fix broken links in left-hand TOC
...
Due to recent renamings.
2021-03-13 12:44:30 +02:00
Daniele Procida
843e9eac2c
Added myself to AUTHORS
2021-03-12 23:14:18 +00:00
Daniele Procida
8410d9ac54
Created a new Explanation section and new landing pages for main sections.
...
Added landing pages for:
How-to guides
Reference guides
Explanation
Added links to the main landing pages to the sidebar.
2021-03-12 22:57:53 +00:00
Daniele Procida
ff2ee96b8c
Split fixtures documentation into separate documents.
...
Sections have been moved to:
* reference/fixtures.rst
* how-to/fixtures.rst
* fixtures.rst
according to their function. Further refinement and rewriting will be required.
Some material has been moved to a new "Anatomy of a test" document, in
anticipation that material from other sections will also find a natural
home there later.
Removed several unneeded reference targets from fixtures documentation.
2021-03-12 22:16:47 +00:00
Bruno Oliveira
32ad70dea8
Merge pull request #8433 from evildmp/evolutionary-documentation-restructure
...
Added how-to and reference directories.
2021-03-11 19:26:09 -03:00
Daniele Procida
d8695410a4
Added how-to and reference directories.
...
Moved various documents into subdirectories, how-to and
reference.
Updated multiple links to use `:ref:` instead of `:doc:`,
meaning that files can henceforth be moved around without
breaking references.
2021-03-11 22:13:01 +00:00
Bruno Oliveira
4b7edef08f
Merge pull request #8431 from evildmp/evolutionary-documentation-restructure
...
Moved documentation topics to group them by theme.
2021-03-11 16:32:16 -03:00
Daniele Procida
a362200d47
Moved documentation topics to group them by theme.
...
Reordered items in:
* _templates/globaltoc.html
* contents.rst
2021-03-11 17:22:54 +00:00
Ran Benita
2a789b9e3a
Merge pull request #8409 from pytest-dev/update-plugin-list/patch-620e819
...
[automated] Update plugin list
2021-03-11 18:26:12 +02:00
Ran Benita
c9867bcc9d
Merge pull request #8416 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-03-11 09:17:40 +02:00
Ran Benita
ce2ad8ebd4
Merge pull request #8430 from evildmp/evolutionary-documentation-restructure
...
Renamed Install to Getting started; moved notes to index.
2021-03-11 09:17:03 +02:00
Daniele Procida
d2d975d6cf
Reworded titles of some clear how-to guides
...
Files retitled:
assert.rst
bash-completion.rst
capture.rst
existingtestsuite.rst
mark.rst
monkeypatch.rst
nose.rst
parametrize.rst
plugins.rst
skipping.rst
tmpdir.rst
usage.rst
2021-03-10 20:26:06 +00:00
Daniele Procida
4a19533ba5
Renamed Install to Getting started; moved notes to index
2021-03-10 19:20:32 +00:00
Ronny Pfannschmidt
bfbf733a3e
Merge pull request #8425 from RonnyPfannschmidt/main-fixes
...
reconfigure everything for main
2021-03-09 22:54:01 +01:00
Ronny Pfannschmidt
dbed1ff68f
adopt main terminology in the configs
...
ref pytest-dev/meta#8
2021-03-09 22:35:34 +01:00
Anthony Sottile
38d8deb74d
Merge pull request #8419 from pytest-dev/all-repos_autofix_all-repos-manual
...
clean up mkdtemp usage
2021-03-09 07:04:32 -08:00
Anthony Sottile
7a6ec5616d
clean up mkdtemp usage
...
Committed via https://github.com/asottile/all-repos
2021-03-08 19:12:08 -08:00
pre-commit-ci[bot]
ddde3266c6
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-03-08 16:55:59 +00:00
pre-commit-ci[bot]
125633728f
[pre-commit.ci] pre-commit autoupdate
2021-03-08 16:54:31 +00:00
Anthony Sottile
79b03ce8db
Merge pull request #8411 from RonnyPfannschmidt/example-outcomes-check
...
fix bug in test for issue 519
2021-03-07 08:17:34 -08:00
Bruno Oliveira
fc651fb158
Merge pull request #8251 from RonnyPfannschmidt/pathlib-node-path
2021-03-07 11:10:07 -03:00
Ronny Pfannschmidt
412fc001a0
fix bug in test for issue 519
...
assert the actual outcome and fix the filename
2021-03-07 15:01:39 +01:00
pytest bot
f0ad73c4b0
[automated] Update plugin list
2021-03-07 00:48:50 +00:00
Florian Bruhin
620e819656
Add enterPy training ( #8396 )
2021-03-06 22:59:33 +01:00
Ronny Pfannschmidt
77cb110258
drop usage of py.path.local calls
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-03-06 21:32:03 +01:00
Ronny Pfannschmidt
22dad53a24
implement Node.path as pathlib.Path
...
* reorganize lastfailed node sort
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-03-06 21:32:03 +01:00
Bruno Oliveira
7c792e96c6
Add type annotations to the description instead of signature
...
This configures Sphinx autodoc to include the type annotations
along with the description of the function/method, instead of including
it into the signature.
Fix #8405
2021-03-05 22:22:53 -03:00
Alexandros Tzannes
19a2f7425d
Merge pull request #8399 from atzannes/master
...
closes #8394
Generated fixture names for unittest/xunit/nose should start with underscore
2021-03-04 22:45:57 +02:00
Ran Benita
6e7dc8bac8
Merge pull request #8357 from matthewhughes934/remove-tmpdir-from-tests
...
Remove tmpdir from tests
2021-03-04 18:34:19 +02:00
Florian Bruhin
c14a9adba3
Fix skip signature ( #8392 )
...
* Fix test_strict_and_skip
The `--strict` argument was removed in #2552 , but the removal wasn't
actually correct - see #1472 .
* Fix argument handling in pytest.mark.skip
See #8384
* Raise from None
* Fix test name
2021-03-04 11:56:21 +01:00
Bruno Oliveira
4dbb29431a
Merge pull request #8385 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-03-02 17:33:55 -03:00
Bruno Oliveira
bc0af99e5e
Merge pull request #8383 from pytest-dev/dependabot/pip/testing/plugins_integration/twisted-21.2.0
...
build(deps): bump twisted from 20.3.0 to 21.2.0 in /testing/plugins_integration
2021-03-02 17:33:35 -03:00
Bruno Oliveira
284b9dba9d
Merge pull request #8382 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--2.2.0
...
build(deps): bump anyio[curio,trio] from 2.1.0 to 2.2.0 in /testing/plugins_integration
2021-03-02 17:33:09 -03:00
pre-commit-ci[bot]
decca74788
[pre-commit.ci] pre-commit autoupdate
2021-03-01 16:53:28 +00:00
dependabot[bot]
897b5a3bd6
build(deps): bump twisted in /testing/plugins_integration
...
Bumps [twisted](https://github.com/twisted/twisted ) from 20.3.0 to 21.2.0.
- [Release notes](https://github.com/twisted/twisted/releases )
- [Changelog](https://github.com/twisted/twisted/blob/twisted-21.2.0/NEWS.rst )
- [Commits](https://github.com/twisted/twisted/compare/twisted-20.3.0...twisted-21.2.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-01 03:02:50 +00:00
dependabot[bot]
62ef875796
build(deps): bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/2.1.0...2.2.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-01 03:02:48 +00:00
Bruno Oliveira
cd783eba03
Merge pull request #8376 from pytest-dev/update-plugin-list/patch-22c0dac
...
[automated] Update plugin list
2021-02-28 07:55:43 -03:00
pytest bot
a623b1b086
[automated] Update plugin list
2021-02-28 00:48:46 +00:00
Simon K
22c0dace3b
change istestfunction to callable() ( #8374 )
2021-02-25 20:32:27 +00:00
Simon K
b7f2d7ca61
Fixed an issue where getpass.getuser() contained illegal characters for file directories ( #8365 )
...
* retry writing pytest-of dir when invalid chars are in directory name
* add unit tests for getbasetemp() and changelog
* patch _basetemp & _given_basetemp for testing basetemp()
* Tweak changelog for #8317 , tidy up comments
2021-02-25 08:28:57 +00:00
Matthew Hughes
514f8e0680
fixup! Rename variables 'tmpdir'->'tmp_path'
2021-02-24 20:55:35 +00:00
Bruno Oliveira
bbea18d7f9
Merge pull request #8367 from The-Compiler/class-fromparent-kw
2021-02-23 16:25:14 -03:00
Bruno Oliveira
690fb26ec7
Merge pull request #8368 from The-Compiler/fromparent-changelog
...
Fix typo in changelog
2021-02-23 16:24:24 -03:00
Florian Bruhin
9d09d19911
Fix typo in changelog
...
See #7143
2021-02-23 18:03:10 +01:00
pre-commit-ci[bot]
3b7fc2c9c8
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2021-02-23 17:02:50 +00:00
Florian Bruhin
54a154c86f
Allow Class.from_parent to forward custom parameters to the constructor
...
Similarly to #7143 , at work we have a project with a custom pytest.Class
subclass, adding an additional argument to the constructor.
All from_parent implementations in pytest accept and forward *kw, except
Class (before this change) and DoctestItem - since I'm not familiar with
doctest support, I've left the latter as-is.
2021-02-23 18:00:56 +01:00
Bruno Oliveira
d6522b517b
Merge pull request #8364 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-02-22 18:36:43 -03:00
Bruno Oliveira
d37fe13af5
Merge pull request #8362 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.7
...
build(deps): bump django from 3.1.6 to 3.1.7 in /testing/plugins_integration
2021-02-22 17:36:58 -03:00
Bruno Oliveira
d76f7b3039
Merge pull request #8359 from pytest-dev/update-plugin-list/patch-4964b46
...
[automated] Update plugin list
2021-02-22 17:34:40 -03:00
pre-commit-ci[bot]
e503e27579
[pre-commit.ci] pre-commit autoupdate
2021-02-22 17:04:30 +00:00
dependabot[bot]
060cbef260
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.6...3.1.7 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-02-22 03:01:27 +00:00
Matthew Hughes
c9bb4c418f
fixup! Rename variables 'tmpdir'->'tmp_path'
...
* Add some more of these
* Also reintroduce+rename instances of fixture usages that were
'tmpdir'->'tmp_path'
2021-02-21 13:10:07 +00:00
pytest bot
56421aed01
[automated] Update plugin list
2021-02-21 00:46:01 +00:00
Matthew Hughes
09d4c5e30a
Rename variables 'tmpdir'->'tmp_path'
...
Rename this variables reflecting the migrations made with 3bcd316f0 and
ed658d682
2021-02-20 18:24:58 +00:00
Matthew Hughes
0e5e4e03e6
Remove some unused 'tmpdir's
2021-02-20 18:01:42 +00:00
Ran Benita
4964b468c8
Merge pull request #8354 from feanil/patch-1
...
Remove a redundant paragraph
2021-02-20 17:19:54 +02:00
Feanil Patel
e6012612b9
Remove a redundant paragraph
...
doc This paragraph looks like it is a more verbose version of the sentence right above it. Removing it doesn't reduce the amount of information here but does make the section flow a little better.
2021-02-19 13:46:29 -05:00
Ran Benita
a44dcf5ece
Merge pull request #8351 from vpoulailleau/patch-1
...
Update number of plugins
2021-02-18 17:28:44 +02:00
Vincent Poulailleau
565fe0fb7d
Update number of plugins
...
According to the source, there are 801 plugins now!
2021-02-18 15:27:39 +01:00
Bruno Oliveira
c9d623971a
Merge pull request #8349 from maskypy40/patch-1
...
Removes 2 empty lines from example code
2021-02-18 08:16:54 -03:00
maskypy40
532543b4ef
Remove empty lines from code-block
...
In assert.rst at line 175 and further there is an example of an assert encountering comparisons. The code-block for this example starts with a comment (line 177) and then it has 2 empty lines. Comparing this example code (test_assert2.py) with the previously mentioned example code on the same page (i.e. test_assert1.py) you can see that there should not be 2 empty lines after the comment. These 2 empty lines are removed.
2021-02-17 09:33:04 +01:00
Ran Benita
ab2eb94054
Merge pull request #8345 from pytest-dev/update-plugin-list/patch-16e21c2
...
[automated] Update plugin list
2021-02-15 15:08:17 +02:00
pytest bot
a0ae5fd652
[automated] Update plugin list
2021-02-14 00:45:06 +00:00
Bruno Oliveira
16e21c22a3
Merge pull request #8336 from sbellem/typos/setup.cfg
...
Remove duplicate '>=' in setup.cfg
2021-02-11 07:53:02 -03:00
Sylvain Bellemare
3d831225bb
Remove duplicate '>=' in setup.cfg
2021-02-10 22:17:39 +00:00
Anthony Sottile
92959fe236
Merge pull request #8329 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-02-08 09:38:02 -08:00
pre-commit-ci[bot]
6432fc2302
[pre-commit.ci] pre-commit autoupdate
2021-02-08 16:50:48 +00:00
Ran Benita
1003beaffa
Merge pull request #8323 from bluetech/setupstate-refactor-3
...
runner: a few more tweaks to SetupState
2021-02-08 13:56:04 +02:00
Bruno Oliveira
f85427b92a
Merge pull request #8326 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.6
...
build(deps): bump django from 3.1.5 to 3.1.6 in /testing/plugins_integration
2021-02-08 08:09:23 -03:00
Bruno Oliveira
e9d554c5f5
Merge pull request #8324 from pytest-dev/update-plugin-list/patch-bcfe253
...
[automated] Update plugin list
2021-02-08 08:04:16 -03:00
Bruno Oliveira
7b91302b33
Merge branch 'master' into dependabot/pip/testing/plugins_integration/django-3.1.6
2021-02-08 08:03:23 -03:00
Bruno Oliveira
ee5afb2a8f
Merge pull request #8325 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--2.1.0
...
build(deps): bump anyio[curio,trio] from 2.0.2 to 2.1.0 in /testing/plugins_integration
2021-02-08 08:02:41 -03:00
dependabot[bot]
ef14f286a3
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.5...3.1.6 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-02-08 03:02:01 +00:00
dependabot[bot]
e8d7a7b843
build(deps): bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 2.0.2 to 2.1.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/2.0.2...2.1.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-02-08 03:01:58 +00:00
Ronny Pfannschmidt
325d701f6e
Merge pull request #8248 from RonnyPfannschmidt/mixin-mro-position
...
alter the PyObjMixin to carry over typing information from Node
2021-02-07 18:44:44 +01:00
pytest bot
3c6bd7eb27
[automated] Update plugin list
2021-02-07 00:44:13 +00:00
Ran Benita
5822888d73
runner: add clarifying comments on why runtestprotocol re-inits the FixtureRequest
2021-02-06 20:46:08 +02:00
Ran Benita
f42b68ccaa
runner: rename SetupState.prepare -> setup
...
This is the usual terminology we use, and matches better with
`teardown_exact()` and `pytest_runtest_setup()`.
2021-02-06 20:46:08 +02:00
Ran Benita
f674f6da9f
runner: add a safety assert to SetupState.prepare
...
This ensures that the teardown for the previous item was done properly
for this (next) item, i.e. there are no leftover teardowns.
2021-02-06 20:46:08 +02:00
Pax
bcfe253f5b
Type annotation for request.param ( #8319 )
2021-02-05 22:03:58 +02:00
Bruno Oliveira
150bdceb7a
Merge pull request #8322 from pytest-dev/fixture-docs
...
doc: Remove confusing fixture sentence
2021-02-05 15:11:17 -03:00
Florian Bruhin
c604f3f0c5
doc: Remove confusing fixture sentence
...
There is no previous `test_ehlo` example (it follows much later) - and the same thing is described further down in ""Requesting" fixtures" already.
2021-02-05 17:47:37 +01:00
Bruno Oliveira
ed8cabe4fd
Merge pull request #8320 from nicoddemus/change-update-plugins-cron
...
Update plugin-list every Sunday instead of everyday
2021-02-05 07:48:31 -03:00
Bruno Oliveira
e3c0fd3203
Update plugin-list every Sunday instead of everyday
...
Every day seems a bit excessive lately, let's make it less frequent.
2021-02-05 07:29:12 -03:00
Bruno Oliveira
375e95180c
Merge pull request #8318 from pytest-dev/update-plugin-list/patch-b3115c1
...
[automated] Update plugin list
2021-02-04 23:10:54 -03:00
pytest bot
16af1a31fd
[automated] Update plugin list
2021-02-05 00:24:50 +00:00
Ran Benita
b3115c1b06
Merge pull request #8315 from bluetech/parser-proper-deprecation
...
config/argparsing: use proper deprecations instead of ad-hoc DeprecationWarning
2021-02-05 00:37:38 +02:00
Ran Benita
d358a060ad
config/argparsing: use proper deprecations instead of ad-hoc DeprecationWarning
...
Proper for removing this in the next major pytest release.
2021-02-05 00:05:47 +02:00
Hong Xu
80c223474c
Type annotation polishing for symbols around Pytester.run ( #8298 )
...
* Type annotation polishing for symbols around Pytester.run
Hopefully these will help document readers understand pertinent methods
and constants better.
Following up #8294
* Use NOTSET instead of object
2021-02-04 23:44:22 +02:00
Bruno Oliveira
bebb6953eb
Merge pull request #8312 from matthewhughes934/add-regendoc-runs-for-fixture-docs
2021-02-04 15:50:48 -03:00
Matthew Hughes
709c211e68
Run regendoc over fixture docs
...
This is the result of running:
$ cd doc/en && make regen REGENDOC_FILES=fixture.rst
2021-02-04 18:32:52 +00:00
Matthew Hughes
97cfd66806
Add regendoc runs for emaillib tests in fixture
...
Also update these tests ensure they pass, and be explicit about the test
file called in an existing test to avoid unintentional calls to the
added tests
2021-02-04 18:32:28 +00:00
Bruno Oliveira
287bab09a4
Merge pull request #8314 from pytest-dev/update-plugin-list/patch-275174e
...
[automated] Update plugin list
2021-02-04 11:54:29 -03:00
Bruno Oliveira
7c622d7462
Merge pull request #8316 from The-Compiler/training-update
...
doc: Remove past training
2021-02-04 10:02:02 -03:00
Florian Bruhin
b77f071bef
doc: Remove past training
2021-02-04 11:40:28 +01:00
Ran Benita
3907856cb3
Merge pull request #8297 from pytest-dev/monkeypatch-docs
...
doc: Point out two-argument form of monkeypatch.setattr
2021-02-04 10:13:27 +02:00
pytest bot
1d895dd46c
[automated] Update plugin list
2021-02-04 00:26:06 +00:00
Matthew Hughes
298541f540
Add basic emaillib for tests in fixture.rst
...
This will be used to power regendoc runs for later tests
2021-02-03 13:14:31 +00:00
Matthew Hughes
100c8deab5
Fix various typos in fixture docs
2021-02-03 13:14:31 +00:00
Bruno Oliveira
275174e147
Merge pull request #8308 from pytest-dev/update-plugin-list/patch-c26dddc
...
[automated] Update plugin list
2021-02-02 09:05:04 -03:00
Bruno Oliveira
3568df22b0
Merge pull request #8302 from pytest-dev/update-plugin-list/patch-ed8f424
...
[automated] Update plugin list
2021-02-02 08:43:51 -03:00
pytest bot
3165b1e323
[automated] Update plugin list
2021-02-02 00:31:11 +00:00
Bruno Oliveira
c26dddc651
Merge pull request #8306 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-02-01 17:37:14 -03:00
pre-commit-ci[bot]
1b2ca22e9b
[pre-commit.ci] pre-commit autoupdate
2021-02-01 16:49:41 +00:00
pytest bot
5c61d60b0d
[automated] Update plugin list
2021-02-01 00:32:44 +00:00
Ran Benita
ed8f424bcb
Merge pull request #8299 from pytest-dev/update-plugin-list/patch-38a3e30
...
[automated] Update plugin list
2021-01-30 15:13:22 +02:00
Ran Benita
c971f2f474
ci: give pytest bot the credit for updating the plugin list
2021-01-30 13:04:10 +02:00
bluetech
de06f468ed
[automated] Update plugin list
2021-01-30 00:30:28 +00:00
Florian Bruhin
f0f19aa8d9
doc: Point out two-argument form of monkeypatch.setattr
...
See the "for convenience" part here: https://docs.pytest.org/en/stable/reference.html#pytest.MonkeyPatch.setattr
2021-01-29 21:08:37 +01:00
Bruno Oliveira
38a3e30cd9
Merge pull request #8296 from bluetech/mypy-800-ignores
...
Remove some no longer needed type-ignores
2021-01-29 16:35:33 -03:00
Ran Benita
afea190797
Remove some no longer needed type-ignores
2021-01-29 20:40:43 +02:00
Hong Xu
07f0eb26b4
Doc: Clarify pytester.run ( #8294 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-01-29 12:54:06 -03:00
Ran Benita
63ea727bc2
changelog: fix missing tick ( #8295 )
...
Messes with the rendering.
2021-01-29 16:21:25 +02:00
Maximilian Cosmo Sitter
beda7a8a31
Add plugin list
2021-01-29 16:19:54 +02:00
Ran Benita
0b510bcc51
changelog: fix missing tick
...
Messes with the rendering.
2021-01-29 16:06:36 +02:00
Bruno Oliveira
6a5d47a243
Merge pull request #8260 from nicoddemus/faulthandler-mode-X-8258
2021-01-28 13:03:24 -03:00
Bruno Oliveira
7b4ee65bdc
Merge pull request #8284 from encukou/patch-1
...
Doc: Fix typo
2021-01-27 09:40:55 -03:00
Bruno Oliveira
0365b1be64
Merge pull request #8280 from xuhdev/module
...
Doc: Move the module declaration to index.rst
2021-01-27 09:05:36 -03:00
Petr Viktorin
56cea26445
Doc: Fix typo
2021-01-27 10:23:18 +01:00
Ran Benita
0939c3e022
Merge pull request #8279 from pytest-dev/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-01-26 11:17:58 +02:00
Hong Xu
8bb3977cb6
Doc: Move the module declaration to index.rst
...
When the declaration stays in reference.rst, it creates duplicated
"pytest" symbols such as `pytest.pytest.mark.filterwarnings`.
2021-01-26 00:48:01 -08:00
Bruno Oliveira
dfe933cdb4
Remove mypy workaround after 0.800 update
2021-01-25 15:23:13 -03:00
pre-commit-ci[bot]
6806091b93
[pre-commit.ci] pre-commit autoupdate
2021-01-25 16:41:17 +00:00
Bruno Oliveira
33861098d9
Only re-enable fauthandler during unconfigure if it was enabled before
2021-01-25 12:28:00 -03:00
Christian Steinmeyer
781b73bb52
Mention that class variables are shared between tests
...
Close #8252
2021-01-25 12:02:59 -03:00
Bruno Oliveira
f3efc4e049
Merge pull request #8277 from nicoddemus/cherry-pick-release
...
Merge pull request #8275 from pytest-dev/release-6.2.2
2021-01-25 12:02:49 -03:00
Bruno Oliveira
2a890286f8
Merge pull request #8275 from pytest-dev/release-6.2.2
...
Prepare release 6.2.2
(cherry picked from commit 8220eca963 )
2021-01-25 11:53:05 -03:00
Ran Benita
fff9f28fdd
Merge pull request #8272 from bluetech/setupstate-refactor-2
...
runner: avoid using node's store in SetupState
2021-01-25 16:00:05 +02:00
Bruno Oliveira
5cc295e74b
Merge pull request #8273 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-cov-2.11.1
...
build(deps): bump pytest-cov from 2.10.1 to 2.11.1 in /testing/plugins_integration
2021-01-25 09:12:14 -03:00
dependabot[bot]
83ee1a1f3b
build(deps): bump pytest-cov in /testing/plugins_integration
...
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov ) from 2.10.1 to 2.11.1.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases )
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.10.1...v2.11.1 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-01-25 03:16:50 +00:00
Ran Benita
48fb989a71
runner: avoid using node's store in SetupState
...
SetupState maintains its own state, so it can store the exception
itself, instead of using the node's store, which is better avoided when
possible.
This also reduces the lifetime of the reference-cycle-inducing exception
objects which is never a bad thing.
2021-01-24 15:05:03 +02:00
Ran Benita
d5df8f99ab
Merge pull request #8219 from bluetech/setupstate-refactor
...
runner: refactor SetupState
2021-01-24 14:51:58 +02:00
Ran Benita
c30feeef8b
runner: add docstring to SetupState and improve variable naming a bit
2021-01-24 14:29:54 +02:00
Ran Benita
0d19aff562
runner: schedule node.teardown() call already at setup
...
This is more elegant.
2021-01-24 14:08:39 +02:00
Ran Benita
1db78bec31
runner: use insertion-ordered dict instead of stack, dict pair
...
Since dicts are now ordered, we can use the finalizers dict itself as
the dict, simplifying the code.
2021-01-24 14:08:39 +02:00
Ran Benita
03c3a90c68
runner: replace setdefault with an unconditional set
...
The already-exists case is not supposed to happen.
2021-01-24 14:08:39 +02:00
Ran Benita
960ebae943
runner: enable a commented assertion in SetupState.addfinalizer
...
The assertion ensures that when `addfinalizer(finalizer, node)` is
called, the node is in the stack. This then would ensure that the
finalization is actually properly executed properly during the node's
teardown. Anything else indicates something is wrong.
Previous commits fixed all of the tests which previously failed this, so
can be reenabeld now.
2021-01-24 14:08:39 +02:00
Ran Benita
6db082a448
fixtures: make sure to properly setup stack for _fill_fixtures_impl
...
This code is weird, dead, deprecated and will be removed in pytest 7,
but for now some tests execute it, so fix it up in preparation for
some changes.
2021-01-24 14:08:39 +02:00
Ran Benita
637300d13d
testing: fix some tests to be more realistic
...
Perform the operations in the order and context in which they can
legally occur.
2021-01-24 14:08:39 +02:00
Ran Benita
c83d030028
testing/test_runner: make SetupState tests use a proper SetupState
...
Previously the tests (probably unintentionally) mixed a fresh SetupState
and the generated item Session's SetupState, which led to some serious
head scratching when prodding it a bit.
2021-01-24 14:08:39 +02:00
Ran Benita
0d4121d24b
runner: collapse exception handling in SetupState.teardown_exact()
...
This is equivalent but simpler.
2021-01-24 14:08:39 +02:00
Ran Benita
bb3d43c9a6
runner: ensure item.teardown() is called even if a finalizer raised
...
If one finalizer fails, all of the subsequent finalizers still run, so
the `teardown()` method should behave the same.
2021-01-24 14:08:39 +02:00
Ran Benita
14d71b2c22
runner: make sure SetupState._finalizers is always set for a node in the stack
...
This makes the stack <-> _finalizers correspondence clearer.
2021-01-24 14:08:39 +02:00
Ran Benita
d1fcd425a3
runner: inline SetupState._pop_and_teardown()
...
This will enable a simplification in the next commit.
2021-01-24 14:08:39 +02:00
Ran Benita
2b14edb108
runner: express SetupState.teardown_all() in terms of teardown_exact() and remove it
...
Makes it easier to understand with fewer methods.
2021-01-24 14:08:39 +02:00
Ran Benita
ceb4d6f6d5
runner: inline a couple of SetupState methods
...
Code is clearer this way.
2021-01-24 14:08:39 +02:00
Ran Benita
5f4e55fb6d
runner: remove dead code in teardown_all()
...
When the stack is empty, the finalizers which are supposed to be
attached to nodes in the stack really ought to be empty as well. So the
code here is dead. If this doesn't happen, the assert will trigger.
2021-01-24 14:08:39 +02:00
Ran Benita
42ae8180dd
runner: inline SetupState._teardown_towards()
...
Doesn't add much.
2021-01-24 14:08:39 +02:00
Ran Benita
410622f719
runner: reorder SetupState method to make more sense
...
The setup stuff happens before the teardown stuff, so put it first so
that reading the code from top to bottom makes more sense.
2021-01-24 14:08:39 +02:00
Ran Benita
f7b0b1dd1f
runner: use node's Store to keep private SetupState state instead of an attribute
...
This way it gets proper typing and decoupling.
2021-01-24 14:08:39 +02:00
Ran Benita
da70f61f67
runner: complete type annotations of SetupState
2021-01-24 14:08:39 +02:00
Hong Xu
d4f8e4b40c
Explain how to create binary files in the doc of pytest.makefile. ( #8255 )
2021-01-21 09:58:52 -03:00
Bruno Oliveira
adc0f29b8f
Always handle faulthandler stderr even if already enabled
...
It seems the code that would not install pytest's faulthandler support
if it was already enabled is not really needed at all, and even detrimental
when using `python -X dev -m pytest` to run Python in "dev" mode.
Also simplified the plugin by removing the hook class, now the hooks
will always be active so there's no need to delay the hook definitions anymore.
Fix #8258
2021-01-20 10:29:05 -03:00
Bruno Oliveira
bda9ce4e0f
Merge pull request #8250 from daq-tools/fix-twisted-capture
2021-01-20 09:45:58 -03:00
Jeff Widman
eef2d1a8e2
Fix pep8 import order in docs ( #8253 )
2021-01-19 11:45:45 -03:00
Andreas Motl
9ba1821e91
Fix faulthandler for Twisted Logger when used with "--capture=no"
...
The Twisted Logger will return an invalid file descriptor since it is
not backed by an FD. So, let's also forward this to the same code path
as with `pytest-xdist`.
2021-01-18 17:51:08 +01:00
Ran Benita
7f782c72ba
Merge pull request #8242 from bluetech/deprecate-unittest-skip-collection
...
Deprecate raising unittest.SkipTest to skip tests during collection
2021-01-18 17:46:00 +02:00
Ronny Pfannschmidt
a9e43152bc
alter the PyObjMixin to carry over typing information from Node
...
as PyObjMixin is always supposed to be mixed in the mro
before nodes.Node the behavior doesn't change,
but all the typing information carry over to help mypy.
extracted from #8037
2021-01-17 14:36:28 +01:00
Ran Benita
c9e9a599fe
Merge pull request #8241 from bluetech/skip-improvements
...
Minor code improvements in nose, unittest, skipping
2021-01-15 15:35:57 +02:00
Ran Benita
25e657bfc1
Deprecate raising unittest.SkipTest to skip tests during collection
...
It is not very clear why this code exists -- we are not running any
unittest or nose code during collection, and really these frameworks
don't have the concept of collection at all, and just raising these
exceptions at e.g. the module level would cause an error. So unless I'm
missing something, I don't think anyone is using this.
Deprecate it so we can eventually clear up this code and keep unittest
more tightly restricted to its plugin.
2021-01-15 00:05:33 +02:00
Ran Benita
7f989203ed
Improve way in which skip location is fixed up when skipped by mark
...
When `pytest.skip()` is called inside a test function, the skip location
should be reported as the line that made the call, however when
`pytest.skip()` is called by the `pytest.mark.skip` and similar
mechanisms, the location should be reported at the item's location,
because the exact location is some irrelevant internal code.
Currently the item-location case is implemented by the caller setting a
boolean key on the item's store and the `skipping` plugin checking it
and fixing up the location if needed. This is really roundabout IMO and
breaks encapsulation.
Instead, allow the caller to specify directly on the skip exception
whether to use the item's location or not. For now, this is entirely
private.
2021-01-14 18:07:25 +02:00
Ran Benita
3dde519f53
nose: type annotate with some resulting refactoring
2021-01-14 17:42:38 +02:00
Ran Benita
096bae6c68
unittest: add clarifying comment on unittest.SkipTest -> pytest.skip code
...
I was tempted to remove it, until I figured out why it was there.
2021-01-14 17:06:14 +02:00
Ran Benita
addbd3161e
nose,fixtures: use the public item API for adding finalizers
2021-01-14 16:53:07 +02:00
Anton
42d5545f42
unittest: cleanup unexpected success handling ( #8231 )
...
* unittest: cleanup unexpected success handling
* update comment
2021-01-13 17:02:26 -08:00
Bruno Oliveira
7a5a6cb51c
Merge pull request #8235 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.5
...
build(deps): bump django from 3.1.4 to 3.1.5 in /testing/plugins_integration
2021-01-11 08:24:47 -03:00
Bruno Oliveira
203a9b3ab2
Merge pull request #8234 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-mock-3.5.1
...
build(deps): bump pytest-mock from 3.4.0 to 3.5.1 in /testing/plugins_integration
2021-01-11 08:24:33 -03:00
dependabot[bot]
cfa0c3b0d9
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.4...3.1.5 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-01-11 03:16:03 +00:00
dependabot[bot]
af78efc7fa
build(deps): bump pytest-mock in /testing/plugins_integration
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.4.0 to 3.5.1.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.4.0...v3.5.1 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-01-11 03:15:59 +00:00
Ran Benita
f6529fd3a1
Merge pull request #8232 from imrehg/doc
...
Add missing import into example script in documentation
2021-01-08 14:08:47 +02:00
Gergely Imreh
80c33c8178
Add missing import into example script in documentation
2021-01-08 11:43:51 +00:00
Petr Viktorin
78fb97105f
Make code.FormattedExcinfo.get_source more defensive
...
When line_index was a large negative number, get_source failed
on `source.lines[line_index]`.
Use the same dummy Source as with a large positive line_index.
2021-01-06 13:33:33 +01:00
Bruno Oliveira
31ae4e1764
Merge pull request #8225 from The-Compiler/training-update
...
doc: Add note about training early bird discount
2021-01-05 16:31:04 -03:00
Florian Bruhin
65b8391ead
doc: Add note about training early bird discount
2021-01-05 19:39:50 +01:00
Bruno Oliveira
329fff69a3
Merge pull request #8220 from xuhdev/module-doc
...
DOC: Mark pytest module
2021-01-05 13:25:02 -03:00
Ran Benita
5336ba28cc
Merge pull request #8218 from bluetech/reports2
...
Misc small code improvements
2021-01-04 22:47:32 +02:00
bengartner
8e00df4c4b
Add dot prefix if file makefile extension is invalid for pathlib ( #8222 )
2021-01-04 15:58:11 +02:00
Ran Benita
8d16bec329
Merge pull request #8216 from xuhdev/testdir-pytester
...
DOC: Update multiple references to testdir to pytester
2021-01-02 11:58:59 +02:00
Hong Xu
14b5f5e528
DOC: Mark pytest module
...
Pytest document currently does not index the top-level package name
`pytest`, which causes some trouble when building documentation that
cross-refers to the pytest package via ``:mod:`pytest` ``.
2021-01-02 00:34:52 -08:00
Ran Benita
2ff88098a7
python: inline a simple method
...
I don't think it adds much value!
2021-01-01 23:23:08 +02:00
Ran Benita
8ee6d0a866
Always use getfixturemarker() to access _pytestfixturefunction
...
Keep knowledge of how the marker is stored encapsulated in one place.
2021-01-01 23:22:10 +02:00
Ran Benita
ade253c790
fixtures: type annotate FixtureRequest.keywords
2021-01-01 23:18:17 +02:00
Ran Benita
6c575ad8c8
fixtures: simplify FixtureRequest._get_fixturestack()
2021-01-01 23:15:57 +02:00
Hong Xu
b02f1c8ae7
DOC: Update multiple references to testdir to pytester
...
In https://docs.pytest.org/en/stable/reference.html#testdir , it is
suggested:
> New code should avoid using testdir in favor of pytester.
Multiple spots in the documents still use testdir and they can be quite
confusing (especially the plugin writing guide).
2021-01-01 12:21:39 -08:00
Ran Benita
bbd22e1769
Merge pull request #8214 from sousajf1/sousajo_patch_8204_1
...
pytest-dev#8204 migrate tests on testing/code/test_source to tmp_path
2021-01-01 20:44:40 +02:00
sousajo
ac428f67eb
pytest-dev#8204 migrate tests on testing/code/test_source to tmp_path
2021-01-01 16:55:03 +00:00
sousajf1
20c59e3aa4
pytest-dev#8204 migrate some tests to tmp_path fixture ( #8209 )
...
migrating some tests from tmpdir to tmp_path fixture
2021-01-01 17:25:11 +02:00
Ran Benita
73c4105230
reports: improve a type annotation
2021-01-01 15:22:05 +02:00
Ran Benita
7d306e9e86
reports: BaseReport.{passed,failed,skipped} more friendly to mypy
...
Not smart enough to understand the previous code.
2021-01-01 15:22:05 +02:00
mefmund
5f11a35b99
Add missing fixture ( #8207 )
...
Co-authored-by: Florian Bruhin <me@the-compiler.org >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-12-31 15:25:44 -03:00
Anton
48c9a96a03
Fix failing staticmethod tests if they are inherited ( #8205 )
...
* Fix failing staticmethod tests if they are inherited
* add comments, set default=None
2020-12-30 19:00:37 -08:00
Ran Benita
7585221d55
Merge pull request #8195 from christophebedard/add-missing-space-version-option-help-message
...
Add missing space in '--version' help message
2020-12-30 11:57:02 +02:00
pre-commit-ci[bot]
ee03e31831
[pre-commit.ci] pre-commit autoupdate ( #8201 )
...
* [pre-commit.ci] pre-commit autoupdate
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* manual fixes after configuration update
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Anthony Sottile <asottile@umich.edu >
2020-12-30 11:56:09 +02:00
Ran Benita
7751904875
Merge pull request #8194 from bluetech/typing-public-3
...
Export pytest.Metafunc and pytest.Callinfo, hide NodeKeywords
2020-12-29 18:22:02 +02:00
Ran Benita
e772f02d15
Merge pull request #8188 from antonblr/subprocess-coverage
...
coverage: Include code that runs in subprocesses
2020-12-28 19:05:33 +02:00
Christophe Bedard
bf9b59b3c8
Add missing space in '--version' help message
2020-12-28 10:50:06 -05:00
antonblr
8550c29180
coverage: Include code that runs in subprocesses
2020-12-26 16:59:07 -08:00
Ran Benita
96ea867fec
runner: export pytest.CallInfo for typing purposes
...
The type cannot be constructed directly, but is exported for use in type
annotations, since it is reachable through existing public API.
This also documents `from_call` as public, because at least
pytest-forked uses it, so we must treat it as public already anyway.
2020-12-26 21:38:37 +02:00
Ran Benita
bd76042344
python: export pytest.Metafunc for typing purposes
...
The type cannot be constructed directly, but is exported for use in type
annotations, since it is reachable through existing public API.
2020-12-26 21:05:02 +02:00
Ran Benita
6d3a66d947
nodes: avoid needing to expose NodeKeywords for typing
...
It adds no value over exporting just the ABC so do that to reduce the
API surface.
2020-12-26 19:54:07 +02:00
Ran Benita
d8d2df7e6f
Merge pull request #8174 from bluetech/py-to-pathlib-5
...
More py.path -> pathlib conversions
2020-12-26 15:01:07 +02:00
Bruno Oliveira
da01ee0a4b
Merge pull request #8185 from bluetech/revert-docs-pygments-workaround
...
Revert "doc: temporary workaround for pytest-pygments lexing error"
2020-12-22 20:36:29 -03:00
Bruno Oliveira
af5da977e3
Merge pull request #8187 from pytest-dev/asottile-patch-1
...
Add badge for pre-commit.ci
2020-12-22 20:08:01 -03:00
Anthony Sottile
35d6a7e78e
Add badge for pre-commit.ci
...
See #8186
2020-12-22 14:57:04 -08:00
Ran Benita
5e323becb7
Revert "doc: temporary workaround for pytest-pygments lexing error"
...
Support was added in pytest-pygments 2.2.0.
This reverts commit 0feeddf8ed .
2020-12-22 21:15:27 +02:00
Ran Benita
ca4effc822
Convert most of the collection code from py.path to pathlib
2020-12-22 21:09:36 +02:00
Ran Benita
4faed28261
testing: convert some tmpdir to tmp_path
...
The tmpdir fixture (and its factory variant) is soft-deprecated in favor
of the tmp_path fixture.
2020-12-22 21:08:25 +02:00
Ran Benita
a218413008
pathlib: missing type annotation for fnmatch_ex
2020-12-22 21:08:25 +02:00
Ran Benita
170a2c5040
testing/test_config: check inipath instead of inifile
...
inifile is soft-deprecated in favor of inipath.
2020-12-22 21:08:25 +02:00
Ran Benita
8b220fad4d
testing/test_helpconfig: remove unclear comment
2020-12-22 21:08:25 +02:00
Ran Benita
92ba96b061
code: convert from py.path to pathlib
2020-12-22 21:08:25 +02:00
Ran Benita
813ce45985
Merge pull request #8179 from bluetech/typing-public-mark
...
mark: expose Mark, MarkDecorator, MarkGenerator under pytest for typing purposes
2020-12-22 16:32:02 +02:00
Bruno Oliveira
d64706c33d
Merge pull request #8180 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-mock-3.4.0
...
build(deps): bump pytest-mock from 3.3.1 to 3.4.0 in /testing/plugins_integration
2020-12-21 09:38:00 -03:00
dependabot[bot]
1839713b71
build(deps): bump pytest-mock in /testing/plugins_integration
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.3.1...v3.4.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-12-21 03:07:23 +00:00
Ran Benita
6aa4d1c7ab
mark: export pytest.MarkGenerator for typing purposes
...
The type cannot be constructed directly, but is exported for use in type
annotations, since it is reachable through existing public API.
2020-12-20 15:59:20 +02:00
Ran Benita
69c302479e
mark: export pytest.MarkDecorator for typing purposes
...
The type cannot be constructed directly, but is exported for use in type
annotations, since it is reachable through existing public API.
2020-12-20 15:59:06 +02:00
Ran Benita
2ec372df8b
mark: export pytest.Mark for typing purposes
...
The type cannot be constructed directly, but is exported for use in type
annotations, since it is reachable through existing public API.
2020-12-20 15:58:49 +02:00
Ran Benita
7aa2240832
testing/test_nodes: fix fake session to be more accurate
...
The type of _initialpaths is `FrozenSet[Path]`.
2020-12-19 14:52:40 +02:00
Ran Benita
042d12fae6
doctest: use Path instead of py.path where possible
2020-12-19 14:52:40 +02:00
Ran Benita
2c05a7babb
config: let main() accept any os.PathLike instead of just py.path.local
...
Really it ought to only take the List[str], but for backward
compatibility, at least get rid of the explicit py.path.local check.
2020-12-19 14:52:40 +02:00
Ran Benita
73586be08f
terminal: remove unused union arm in WarningReport.fslocation
2020-12-19 13:33:34 +02:00
Ran Benita
89dcfbf293
Merge pull request #8168 from antonblr/testdir-to-pytester-incr2
...
tests: Migrate to pytester - final update
2020-12-19 13:32:20 +02:00
antonblr
196b173c8a
address comments
2020-12-18 12:36:20 -08:00
antonblr
15156e94c4
tests: Migrate to pytester - final update
2020-12-18 11:02:38 -08:00
Anthony Sottile
f14ab08de3
Merge pull request #8172 from pytest-dev/revert-8171-fix-ci-setup-python
...
Use new pypy3 github actions syntax
2020-12-18 11:01:48 -08:00
Anthony Sottile
293a7c962d
Use new pypy3 github actions syntax
2020-12-18 10:45:28 -08:00
Anthony Sottile
4da445dc2e
Revert "infra: Temporary pin setup-python GH action to v2.1.4"
2020-12-18 10:44:20 -08:00
Bruno Oliveira
403424d60b
Merge pull request #8171 from antonblr/fix-ci-setup-python
...
infra: Temporary pin setup-python GH action to v2.1.4
2020-12-18 08:02:44 -03:00
antonblr
1264404fe7
infra: Temporary pin setup-python GH action to v2.1.4
2020-12-17 21:01:20 -08:00
Adam Johnson
bd894e3065
Add Changelog to setup.cfg ( #8166 )
...
Co-authored-by: Thomas Grainger <tagrain@gmail.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-12-17 13:55:36 -03:00
Bruno Oliveira
ce206ae462
Merge pull request #8162 from nicoddemus/rm-travis-badge
2020-12-17 09:10:21 -03:00
Bruno Oliveira
3eef150f2e
Remove other references to Travis
2020-12-17 08:19:50 -03:00
Ran Benita
02e69e5cdc
Merge pull request #8152 from bluetech/empty-skip
...
terminal: fix "(<Skipped instance>)" skip reason in test status line
2020-12-17 12:58:00 +02:00
Bruno Oliveira
8255effc5b
Remove Travis badge from README
...
Since we stopped testing Python 3.5, we no longer use Travis.
2020-12-16 15:43:58 -03:00
Chris NeJame
534d174fd2
Clarify fixture execution order and provide visual aids ( #7381 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-12-16 13:53:14 -03:00
Bruno Oliveira
cab16f3aac
Use transparent PNG for logo ( #8159 )
2020-12-16 11:19:45 -03:00
Bruno Oliveira
a1c5111a40
Fix events variable in prepare-release-pr.yml
2020-12-16 07:53:05 -03:00
Bruno Oliveira
f1a1de2257
Use manual trigger to prepare release PRs ( #8150 )
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-12-16 07:50:02 -03:00
Ran Benita
d46ecbc18b
terminal: fix "(<Skipped instance>)" skip reason in test status line
2020-12-15 22:24:25 +02:00
Bruno Oliveira
950fbbc326
Merge pull request #8151 from nicoddemus/cherry-pick-release
...
Merge pull request #8149 from pytest-dev/release-6.2.1
2020-12-15 15:58:13 -03:00
Bruno Oliveira
56600414df
Merge pull request #8149 from pytest-dev/release-6.2.1
...
Prepare release 6.2.1
(cherry picked from commit a566eb9c70 )
2020-12-15 12:41:02 -03:00
Jakob van Santen
9ccbf5b899
python_api: handle array-like args in approx() ( #8137 )
2020-12-15 08:49:29 -03:00
Ran Benita
6c899a0afa
Merge pull request #8144 from bluetech/py-to-pathlib-4
...
hookspec: add pathlib.Path alternatives to py.path.local parameters in hooks
2020-12-15 13:06:06 +02:00
Anton
8eef8c6004
tests: Migrate to pytester - incremental update ( #8145 )
2020-12-15 13:02:32 +02:00
Ran Benita
592b32bd69
hookspec: add pathlib.Path alternatives to py.path.local parameters in hooks
...
As part of the ongoing migration for py.path to pathlib, make sure all
hooks which take a py.path.local also take an equivalent pathlib.Path.
2020-12-15 00:34:23 +02:00
Ran Benita
2cb34a99cb
Some py.path.local -> pathlib.Path
2020-12-15 00:29:13 +02:00
Bruno Oliveira
cb8142b8ec
Merge pull request #8139 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-html-3.1.1
...
build(deps): bump pytest-html from 3.1.0 to 3.1.1 in /testing/plugins_integration
2020-12-14 08:13:44 -03:00
Bruno Oliveira
382cb2aae1
Merge pull request #8138 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-bdd-4.0.2
...
build(deps): bump pytest-bdd from 4.0.1 to 4.0.2 in /testing/plugins_integration
2020-12-14 08:13:22 -03:00
dependabot[bot]
a09d8b1599
build(deps): bump pytest-html in /testing/plugins_integration
...
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html ) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/pytest-dev/pytest-html/releases )
- [Changelog](https://github.com/pytest-dev/pytest-html/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-html/compare/v3.1.0...v3.1.1 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-12-14 03:07:30 +00:00
dependabot[bot]
92b444a914
build(deps): bump pytest-bdd in /testing/plugins_integration
...
Bumps [pytest-bdd](https://github.com/pytest-dev/pytest-bdd ) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/pytest-dev/pytest-bdd/releases )
- [Changelog](https://github.com/pytest-dev/pytest-bdd/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-bdd/compare/4.0.1...4.0.2 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-12-14 03:07:27 +00:00
Ran Benita
ad65e816e4
Merge pull request #8111 from antonblr/testdir-to-pytester-python
...
tests: Migrate testing/python to pytester fixture
2020-12-13 23:19:31 +02:00
antonblr
4ed9a38519
tests: Migrate testing/python to pytester fixture
2020-12-13 07:42:12 -08:00
Bruno Oliveira
7e2e6630ad
Merge pull request #8123 from nicoddemus/import-mismatch-unc
...
Compare also paths on Windows when considering ImportPathMismatchError
2020-12-13 10:35:11 -03:00
Ran Benita
fa784e1436
Merge pull request #8104 from bot2x/patch-1
...
migrates test_warnings.py from testdir to pytester
2020-12-13 15:21:37 +02:00
bot2x
28588bf535
migrates test_warnings.py from testdir to pytester
2020-12-13 14:13:49 +02:00
Ran Benita
37b154b1ec
Merge pull request #8122 from bluetech/py-to-pathlib-3
...
Some py.path.local -> pathlib.Path
2020-12-13 10:54:19 +02:00
Ran Benita
09582048be
Merge pull request #8131 from bluetech/cherry-pick-release
...
Merge pull request #8130 from pytest-dev/release-6.2.0
2020-12-12 23:28:31 +02:00
Ran Benita
54a7356a9f
Merge pull request #8130 from pytest-dev/release-6.2.0
...
Prepare release 6.2.0
(cherry picked from commit c475106f12 )
2020-12-12 23:23:19 +02:00
Ran Benita
683f29f84d
Merge pull request #8129 from bluetech/docs-pygments-workaround
...
doc: temporary workaround for pytest-pygments lexing error
2020-12-12 22:31:10 +02:00
Ran Benita
0feeddf8ed
doc: temporary workaround for pytest-pygments lexing error
...
pytest-pygments doesn't yet recognize the skip reason in summary line
added recently. Workaround it until we get to updating it.
2020-12-12 22:18:23 +02:00
Ran Benita
b478275777
Merge pull request #8128 from bluetech/skip-reason-empty
...
terminal: when the skip/xfail is empty, don't show it as "()"
2020-12-12 22:18:06 +02:00
Ran Benita
3302ff9949
terminal: when the skip/xfail is empty, don't show it as "()"
...
Avoid showing a line like
x.py::test_4 XPASS () [100%]
which looks funny.
2020-12-12 22:09:00 +02:00
Ran Benita
59bd0f6912
Merge pull request #8126 from bluetech/tox-regen-pretend-scm2
...
tox: use pip legacy resolver for regen job
2020-12-12 20:50:10 +02:00
Ran Benita
6298ff1f4e
tox: use pip legacy resolver for regen job
...
The env var effects all of the pip installs, including regendoc which
also uses setuptools-scm, so it gets the wrong version, and fails to
install with the new pip resolver:
ERROR: Requested regendoc from 206e495142/regendoc-0.6.1.tar.gz (sha256) =db1e8c9ae02c1af559eae105bfd77ba41ed07fc8ca7030ea59db5f3f161236a4 has different version in metadata: '6.2.0'
2020-12-12 20:27:59 +02:00
Ran Benita
d51ecbd44d
Merge pull request #8125 from bluetech/tox-rm-pip-req
...
tox: remove requires: pip>=20.3.1
2020-12-12 19:11:27 +02:00
Ran Benita
f237b077fc
tox: remove requires: pip>=20.3.1
...
Causes some trouble in CI and not really needed as old pip should still
work.
2020-12-12 18:31:52 +02:00
Ran Benita
95e0e19b8d
Merge pull request #8124 from bluetech/s0undt3ch-feature/skip-context-hook
...
Add `pytest_markeval_namespace` hook.
2020-12-12 18:14:02 +02:00
Anton
cf1051cfba
infrastructure: Stricter tox dependensies ( #8119 )
2020-12-12 18:08:15 +02:00
Pedro Algarvio
b16c091253
Add pytest_markeval_namespace hook.
...
Add a new hook , `pytest_markeval_namespace` which should return a dictionary.
This dictionary will be used to augment the "global" variables available to evaluate skipif/xfail/xpass markers.
Pseudo example
``conftest.py``:
.. code-block:: python
def pytest_markeval_namespace():
return {"color": "red"}
``test_func.py``:
.. code-block:: python
@pytest.mark.skipif("color == 'blue'", reason="Color is not red")
def test_func():
assert False
2020-12-12 17:41:37 +02:00
Ran Benita
ed658d6829
Some py.path.local -> pathlib.Path
...
- Some conftest related functions
- _confcutdir
- Allow arbitrary os.PathLike[str] in gethookproxy.
2020-12-12 17:33:28 +02:00
Bruno Oliveira
572dfcd160
Compare also paths on Windows when considering ImportPathMismatchError
...
On Windows, os.path.samefile returns false for paths mounted in UNC paths which
point to the same location.
I couldn't reproduce the actual case reported, but looking at the code it seems
this commit should fix the issue.
Fix #7678
Fix #8076
2020-12-12 08:54:49 -03:00
Ran Benita
902739cfc3
Merge pull request #7208 from CarycaKatarzyna/issue2044
...
Issue 2044 - show skipping reason in verbose mode
2020-12-09 10:11:47 +02:00
Katarzyna
612f157dbd
Show reason for skipped test in verbose mode
2020-12-09 09:43:47 +02:00
Anton
810b878ef8
Migrate to pytester: test_capture.py, test_terminal.py, approx.py ( #8108 )
...
* Migrate to pytester: test_capture.py, test_config.py, approx.py
* migrate test_terminal.py
* revert test_config.py
* more typing in test_terminal.py
* try-out 'tr' fixture update
* revert 'tr' fixture, update test_config.py
2020-12-08 22:20:02 +02:00
Bruno Oliveira
059f6ff315
Merge pull request #8107 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-html-3.1.0
...
build(deps): bump pytest-html from 3.0.0 to 3.1.0 in /testing/plugins_integration
2020-12-07 08:52:56 -03:00
Bruno Oliveira
f3006ecb2b
Merge pull request #8106 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.4
...
build(deps): bump django from 3.1.3 to 3.1.4 in /testing/plugins_integration
2020-12-07 08:52:36 -03:00
dependabot[bot]
19de6bccff
build(deps): bump pytest-html in /testing/plugins_integration
...
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html ) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/pytest-dev/pytest-html/releases )
- [Changelog](https://github.com/pytest-dev/pytest-html/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-html/compare/v3.0.0...v3.1.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-12-07 03:08:29 +00:00
dependabot[bot]
8c120c042c
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.3...3.1.4 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-12-07 03:08:29 +00:00
Bruno Oliveira
68a0f22eee
Merge pull request #8100 from nicoddemus/doctest-alternatives
...
List pytest-doctestplus in doctest docs
2020-12-05 17:42:09 -03:00
Ran Benita
1a1bb61340
Merge pull request #8038 from matthewhughes934/note-tmpdir-lifetime
...
Docs: Note lifetime of temporary directories
2020-12-05 21:54:04 +02:00
Ran Benita
e398c93884
Merge pull request #8055 from bluetech/unraisable
...
Add unraisableexception and threadexception plugins
2020-12-05 21:52:17 +02:00
Ran Benita
760a73c08c
Merge pull request #8017 from bluetech/typing-public-fixtures
...
Export types of builtin fixtures for type annotations
2020-12-05 21:51:20 +02:00
Bruno Oliveira
4fc20c8d28
List pytest-doctestplus in doctest docs
...
As per https://github.com/pytest-dev/pytest/discussions/8088
2020-12-04 15:24:56 -03:00
Ran Benita
954151cdbd
Merge pull request #8092 from cmecklenborg/pytester_refactor_test_pastebin
...
Migrate test_pastebin.py from testdir to pytester
2020-12-02 18:17:59 +02:00
Christine Mecklenborg
eeb3afb8ab
Migrate test_pastebin.py from testdir to pytester
2020-12-01 12:55:59 -06:00
Ran Benita
64bb5f2ad1
Merge pull request #8091 from cmecklenborg/pytester_refactor_test_parseopt
...
Migrate test_parseopt.py from testdir to pytester
2020-12-01 14:10:09 +02:00
Ran Benita
0d0dfdd7aa
Merge pull request #8090 from cmecklenborg/pytester_refactor_test_nose
...
Migrate test_nose.py from testdir to pytester
2020-12-01 14:07:55 +02:00
dependabot[bot]
7a06bc2416
build(deps): bump pytest-flakes in /testing/plugins_integration ( #8087 )
...
Bumps [pytest-flakes](https://github.com/asmeurer/pytest-flakes ) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/asmeurer/pytest-flakes/releases )
- [Commits](https://github.com/asmeurer/pytest-flakes/commits )
Signed-off-by: dependabot[bot] <support@github.com >
2020-12-01 14:06:38 +02:00
Christine Mecklenborg
4abd71121d
Migrate test_parseopt.py from testdir to pytester
2020-11-30 16:27:39 -06:00
Christine Mecklenborg
d4c81ffab4
Migrate test_nose.py from testdir to pytester
2020-11-30 16:07:26 -06:00
Shubham Adep
d1cb9de211
Custom multiple marker execution order ( #8065 )
...
* Custom multiple marker execution order
https://github.com/pytest-dev/pytest/issues/8020 issue stated that ordering of multiple custom markers is from inside - out. I have added example for the same in the documentation. Please let me know for further changes / concerns.
* remove trailing spaces
The last commit was failing due to extra spaces
* Ran tox tests locally to debug white space trimming issues
* Resolve: ERROR: docs: commands failed for tox -e docs
* Update doc/en/reference.rst
Committed PR suggestions.
Co-authored-by: Florian Bruhin <me@the-compiler.org >
* Added reference to Node.iter_markers_with_node in documentation
* Add myself to Authors
Co-authored-by: Shubham <shubham.adep@wsu.edu >
Co-authored-by: Florian Bruhin <me@the-compiler.org >
2020-11-30 16:48:08 +01:00
Matthew Hughes
6a256606c6
Docs: Note lifetime of temporary directories
...
Explanation: The default handling of these lifetimes is done in
`tmpdir.TempPathFactory.getbasetemp`, which passes `keep=3` to
`pathlib.make_numbered_dir_with_cleanup`.
GH Issue: #8036
2020-11-28 21:18:16 +00:00
Prakhar Gurunani
3405c7e6a8
Add more info about skipping doctests ( #8080 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-11-28 12:47:02 -03:00
Dominic Mortlock
775ba63c67
Refactor acceptance_test to use pytester ( #8070 )
2020-11-25 14:42:47 +02:00
Ran Benita
70823da7ed
Merge pull request #8064 from symonk/fix-typo-in-mock-timing
...
fix mock_timing fixture name (typo) in timing.py
2020-11-25 12:29:34 +02:00
Jürgen Gmach
d27806295a
fix typo ( #8069 )
2020-11-24 22:27:34 +01:00
Simon K
b310872300
fix mock_timing fixture name (typo) in timing.py
2020-11-23 20:45:12 +00:00
Ran Benita
d50df85e26
Add unraisableexception and threadexception plugins
2020-11-21 21:11:48 +02:00
Ran Benita
d59a4996ae
Merge pull request #8057 from nicoddemus/changelog-links
...
Add links to some CHANGELOG entries
2020-11-21 20:47:27 +02:00
Maximilian Cosmo Sitter
0cef530d10
Add str() support to LineMatcher ( #8050 )
2020-11-21 20:45:20 +02:00
Bruno Oliveira
31021ac8d5
Add links to some CHANGELOG entries
...
While adding links to https://github.com/pytest-dev/pytest/pull/8052 , noticed
a few more missing.
2020-11-21 11:05:54 -03:00
Simon K
52fef811c2
permit node to warn with any warning type, not just PytestWarning ( #8052 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-11-21 10:49:17 -03:00
Ran Benita
148e3c582a
pytester: always close stdin pipe in pytester.run()
...
If the user passed stdin=PIPE for some reason, they have no way to close
it themselves since it is not exposed.
2020-11-20 17:55:30 +02:00
Ran Benita
3e0bbd2f57
testing: fix ResourceWarning in broken-pipe test
2020-11-20 17:55:23 +02:00
Tim Hoffmann
afd53ede6f
Link mentioned functions instead of using literals ( #8045 )
2020-11-19 15:44:59 +01:00
Bruno Oliveira
329e66c22e
Merge pull request #8051 from The-Compiler/nose-fixup
...
Fix nose documentation
2020-11-19 10:04:59 -03:00
Florian Bruhin
c6ac618baf
Fix nose documentation
...
Follow-up to #8048 which seems to have been merged without the suggested changes.
2020-11-19 13:54:40 +01:00
Bruno Oliveira
42f9622a90
Merge pull request #8048 from mickeypash/patch-1
...
Add small section on migrating from nose to pytest.
2020-11-19 09:02:04 -03:00
mickeypash
ce825ed16c
Add small section on migrating from nose to pytest
...
The section currently features the nose2pytest tool with plans to expand
on some of the common gotchas when performing such migrations.
2020-11-19 08:50:11 -03:00
Petter Strandmark
eda681af2b
Call Python 3.8 doClassCleanups ( #8033 )
2020-11-19 12:07:15 +02:00
Tim Hoffmann
b7ba76653d
Prefix contextmanagers with module name in doc examples ( #8044 )
...
* Prefix contextmanagers with module name in doc examples
* Import pytest explicitly for doctests
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-11-19 12:06:24 +02:00
Ran Benita
30d89fd07e
Merge pull request #8039 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-html-3.0.0
...
build(deps): bump pytest-html from 2.1.1 to 3.0.0 in /testing/plugins_integration
2020-11-19 12:05:04 +02:00
Ran Benita
8ea8cdb36d
Merge pull request #8040 from symonk/remove-unused-var-in-pytester
...
stop assigning nextline if its potentially not used
2020-11-17 18:00:17 +02:00
symonk
3b677f79f4
stop assigning nextline if its potentially not used
2020-11-17 11:30:09 +00:00
Ran Benita
537215a16c
Merge pull request #7987 from bluetech/ci-deprecated
...
ci: fix deprecation message & couple updates
2020-11-16 23:29:35 +02:00
Ran Benita
c2f949d68e
Merge pull request #8013 from itsmegarvi/master
...
#7942 migrate from tempdir to pytester
2020-11-16 19:44:43 +02:00
Garvit Shubham
6fe9d2fb9f
testing: convert test_{conftest,recwarn,tmpdir} to pytester
2020-11-16 19:22:57 +02:00
dependabot[bot]
3a899ced76
build(deps): bump pytest-html in /testing/plugins_integration
...
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html ) from 2.1.1 to 3.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-html/releases )
- [Changelog](https://github.com/pytest-dev/pytest-html/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-html/compare/v2.1.1...v3.0.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-11-16 03:15:18 +00:00
Ran Benita
825b81ba52
Merge pull request #8014 from bluetech/pyc-pep552
...
assertion/rewrite: write pyc's according to PEP-552 on Python>=3.7
2020-11-14 23:38:45 +02:00
Ran Benita
1d532da49e
assertion/rewrite: write pyc's according to PEP-552 on Python>=3.7
...
Python 3.7 changes the pyc format by adding a flags byte. Even though it
is not necessary for us to match it, it is nice to be able to read pyc
files we emit for debugging the rewriter.
Update our custom pyc files to use that format. We write flags==0
meaning we still use the mtime+size format rather the newer hash format.
2020-11-14 23:20:12 +02:00
Ran Benita
767cbeb086
Merge pull request #8002 from mcsitter/add-pythonenv-gitignore
...
Add pythonenv* to gitignore
2020-11-13 23:14:23 +02:00
Maximilian Cosmo Sitter
25e4dd0d2c
Fix scope to accomodate requested changes
2020-11-13 20:00:44 +00:00
Ran Benita
c14f498622
Merge pull request #7908 from bluetech/post-release-tag
...
RELEASING: make sure we have an accurate version in a commit in master
2020-11-13 12:57:53 +02:00
Ran Benita
f6b682ad49
RELEASING: start new dev cycle by tagging MAJOR.{MINOR+1}.0.dev0 in master
...
This is needed so setuptools-scm in master shows an accurate version.
In particular, higher than the stable branch.
2020-11-13 12:38:58 +02:00
Ran Benita
701ff1f5a1
ci: only deploy to PyPI on X.Y.Z{,rcN} tags
...
We want to reserve other tags for our own purposes without it creating a
release.
2020-11-13 12:38:30 +02:00
Ran Benita
f1e6fdcddb
Export types of builtin fixture for type annotations
...
In order to allow users to type annotate fixtures they request, the
types need to be imported from the `pytest` namespace. They are/were
always available to import from the `_pytest` namespace, but that is
not guaranteed to be stable.
These types are only exported for the purpose of typing. Specifically,
the following are *not* public:
- Construction (`__init__`)
- Subclassing
- staticmethods and classmethods
We try to combat them being used anyway by:
- Marking the classes as `@final` when possible (already done).
- Not documenting private stuff in the API Reference.
- Using `_`-prefixed names or marking as `:meta private:` for private
stuff.
- Adding a keyword-only `_ispytest=False` to private constructors,
warning if False, and changing pytest itself to pass True. In the
future it will (hopefully) become a hard error.
Hopefully that will be enough.
2020-11-13 11:25:09 +02:00
Ran Benita
b050578882
pytester: split asserts to a separate plugin, don't rewrite pytester itself
...
An upcoming commit wants to import from `_pytest.pytester` in the public
`pytest` module. This means that `_pytest.pytester` would start to get
imported during import time, which it hasn't up to now -- it was
imported by the plugin loader (if requested). When a plugin is loaded,
it is subjected to assertion rewriting, but only if the module isn't
imported yet, it issues a warning "Module already imported so cannot be
rewritten" and skips the rewriting. So we'd end up with the pytester
plugin not being rewritten, but it wants to be.
Absent better ideas, the solution here is to split the pytester
assertions to their own plugin (which will always only be imported by
the plugin loader) and exclude pytester itself from plugin rewriting.
2020-11-13 11:25:09 +02:00
Ran Benita
66311ff702
Merge pull request #8022 from bluetech/doctest-init
...
main: fix only one doctest collected on pytest --doctest-modules __init__.py
2020-11-13 10:46:46 +02:00
Ran Benita
ea3c0aa245
Merge pull request #8019 from JosiasAurel/mypytester-change-01
...
Migrate from testdir to pytester
2020-11-13 10:36:03 +02:00
Bruno Oliveira
843bca8c0c
Merge pull request #8025 from adamchainz/issue_8023_norecursedirs
...
Add 'node_modules' to norecursedirs
2020-11-12 07:36:38 -03:00
Josias Aurel
fa148eadfe
Update testing/test_faulthandler.py
...
Co-authored-by: Sanket Duthade <duthades@gmail.com >
2020-11-11 18:35:06 +01:00
Bruno Oliveira
ff9e35243e
Merge pull request #7928 from graingert/feature-request-template
2020-11-11 09:20:00 -03:00
Josias Aurel
06a597db14
Add type annotations
2020-11-11 05:02:32 +01:00
Josias Aurel
1ed8159c7d
Update testing/test_faulthandler.py
...
Co-authored-by: Sanket Duthade <duthades@gmail.com >
2020-11-11 04:45:57 +01:00
Josias Aurel
8320c07134
Update testing/test_faulthandler.py
...
Co-authored-by: Sanket Duthade <duthades@gmail.com >
2020-11-11 04:45:42 +01:00
Adam Johnson
39b2706f6a
Add 'node_modules' to norecursedirs
...
Fixes #8023 .
2020-11-11 01:52:18 +00:00
Ran Benita
265cc2cfec
main: fix only one doctest collected on pytest --doctest-modules __init__.py
...
When --doctest-modules is used, an `__init__.py` file is not a `Package`
but a `DoctestModule`, but some collection code assumed that
`__init__.py` implies a `Package`. That code caused only a single test
to be collected in the scenario in the subject.
Tighten up this check to explicitly check for `Package`. There are
better solutions, but for another time.
Report & test by Nick Gates <nickgatzgates@gmail.com >.
2020-11-10 22:50:46 +02:00
Josias Aurel
043ed55056
Migrate from testdir to pytester
2020-11-09 18:07:34 +01:00
Ran Benita
e986d84466
Merge pull request #8006 from bluetech/export-MonkeyPatch
...
Export MonkeyPatch as pytest.MonkeyPatch
2020-11-09 11:45:38 +02:00
Ran Benita
6f13d1b03b
Export MonkeyPatch as pytest.MonkeyPatch
...
We want to export `pytest.MonkeyPatch` for the purpose of
type-annotating the `monkeypatch` fixture. For other fixtures we export
in this way, we also make direct construction of them (e.g.
`MonkeyPatch()`) private. But unlike the others, `MonkeyPatch` is also
widely used directly already, mostly because the `monkeypatch` fixture
only works in `function` scope (issue #363 ), but also in other cases. So
making it private will be annoying and we don't offer a decent
replacement yet.
So, let's just make direct construction public & documented.
2020-11-09 11:28:15 +02:00
Ran Benita
7aa5e49fc4
Merge pull request #8012 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.3
...
build(deps): bump django from 3.1.2 to 3.1.3 in /testing/plugins_integration
2020-11-09 11:26:35 +02:00
dependabot[bot]
02d4b3d75f
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.2...3.1.3 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-11-09 03:17:35 +00:00
Bruno Oliveira
b2e7b9df9e
Merge pull request #8010 from nicoddemus/pluralize
2020-11-08 13:31:27 -03:00
Bruno Oliveira
c7f8ad17f5
Rename _make_plural to pluralize
...
A bit shorter and a better name, IMHO.
2020-11-08 12:42:52 -03:00
Hugo Martins
5b2e5e8a40
Improve summary stats when using '--collect-only' ( #7875 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-11-08 11:45:10 -03:00
Ran Benita
29f2f4e854
Merge pull request #8005 from bluetech/pytest-import
...
Stop importing `pytest` to avoid upcoming import cycles
2020-11-08 14:15:19 +02:00
Bruno Oliveira
10a3a49bd6
Merge pull request #8007 from bluetech/dont-ignore-already-imported
...
testing: don't ignore "Module already imported so cannot be rewritten" warning
2020-11-07 22:46:15 -03:00
frankgerhardt
9bc633064b
Capitalize headlines ( #8008 )
2020-11-07 22:44:04 -03:00
Ran Benita
361f9e20c3
testing: don't ignore "Module already imported so cannot be rewritten" warning
...
The test suite passes without it being ignored. The absence of this
warning cost me some head-scratching time, so enable it again.
2020-11-07 18:14:21 +02:00
Ran Benita
1cbb0c3554
Stop importing pytest to avoid upcoming import cycles
...
Don't import `pytest` from within some `_pytest` modules since an
upcoming commit will import from them into `pytest`.
It would have been nice not to have to do it, so that internal plugins
look more like external plugins, but with the existing layout this seems
unavoidable.
2020-11-07 18:08:30 +02:00
Ran Benita
c784c142a4
Merge pull request #7988 from bluetech/deprecate-yield-fixture
...
fixtures: deprecate pytest.yield_fixture()
2020-11-07 18:07:00 +02:00
Ran Benita
4c0513bc18
fixtures: deprecate pytest.yield_fixture()
2020-11-07 17:06:40 +02:00
Sanket Duthade
3bcd316f07
test_collection.py migrate from testdir to Pytester ( #8003 )
2020-11-07 16:56:00 +02:00
Garvit Shubham
6a5037a25b
#7942 test_setupplan.py migrate from testdir to Pytester ( #8004 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-11-07 09:29:45 -03:00
Maximilian Cosmo Sitter
a73fb6e006
Add pythonenv* to gitignore
2020-11-06 14:29:12 +00:00
Bruno Oliveira
30287b49cd
Deprecate --strict ( #7985 )
...
Fix #7530
2020-11-06 09:48:20 +01:00
Anthony Sottile
4cd0fde277
Merge pull request #8001 from bluetech/silence-pyparsing-warning
...
testing: silence deprecation warning from older pyparsing releases
2020-11-05 08:46:50 -08:00
Ran Benita
070f8e0f9d
testing: silence deprecation warning from older pyparsing releases
...
This causes some tests to fail when using these older versions.
2020-11-05 16:08:54 +02:00
Ran Benita
1d4cc7eb36
Merge pull request #7997 from duthades/master
...
#7942 test_session.py migrate from testdir to Pytester
2020-11-05 15:55:36 +02:00
duthades
b815f430e5
#7942 test_session.py migrate from testdir to pytester
...
- Add name to AUTHORS
2020-11-04 21:55:07 +05:30
Ran Benita
3adece9fb7
Merge pull request #7990 from bluetech/xunit-quadratic-3
...
unittest: fix quadratic behavior in collection of unittests using setUpClass/setup_method
2020-11-03 18:01:25 +02:00
Ran Benita
489f6f4499
unittest: fix quadratic behavior in collection of unittests using setUpClass/setup_method
...
This is similar to 50114d4731876dae; I missed that unittest does the
same thing.
2020-11-01 15:17:42 +02:00
Ran Benita
a95da7a425
Merge pull request #7980 from bluetech/code-changes
...
code: a few minor improvements
2020-11-01 09:51:39 +02:00
Ran Benita
8aa9ea95e1
ci: test on Python 3.9 final
2020-11-01 09:49:41 +02:00
Ran Benita
76226182ae
ci: change cache action to v2
...
Supposed to be faster.
2020-11-01 09:49:41 +02:00
Ran Benita
f9d82a34f4
ci: replace deprecated ::set-env
2020-11-01 09:49:23 +02:00
Ran Benita
7fb0ea3f68
Merge pull request #7956 from csernazs/fix-7951
...
Fix handling recursive symlinks
2020-10-31 18:59:50 +02:00
Cserna Zsolt
8a38e7a6e8
Fix handling recursive symlinks
...
When pytest was run on a directory containing a recursive symlink it failed
with ELOOP as the library was not able to determine the type of the
direntry:
src/_pytest/main.py:685: in collect
if not direntry.is_file():
E OSError: [Errno 40] Too many levels of symbolic links: '/home/florian/proj/pytest/tests/recursive'
This is fixed by handling ELOOP and other errors in the visit function in
pathlib.py, so the entries whose is_file() call raises an OSError with the
pre-defined list of error numbers will be exluded from the result.
The _ignore_errors function was copied from Lib/pathlib.py of cpython 3.9.
Fixes #7951
2020-10-31 17:40:56 +01:00
Ran Benita
1c18fb8ccc
Merge pull request #7553 from tirkarthi/namedtuple-diff
...
Add support to display field names in namedtuple diffs.
2020-10-31 15:02:31 +02:00
Bruno Oliveira
2753859ff0
Merge pull request #7979 from nicoddemus/metafunc-ref
...
Add FunctionDefinition to the reference docs
2020-10-31 10:00:48 -03:00
Ran Benita
a14a229d1b
Merge pull request #7982 from bluetech/symlink-collect
...
pathlib: fix symlinked directories not followed during collection
2020-10-31 14:46:50 +02:00
Karthikeyan Singaravelan
9a0f4e57ee
Add support to display field names in namedtuple diffs.
2020-10-31 14:41:53 +02:00
Ran Benita
dd323980f9
Merge pull request #7978 from nicoddemus/port-4.6-release-notes
...
Manually add the remaining 4.6.x release notes to the changelog
2020-10-31 14:37:45 +02:00
Ran Benita
6cdae8ed40
pathlib: fix symlinked directories not followed during collection
2020-10-31 14:22:15 +02:00
Bruno Oliveira
569c091769
Add FunctionDefinition to the reference docs
...
Fix #7968
2020-10-31 08:45:34 -03:00
Bruno Oliveira
0c7233032f
Manually add the remaining 4.6.x release notes to the changelog
...
Fix #7967
2020-10-31 08:36:26 -03:00
Ran Benita
531416cc5a
code: simplify Code construction
2020-10-31 12:40:25 +02:00
Ran Benita
6506f016ac
testing/test_source: use unqualified imports
2020-10-31 12:40:25 +02:00
Ran Benita
a1df458e85
code: use properties for derived attributes, use slots
...
Make the objects more light weight.
Remove unused properties.
2020-10-31 12:40:25 +02:00
Ariel Pillemer
a7e38c5c61
pytest-dev#7942 test_runner_xunit.py ( #7964 )
2020-10-31 12:38:11 +02:00
crricks
3c7eb5a398
migrated test_nodes.py from testdir to pytester #7492 . ( #7969 )
2020-10-30 22:34:05 +02:00
Ran Benita
ad94456ca0
Merge pull request #7976 from symonk/7942-refactor-stepwise-to-use-pytester
...
#7942 refactor stepwise tests to utilize pytester
2020-10-30 22:15:12 +02:00
Christine Mecklenborg
aa843746a4
Migrate test_error_diffs.py from testdir to pytester ( #7971 )
2020-10-30 22:12:40 +02:00
symonk
c58abf7ad1
#7942 refactor stepwise tests to utilize pytester
2020-10-30 19:21:42 +00:00
Ran Benita
5913cd20ec
assertion/util: remove unhelpful type_fns indirection
...
It doesn't serve any purpose that I am able to discern.
2020-10-30 21:15:48 +02:00
Simon K
6cddeb8cb3
#7938 - [Plugin: Stepwise][Enhancements] Refactoring, smarter registration & --sw-skip functionality ( #7939 )
...
* adding --sw-skip shorthand for stepwise skip
* be explicit rather than implicit with default args for stepwise
* add constant for sw cache dir; only register plugin if necessary rather check check activity always;
* use str format; remove unused args in hooks
* assert cache upfront, allow stepwise to have a reference to the cache
* type hinting lf, skip, move literal strings into module constants
* convert parametrized option into a list
* add a sessionfinish hook for stepwise to keep backwards behaviour the same
* add changelog for #7938
* Improve performance of stepwise modifyitems & address PR feedback
* add test for stepwise deselected based on performance enhancements
* Apply suggestions from code review
* delete from items, account for edge case where failed_index = 0
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-10-30 19:13:06 +00:00
Ran Benita
0cd190f037
Merge pull request #7970 from cmecklenborg/pytester_refactor_test_assertion
...
Migrate test_assertion.py from testdir to pytester
2020-10-30 20:56:21 +02:00
Christine Mecklenborg
47ff911c8f
Migrate test_assertion.py from testdir to pytester
2020-10-29 20:39:44 -05:00
Ran Benita
8f52fc777a
Merge pull request #7962 from bluetech/mypy-typed-deps
...
pre-commit: install typed dependencies in the mypy target
2020-10-29 17:52:12 +02:00
Ran Benita
65dfa98877
Merge pull request #7961 from bluetech/rm-checkqa-mypy
...
tox: remove checkqa-mypy environment
2020-10-29 17:25:51 +02:00
Christine Mecklenborg
65148e3120
Migrate test_compat.py from testdir to pytester ( #7963 )
2020-10-29 09:56:34 +02:00
Christine Mecklenborg
460b51dd95
Migrate test_setuponly.py from testdir to pytester ( #7959 )
2020-10-29 09:55:30 +02:00
Christine Mecklenborg
efe470bf1c
Migrate test_assertrewrite.py from testdir to pytester ( #7952 )
2020-10-29 09:54:34 +02:00
Ran Benita
e3ce5d6b53
pre-commit: install typed dependencies in the mypy target
...
Otherwise, mypy doesn't know about them and their types are considered
Any.
2020-10-28 22:22:33 +02:00
Ran Benita
de810152ec
tox: remove checkqa-mypy environment
...
We run mypy through pre-commit, and we don't keep duplicate targets in
tox for all of the other linters. Since this adds some (small)
maintenance overhead, remove it.
2020-10-28 22:16:25 +02:00
Bruno Oliveira
b95991aeea
Merge pull request #7960 from nicoddemus/cherry-pick-release
...
Merge pull request #7958 from pytest-dev/release-6.1.2
2020-10-28 14:36:37 -03:00
Bruno Oliveira
5711ced250
Merge pull request #7958 from pytest-dev/release-6.1.2
...
Prepare release 6.1.2
(cherry picked from commit 1ed903e8fc )
2020-10-28 14:23:09 -03:00
Christine M
8d369f73ba
Migrate test_skipping.py from testdir to pytester ( #7953 )
2020-10-28 17:05:54 +02:00
Ran Benita
6cd6d9b61a
Merge pull request #7949 from gcamargo1/gcamargo1-patch-1
...
Update doctest.rst
2020-10-28 15:56:59 +02:00
Vasilis Gerakaris
a431310c0a
Increase temp dir deletion period to 3 days ( #7914 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-10-28 08:23:35 -03:00
Ran Benita
78c09b9931
Merge pull request #7944 from symonk/refactor-test-mark-to-use-pytester
...
Refactor test_warning_types.py & test_mark.py to use pytester
2020-10-27 21:06:42 +02:00
symonk
434e30424e
Address feedback for converting testdir to pytester
2020-10-27 17:50:54 +00:00
Gustavo Camargo
b308c6ddb3
Update doctest.rst
2020-10-26 14:30:00 -05:00
Ran Benita
0fe8a8dfe6
Merge pull request #7945 from proggga/fix_test_helpconfig_7942
...
#7942 test_helpconfig.py migrate from testdir to pytester
2020-10-26 17:52:41 +02:00
Mikhail Fesenko
cd9b3618c7
#7942 test_helpconfig.py migrate from testdir to pytester
2020-10-26 18:30:48 +03:00
Bruno Oliveira
20b710c4b4
Merge pull request #7948 from bluetech/testing-conftest-pytester
...
testing: make conftest stuff check for pytester not testdir
2020-10-26 12:08:19 -03:00
Ran Benita
c31f4dc112
testing: make conftest stuff check for pytester not testdir
...
testdir uses pytester so this applies to it as well, but now includes
pytester as well.
2020-10-26 15:01:38 +02:00
Ran Benita
096d096539
Merge pull request #7946 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-django-4.1.0
...
build(deps): bump pytest-django from 4.0.0 to 4.1.0 in /testing/plugins_integration
2020-10-26 14:36:49 +02:00
dependabot[bot]
f7c5067823
build(deps): bump pytest-django in /testing/plugins_integration
...
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django ) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.0.0...v4.1.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-10-26 03:15:50 +00:00
symonk
cde50db6e7
add type hint to parametrized warning_class
2020-10-25 18:31:43 +00:00
symonk
c818ac2248
Tidy up type hints for pytest in test_marks & test_warning_types
2020-10-25 18:03:59 +00:00
symonk
6b7203aba7
add conversion for test_warning_types.py also
2020-10-25 17:38:12 +00:00
symonk
7495d2c345
add missing pytester type hints
2020-10-25 17:33:40 +00:00
symonk
1bd83e75a4
refactor test mark to use new pytester
2020-10-25 17:27:19 +00:00
Ran Benita
8105e60f20
Merge pull request #7937 from bluetech/testing-fixes
...
testing: fix pexpect hang
2020-10-25 16:53:03 +02:00
Ran Benita
ca82214444
pytester: workaround issue causing spawn to crash or hang
...
In pytester tests, pytest stashes & restores the sys.modules for each
test. So if the test imports a new module, it is initialized anew each
time.
Turns out the readline module isn't multi-init safe, which causes
pytester.spawn to crash or hang. So preserve it as a workaround.
2020-10-25 16:31:47 +02:00
Ran Benita
897f151e94
testing: use pytester.spawn instead of testdir
...
Part of investigating a bug, but didn't fix it.
2020-10-25 10:11:10 +02:00
Ran Benita
25dee8fef6
testing: fix test_assertrewrite with PYTHONPYCACHEPREFIX
...
Make the tests work when running with PYTHONPYCACHEPREFIX (possible when
running in a dirty environment, not under tox).
2020-10-25 10:11:10 +02:00
Ran Benita
d9ac2efbcd
testing: python 3.10 fix
2020-10-25 01:27:44 +02:00
Ran Benita
65e6e39b76
Merge pull request #7931 from bluetech/xunit-quadratic-2
...
fixtures: fix quadratic behavior in the number of autouse fixtures
2020-10-25 01:24:38 +03:00
Ran Benita
470ea504e2
fixtures: fix quadratic behavior in the number of autouse fixtures
...
It turns out all autouse fixtures are kept in a global list, and thinned
out for a particular node using a linear scan of the entire list each
time.
Change the list to a dict, and only take the nodes we need.
2020-10-25 00:49:23 +03:00
Ran Benita
d6becfa177
fixtures: change _getautousenames to an iterator
...
This reads better.
2020-10-25 00:49:06 +03:00
Ran Benita
aa0e2d654f
fixtures: use a faster replacement for ischildnode
...
ischildnode can be quite hot in some cases involving many fixtures.
However it is always used in a way that the nodeid is constant and the
baseid is iterated. So we can save work by pre-computing the parents of
the nodeid and use a simple containment test.
The `_getautousenames` function has the same stuff open-coded, so change
it to use the new function as well.
2020-10-25 00:48:35 +03:00
Bruno Oliveira
f7d4f457d0
Merge pull request #7934 from symonk/small-adjustment-to-hookspec-docstrings
...
Replace term 'triple' with 'tuple' in hookspec docstrings
2020-10-24 08:01:05 -03:00
symonk
751575fa97
make some hookspec docstrings technically correct
2020-10-24 10:59:25 +01:00
Thomas Grainger
e14b724ff4
Update .github/ISSUE_TEMPLATE/2_feature_request.md
2020-10-23 22:35:56 +01:00
Bruno Oliveira
daa11ab9f1
Merge pull request #7930 from bluetech/pytester-doc-fixes
...
pytester: minor doc fixes
2020-10-23 17:21:22 -03:00
Ran Benita
0b14350f23
Merge pull request #7929 from bluetech/xunit-quadratic-1
...
python: fix quadratic behavior in collection of items using xunit fixtures
2020-10-23 23:10:25 +03:00
Ran Benita
50114d4731
python: fix quadratic behavior in collection of items using xunit fixtures
...
Since commit 0f918b1a9d pytest uses auto-generated autouse
pytest fixtures for the xunit fixtures
{setup,teardown}_{module,class,method,function}. All of these fixtures
were given the same name.
Unfortunately, pytest fixture lookup for a name works by grabbing all of
the fixtures globally declared with a name and filtering to only those
which match the specific node. So each xunit-using item iterates over a
list (of fixturedefs) of a size of all previous same-xunit-using items,
i.e. quadratic.
Fixing this properly to use a better data structure is likely to take
some effort, but we can avoid the immediate problem by just using
a different name for each item's autouse fixture, so it only matches
itself.
A benchmark is added to demonstrate the issue. It is still way too slow
after the fix and possibly still quadratic, but for a different reason
which is another matter.
Running --collect-only, before (snipped):
202533232 function calls (201902604 primitive calls) in 86.379 seconds
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 85.688 85.688 main.py:320(pytest_collection)
1 0.000 0.000 85.688 85.688 main.py:567(perform_collect)
80557/556 0.021 0.000 85.050 0.153 {method 'extend' of 'list' objects}
85001/15001 0.166 0.000 85.045 0.006 main.py:785(genitems)
10002 0.050 0.000 84.219 0.008 runner.py:455(collect_one_node)
10002 0.049 0.000 83.763 0.008 runner.py:340(pytest_make_collect_report)
10002 0.079 0.000 83.668 0.008 runner.py:298(from_call)
10002 0.019 0.000 83.541 0.008 runner.py:341(<lambda>)
5001 0.184 0.000 81.922 0.016 python.py:412(collect)
5000 0.020 0.000 81.072 0.016 python.py:842(collect)
30003 0.118 0.000 78.478 0.003 python.py:218(pytest_pycollect_makeitem)
30000 0.190 0.000 77.957 0.003 python.py:450(_genfunctions)
40001 0.081 0.000 76.664 0.002 nodes.py:183(from_parent)
30000 0.087 0.000 76.629 0.003 python.py:1595(from_parent)
40002 0.092 0.000 76.583 0.002 nodes.py:102(_create)
30000 0.305 0.000 76.404 0.003 python.py:1533(__init__)
15000 0.132 0.000 74.765 0.005 fixtures.py:1439(getfixtureinfo)
15000 0.165 0.000 73.664 0.005 fixtures.py:1492(getfixtureclosure)
15000 0.044 0.000 57.584 0.004 fixtures.py:1653(getfixturedefs)
30000 18.840 0.001 57.540 0.002 fixtures.py:1668(_matchfactories)
37507500 31.352 0.000 38.700 0.000 nodes.py:76(ischildnode)
15000 10.464 0.001 15.806 0.001 fixtures.py:1479(_getautousenames)
112930587/112910019 7.333 0.000 7.339 0.000 {built-in method builtins.len}
After:
51890333 function calls (51259706 primitive calls) in 27.306 seconds
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 26.783 26.783 main.py:320(pytest_collection)
1 0.000 0.000 26.783 26.783 main.py:567(perform_collect)
80557/556 0.020 0.000 26.108 0.047 {method 'extend' of 'list' objects}
85001/15001 0.151 0.000 26.103 0.002 main.py:785(genitems)
10002 0.047 0.000 25.324 0.003 runner.py:455(collect_one_node)
10002 0.045 0.000 24.888 0.002 runner.py:340(pytest_make_collect_report)
10002 0.069 0.000 24.805 0.002 runner.py:298(from_call)
10002 0.017 0.000 24.690 0.002 runner.py:341(<lambda>)
5001 0.168 0.000 23.150 0.005 python.py:412(collect)
5000 0.019 0.000 22.223 0.004 python.py:858(collect)
30003 0.101 0.000 19.818 0.001 python.py:218(pytest_pycollect_makeitem)
30000 0.161 0.000 19.368 0.001 python.py:450(_genfunctions)
30000 0.302 0.000 18.236 0.001 python.py:1611(from_parent)
40001 0.084 0.000 18.051 0.000 nodes.py:183(from_parent)
40002 0.116 0.000 17.967 0.000 nodes.py:102(_create)
30000 0.308 0.000 17.770 0.001 python.py:1549(__init__)
15000 0.117 0.000 16.111 0.001 fixtures.py:1439(getfixtureinfo)
15000 0.134 0.000 15.135 0.001 fixtures.py:1492(getfixtureclosure)
15000 9.320 0.001 14.738 0.001 fixtures.py:1479(_getautousenames)
2020-10-23 22:36:23 +03:00
Ran Benita
1c0c56dfb9
pytester: minor doc fixes
2020-10-23 21:01:31 +03:00
Emiel van de Laar
0d9e27a363
doc: Remove unused imports in examples ( #7924 )
...
The "os" imports in the `tmp_path` and `tmpdir` fixture examples are
unused and thus have been removed to prevent confusion.
2020-10-23 17:31:17 +03:00
Ran Benita
0cdbf8b377
Merge pull request #7910 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-trio-0.7.0
...
build(deps): bump pytest-trio from 0.6.0 to 0.7.0 in /testing/plugins_integration
2020-10-23 16:52:54 +03:00
Ran Benita
e1848349a7
Merge pull request #7909 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-django-4.0.0
...
build(deps): bump pytest-django from 3.10.0 to 4.0.0 in /testing/plugins_integration
2020-10-23 16:52:29 +03:00
Thomas Grainger
03363473f7
expand feature request issue template
2020-10-23 14:03:24 +01:00
Matthias Gabriel
e8504e04f3
Fix small typo in reference.rst ( #7922 )
...
Co-authored-by: Ronny Pfannschmidt <opensource@ronnypfannschmidt.de >
2020-10-22 07:11:49 -03:00
Bruno Oliveira
824e9cf67a
Merge pull request #7917 from bluetech/ci-timeout
...
ci: decrease job timeout from 6 hours to 30 minutes
2020-10-21 08:02:30 -03:00
Ran Benita
fe69d0d680
ci: decrease job timeout from 6 hours to 30 minutes
...
We don't have any jobs that should go beyond that, so let's be nicer to
the CI host and quicker to report the failure.
2020-10-21 10:17:25 +03:00
Ran Benita
a66b6b857a
Merge pull request #7915 from bluetech/fix-lf-package
...
cacheprovider: fix some files in packages getting lost from --lf
2020-10-21 10:12:32 +03:00
Ran Benita
afaabdda8c
cacheprovider: fix some files in packages getting lost from --lf
...
--lf has an optimization where it skips collecting Modules (python
files) which don't contain failing tests. The optimization works by
getting the paths of all cached failed tests and skipping the collection
of Modules whose path is not included in that list.
In pytest, Package nodes are Module nodes with the fspath being the file
`<package dir>/__init__.py`. Since it's a Module the logic above
triggered for it, and because it's an `__init__.py` file which is
unlikely to have any failing tests in it, it is skipped, which causes
its entire directory to be skipped, including any Modules inside it with
failing tests.
Fix by special-casing Packages to never filter. This means entire
Packages are never filtered, the Modules themselves are always checked.
It is reasonable to consider an optimization which does filter entire
packages bases on parent paths etc. but this wouldn't actually save any
real work so is really not worth it.
2020-10-19 19:02:43 +03:00
Bruno Oliveira
f453460ae7
Merge pull request #7912 from hugovk/rm-3.5
2020-10-19 10:27:49 -03:00
Hugo van Kemenade
c9e5042d6d
Remove redundant Python 2.7 code
2020-10-19 10:47:35 +03:00
Hugo van Kemenade
a642650e17
Drop support for EOL Python 3.5
2020-10-19 10:02:36 +03:00
dependabot[bot]
f335144d1d
build(deps): bump pytest-trio in /testing/plugins_integration
...
Bumps [pytest-trio](https://github.com/python-trio/pytest-trio ) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/python-trio/pytest-trio/releases )
- [Commits](https://github.com/python-trio/pytest-trio/compare/v0.6.0...v0.7.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-10-19 03:05:42 +00:00
dependabot[bot]
23aac10391
build(deps): bump pytest-django in /testing/plugins_integration
...
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django ) from 3.10.0 to 4.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v3.10.0...v4.0.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-10-19 03:05:42 +00:00
Ran Benita
f61d4ed9d5
Merge pull request #7907 from bluetech/mypy-790
...
Update mypy 0.782 -> 0.790, iniconfig typing
2020-10-19 00:28:04 +03:00
Ran Benita
09e38b1697
runner: combine a sort+reverse to a sort(reverse=True)
...
Suggested by Zac-HD.
2020-10-19 00:02:01 +03:00
Ran Benita
1b23a111d2
Update mypy 0.782 -> 0.790
2020-10-17 19:25:45 +03:00
Ran Benita
e5e47c1097
Fix typing related to iniconfig
...
iniconfig now has typing stubs which reveal a couple issues.
2020-10-17 19:25:45 +03:00
Bruno Oliveira
0a258f534f
Fix linting
2020-10-17 08:42:15 -03:00
Bruno Oliveira
f58d0a8c3d
Merge pull request #7903 from ekrecker/patch-1
...
Fix typos
2020-10-17 08:41:10 -03:00
Nimesh Vashistha
991bc7bd50
Added note to writing_plugins.rst ( #7896 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-10-17 08:26:30 -03:00
kwgchi
fc70fd23a2
Fix typos
2020-10-16 21:29:58 +09:00
Bruno Oliveira
b4c28dcaa2
Merge pull request #7893 from nicoddemus/testdir-docs-7892
...
List Testdir members in the docs
2020-10-14 10:34:49 -03:00
Prashant Sharma
5182c73fea
Add example for registering multiple custom mark ( #7886 )
2020-10-14 15:17:50 +03:00
Bruno Oliveira
3cae145e41
List Testdir members in the docs
...
Also include docstrings pointing to the counterparts in Pytester.
Fix #7892
2020-10-13 12:01:11 -03:00
Bruno Oliveira
69419cb700
New pytester fixture ( #7854 )
2020-10-12 12:13:06 -03:00
Bruno Oliveira
cb578a918e
Merge pull request #7883 from pytest-dev/dependabot/pip/testing/plugins_integration/django-3.1.2
...
build(deps): bump django from 3.1.1 to 3.1.2 in /testing/plugins_integration
2020-10-12 09:43:17 -03:00
dependabot[bot]
b53a8bb60f
build(deps): bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.1.1...3.1.2 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-10-12 12:39:31 +00:00
Bruno Oliveira
3434488af4
Merge pull request #7882 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--2.0.2
...
build(deps): bump anyio[curio,trio] from 2.0.0 to 2.0.2 in /testing/plugins_integration
2020-10-12 09:38:54 -03:00
Ronny Pfannschmidt
cdaa1b52be
Merge pull request #7884 from bluetech/release-on-comment-fixes
...
release-on-comment: add "Closes <release issue number>" to release PR
2020-10-11 10:49:45 +02:00
Ran Benita
008863aeb9
release-on-comment: add "Closes <release issue number>" to release PR
2020-10-10 19:01:41 +03:00
dependabot[bot]
37cf4693cf
build(deps): bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/2.0.0...2.0.2 )
Signed-off-by: dependabot[bot] <support@github.com >
2020-10-10 15:52:11 +00:00
Hugo van Kemenade
3059caf1ee
Put smoke test deps in requirements.txt for Dependabot ( #7806 )
2020-10-10 18:51:35 +03:00
Ran Benita
55127b2142
Merge pull request #7879 from charlesaracil-ulti/ask_for_commit_after_in_contributing
...
ask for commit after changelog and authors file edit in contributing
2020-10-09 22:34:06 +03:00
Charles Aracil
2e322f183c
ask for commit after changelog and authors file edit ( #7878 )
2020-10-09 16:10:54 +02:00
Zac Hatfield-Dodds
dbd082af96
Merge pull request #7874 from tanvimehta/master
2020-10-08 17:36:54 +11:00
Tanvi Mehta
d093931464
Added name to authors list
2020-10-07 22:57:52 -07:00
Tanvi Mehta
779b511bfe
Fixed formatting
2020-10-07 22:25:27 -07:00
Tanvi Mehta
43b1eb3c9e
Use instead of a in Issue #7868
...
Use `collections.Counter` instead of a `dict` in `terminal.py` Issue #7868
2020-10-07 21:51:28 -07:00
Kyle Altendorf
5acc55e838
Merge pull request #7872 from altendky/addini_takes_string
...
Document that Parser.addini() can take, and defaults to, 'string'
2020-10-07 19:12:54 -04:00
Kyle Altendorf
1630c37266
Added changelog/7872.doc.rst
2020-10-07 18:06:13 -04:00
Kyle Altendorf
76acb44330
Update tests to cover explicit None and "string" as addini() types
2020-10-07 17:56:54 -04:00
Kyle Altendorf
af3759a503
Parser.addini() can take and defaults to 'string'
2020-10-07 17:21:55 -04:00
Anthony Sottile
95917f8833
Merge pull request #7863 from asottile/py36_order_preserving_dict
...
py36+: remove _pytest.compat.order_preserving_dict
2020-10-06 08:35:38 -07:00
Manuel Mariñez
13ddec9a00
Add alias clarification to deprecation warning ( #7829 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-10-06 11:48:34 -03:00
Anthony Sottile
b6b75383ce
py36+: remove _pytest.compat.order_preserving_dict
2020-10-06 00:22:09 -07:00
Anthony Sottile
f54ec30a6d
Merge pull request #7862 from asottile/comm2ann
...
py36+: com2ann
2020-10-06 00:20:57 -07:00
Anthony Sottile
33d119f71a
py36+: com2ann
2020-10-05 18:33:17 -07:00
William Jamir Silva
703e89134c
Update reference.rst informing the default junit_family ( #7860 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-10-05 14:04:37 -03:00
Anthony Sottile
f81c6c00a9
Merge pull request #7852 from asottile/py36_pyupgrade
...
py36+: pyupgrade: py36+
2020-10-04 08:25:32 -07:00
Ran Benita
1c08f1dd0f
Merge pull request #7844 from bluetech/typing-fixtures
...
fixtures: some type annotations, remove cyclic dependency
2020-10-04 17:41:33 +03:00
Bruno Oliveira
7581f0b3a1
Merge pull request #7853 from albertvillanova/doc-patch-1
2020-10-04 09:15:46 -03:00
Albert Villanova del Moral
8593b57666
Update link to numpy
2020-10-04 08:54:43 +02:00
Ran Benita
d0a3f1dcbc
nodes: remove cyclic dependency on _pytest.fixtures
...
- Change the fixtures plugin to store its one piece of data on the node's
Store instead of directly.
- Import FixtureLookupError lazily.
2020-10-04 09:44:45 +03:00
Ran Benita
bf09e7792f
fixtures: some type annotations
2020-10-04 09:43:58 +03:00
Ran Benita
7f794b7aff
Merge pull request #7851 from bluetech/cherry-pick-release
...
Merge pull request #7849 from pytest-dev/release-6.1.1
2020-10-03 22:57:41 +03:00
Anthony Sottile
66bd44c13a
py36+: pyupgrade: py36+
2020-10-03 12:46:54 -07:00
Anthony Sottile
b1bcb9fba8
Merge pull request #7850 from asottile/py36_pathlib_export
...
py36+: remove rexport of Path and PurePath
2020-10-03 12:43:25 -07:00
Ran Benita
fd74dd3dcb
Merge pull request #7849 from pytest-dev/release-6.1.1
...
Prepare release 6.1.1
(cherry picked from commit 69d903260d )
2020-10-03 22:38:33 +03:00
Anthony Sottile
fb1d550aac
py36+: remove rexport of Path and PurePath
2020-10-03 12:16:52 -07:00
Anthony Sottile
022ac9b9e8
Merge pull request #7846 from asottile/py36_black
...
py36+: update the target version of black to py36
2020-10-03 11:45:45 -07:00
Anthony Sottile
3b957c2244
Merge pull request #7845 from pytest-dev/py36_overload
...
py36+: remove _pytest.compat.overload
2020-10-03 11:45:29 -07:00
Hugo van Kemenade
133e8af4ee
Merge pull request #7805 from hugovk/pytest-rerunfailures
...
Smoke test pytest-rerunfailures
2020-10-03 20:17:06 +03:00
Anthony Sottile
f295b0267d
py36+: update the target version of black to py36
2020-10-03 08:17:22 -07:00
Anthony Sottile
7f0d2beb50
py36+: remove _pytest.compat.overload
2020-10-03 08:01:22 -07:00
Anthony Sottile
6ed07a1c25
Merge pull request #7840 from asottile/py36_typing_Type
...
py36+: from typing import Type: no longer need guard
2020-10-03 07:44:06 -07:00
Anthony Sottile
aa077ab188
Merge pull request #7841 from asottile/py36_todo
...
py36+: resolve py36 TODOs
2020-10-03 07:43:15 -07:00
Anthony Sottile
c2a197f351
Merge pull request #7839 from asottile/py36_compat_fspath
...
py36+: remove _pytest.compat.fspath
2020-10-03 07:42:54 -07:00
Ran Benita
5efddd32db
Merge pull request #7826 from bluetech/doc-final
...
doc: patch Sphinx to detect our `@final` for marking classes as `final`
2020-10-03 13:29:17 +03:00
Ran Benita
7705e5e624
doc: patch Sphinx to detect our @final for marking classes as final
...
Thanks to Dominic Davis-Foster for code & assistance.
2020-10-03 13:13:14 +03:00
Ran Benita
a6a7ba57e0
Merge pull request #7817 from bluetech/fix-testpaths-bestrelpath2
...
terminal: fix crash in header reporting when absolute testpaths is used
2020-10-03 12:59:18 +03:00
Anthony Sottile
53b5f64b4b
py36+: resolve py36 TODOs
2020-10-02 19:57:55 -07:00
Anthony Sottile
bfadd4060e
py36+: from typing import Type: no longer need guard
2020-10-02 19:50:10 -07:00
Anthony Sottile
be43c7c67b
py36+: remove _pytest.compat.fspath
2020-10-02 19:49:32 -07:00
Anthony Sottile
a23666d554
Merge pull request #7838 from asottile/py36_requires_ordered_markup
...
py36+: remove requires_ordered_markup
2020-10-02 19:48:01 -07:00
Anthony Sottile
ced0a52a87
Merge pull request #7837 from asottile/py36_union_pattern_match
...
py36+: remove workaround for Union[Pattern/Match] bug
2020-10-02 19:47:50 -07:00
Anthony Sottile
2c7b7d8f66
Merge pull request #7836 from asottile/py36_typing_X
...
py36+: replace typing.X with X
2020-10-02 19:47:42 -07:00
Anthony Sottile
ac189885f6
Merge pull request #7835 from asottile/py36_misc
...
py36+: miscellaneous (3, 6) cleanup
2020-10-02 19:47:35 -07:00
Anthony Sottile
6ba13ed528
Merge pull request #7834 from asottile/py36_TYPE_CHECKING
...
py36+: remove TYPE_CHECKING from _pytest.compat
2020-10-02 19:47:27 -07:00
Anthony Sottile
a6ef0f8f67
Merge pull request #7833 from asottile/py36_ModuleNotFoundError
...
py36+: remove _pytest.compat.MODULE_NOT_FOUND_ERROR
2020-10-02 19:47:18 -07:00
Anthony Sottile
7836c2c371
Merge pull request #7832 from asottile/py36_pathlib2
...
py36+: remove pathlib2 compatibility shim
2020-10-02 19:47:10 -07:00
Bruno Oliveira
6ee1eadd1c
Fake setuptools-scm into using version 6.2.0a1
...
Due to pytest-rerunfailures latest version requiring 6.1.0, which is not
tagged on master.
2020-10-02 23:40:50 -03:00
Anthony Sottile
daba7ceb71
py36+: remove requires_ordered_markup
2020-10-02 15:06:59 -07:00
Anthony Sottile
e622cb7c41
py36+: remove workaround for Union[Pattern/Match] bug
2020-10-02 15:06:02 -07:00
Anthony Sottile
cf220b92a2
py36+: replace typing.X with X
2020-10-02 15:05:13 -07:00
Anthony Sottile
284fd45a08
py36+: miscellaneous (3, 6) cleanup
2020-10-02 15:04:16 -07:00
Anthony Sottile
a238d1f37d
py36+: remove TYPE_CHECKING from _pytest.compat
...
automated with:
```bash
git grep -l 'from .* import TYPE_CHECKING' |
xargs reorder-python-imports \
--application-directories .:src \
--remove-import 'from _pytest.compat import TYPE_CHECKING' \
--add-import 'from typing import TYPE_CHECKING'
```
2020-10-02 15:03:24 -07:00
Anthony Sottile
1f57fb079d
py36+: remove _pytest.compat.MODULE_NOT_FOUND_ERROR
2020-10-02 15:02:45 -07:00
Anthony Sottile
3c93eb0f04
py36+: remove pathlib2 compatibility shim
2020-10-02 14:59:07 -07:00
Anthony Sottile
325b988ca8
Merge pull request #7831 from asottile/py36_drop_in_CI
...
py36+: drop python3.5 in CI and setup.cfg
2020-10-02 14:55:02 -07:00
Anthony Sottile
179f4326df
py36+: drop python3.5 in CI and setup.cfg
2020-10-02 14:00:11 -07:00
Max Voitko
cb0a13a523
Fix minor typos in doctest.rst ( #7828 )
2020-10-02 15:39:15 +02:00
Ran Benita
b250c9d615
Merge pull request #7813 from bluetech/findpaths-confusion
...
findpaths: fix regression causing incorrect rootdir to be determined
2020-09-30 13:21:18 +03:00
Ran Benita
3ecdad67b7
terminal: improve condition on whether to display testpaths in header
...
Make it match better the condition on whether testpaths is used (found
in config/__init__.py).
2020-09-29 15:23:47 +03:00
Ran Benita
61f80a783a
terminal: fix crash in header reporting when absolute testpaths is used
...
Regressed in 6.1.0 in 62e249a1f9 .
The `x` is an `str` but is expected to be a `pathlib.Path`. Not caught
by mypy because `config.getini()` returns `Any`.
Fix by just removing the `bestrelpath` call:
- testpaths are always relative to the rootdir, it thus would be very
unusual to specify an absolute path there.
- The code was wrong even before the regression: `py.path.local`'s
`bestrelpath` function expects a `py.path.local`, not an `str`. But it
had some weird `try ... except AttributeError` fallback which just
returns the argument, i.e. it was a no-op. So there is no behavior
change.
- It seems reasonable to me to just print the full path if that's what
the ini specifies.
2020-09-29 15:23:47 +03:00
Ran Benita
db08c7fbb0
pathlib: improve comments on commonpath and bestrelpath
2020-09-29 13:11:47 +03:00
Hugo van Kemenade
875f226d3b
Smoke test pytest-rerunfailures
2020-09-29 12:47:46 +03:00
Ran Benita
cd67c2a8cf
Merge pull request #7802 from bluetech/bump-attrs
...
Bump attrs requirement from >=17.4.0 to >=19.2.0
2020-09-28 19:30:58 +03:00
Ran Benita
4a9192f727
findpaths: fix regression causing incorrect rootdir to be determined
...
When switching from py.path.local to pathlib (70f3ad1c1f ),
`local.parts(reverse=True)` was translated incorrectly, leading to the
wrong rootdir being determined in some non-trivial cases where parent
directories have config files as well.
2020-09-28 19:13:01 +03:00
Jakob van Santen
91fa11bed0
python_api: let approx() take nonnumeric values ( #7710 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-09-28 12:17:23 -03:00
Ran Benita
f324b27d02
Merge pull request #7748 from nicoddemus/fix-plugin-order-docs
...
Improve docs about plugin discovery/loading at startup
2020-09-27 13:19:58 +03:00
Ran Benita
32bb8f3a63
Bump attrs requirement from >=17.4.0 to >=19.2.0
...
This allows us to remove the `ATTRS_EQ_FIELD` thing which is causing
some annoyance.
2020-09-27 13:17:59 +03:00
Anthony Sottile
28ba9ab737
Merge pull request #7801 from pytest-dev/fix-bot-typo
...
Fix typos in pytestbot
2020-09-26 15:53:14 -07:00
Hugo van Kemenade
14de6781d8
Fix typos in pytestbot
2020-09-26 23:46:58 +03:00
Ran Benita
e0ea00a70d
Merge pull request #7798 from bluetech/cherry-pick-release
...
Cherry-pick 6.1.0 release notes
2020-09-26 21:24:11 +03:00
Ran Benita
19c78ab574
Merge pull request #7797 from pytest-dev/release-6.1.0
...
Prepare release 6.1.0
(cherry picked from commit 08a1ab3a8a )
2020-09-26 21:11:48 +03:00
Ran Benita
0b327cc75b
Merge pull request #7796 from bluetech/changelog-cleanups
...
changelog: some consistency cleanups
2020-09-26 20:13:45 +03:00
Ran Benita
d3c746eb8e
changelog: some consistency cleanups
2020-09-26 20:04:17 +03:00
Kamran Ahmad
d3f47bf346
Improved 'Declaring new hooks' section in docs. ( #7782 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-09-23 11:15:55 -03:00
Bruno Oliveira
3db24893b4
Merge pull request #7784 from nicoddemus/use-new-pip-solver-7783
...
Use new pip resolver in plugins tox env
2020-09-23 09:32:02 -03:00
Bruno Oliveira
8215625135
Use new pip resolver in plugins tox env
...
Fix #7783
2020-09-23 09:16:48 -03:00
Ran Benita
5cfd7c0ddd
Merge pull request #7780 from bluetech/final
...
Mark some public and to-be-public classes as `@final`
2020-09-23 13:42:11 +03:00
Ran Benita
a99ca879e7
Mark some public and to-be-public classes as @final
...
This indicates at least for people using type checkers that these
classes are not designed for inheritance and we make no stability
guarantees regarding inheritance of them.
Currently this doesn't show up in the docs. Sphinx does actually support
`@final`, however it only works when imported directly from `typing`,
while we import from `_pytest.compat`.
In the future there might also be a `@sealed` decorator which would
cover some more cases.
2020-09-22 12:40:40 +03:00
Bruno Oliveira
050c2df737
Use multiple issue template types and mention Discussions ( #7739 )
2020-09-21 20:22:25 +02:00
Bruno Oliveira
7324e90199
Update doc/en/writing_plugins.rst
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-09-19 16:14:28 -03:00
Bruno Oliveira
cdfdb3a25d
Add docs about reusing fixtures from other projects ( #7772 )
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-09-19 16:10:22 -03:00
Ran Benita
8eefe4eaf5
Merge pull request #7741 from bluetech/releasing-order
...
RELEASING: ~~first merge PR, then tag~~ clarify where to push the tag
2020-09-19 22:01:00 +03:00
Sorin Sbarnea
b031a7cecf
Smoke tests for assorted plugins ( #7721 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
Co-authored-by: Thomas Grainger <tagrain@gmail.com >
Co-authored-by: Kyle Altendorf <sda@fstab.net >
2020-09-19 15:56:52 -03:00
Ran Benita
027415502a
RELEASING: clarify where to push the tag
2020-09-19 21:35:17 +03:00
Ran Benita
9f164b7227
Merge pull request #7766 from nicoddemus/backporting-docs
...
Add guidelines section about backporting
2020-09-19 21:18:41 +03:00
Ran Benita
4e460cdd9e
Merge pull request #7773 from nicoddemus/xml-properties-xdist-docs
...
Warning about record_testsuite_property not working with xdist
2020-09-19 21:06:40 +03:00
Florian Bruhin
89305e7b09
Improve output for missing config keys ( #7572 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-09-19 12:57:29 -03:00
Bruno Oliveira
c4ce5f2c98
Warning about record_testsuite_property not working with xdist
...
Related to #7767
2020-09-19 12:36:08 -03:00
Bruno Oliveira
9bfd14a443
Merge pull request #7749 from bluetech/fix-get_source-crash
2020-09-19 10:38:32 -03:00
Bruno Oliveira
895a8cf296
Add guidelines section about backporting
...
From https://github.com/pytest-dev/pytest/pull/7723#issuecomment-693310439
2020-09-17 10:06:04 -03:00
Bruno Oliveira
98608c439f
Merge pull request #7760 from finn0/docs/punctuation-mark
...
[Docs] remove semi-colon punctuation mark
2020-09-16 12:42:20 -03:00
Faris A Chugthai
9ceb4e6efc
Mistyped was mistyped ( #7762 )
2020-09-16 12:18:03 +02:00
Sorin Sbarnea
da21fc5883
Improve output for missing required plugins/unknown config keys ( #7723 )
...
Co-authored-by: Florian Bruhin <me@the-compiler.org >
2020-09-16 12:13:17 +02:00
Vipul Kumar
7470270f20
[Docs] remove semi-colon punctuation mark
...
Usually, we use semi-colon punctuation mark to connect closely related
ideas. Sentences which are after semicolon, begins with small letter,
and last sentence always ends with a period mark, see "Garner's Modern
American Usage" book for more information about usage of punctuation
mark. So removing punctuation mark altogether is a good idea, as
@gnikonorov suggested [1].
[1]: https://github.com/pytest-dev/pytest/pull/7760#pullrequestreview-489232607
2020-09-16 06:17:17 +00:00
Faris A Chugthai
cdf2024070
Update writing_plugins.rst ( #7757 )
...
Capitalize the first word in a sentence and add a period at the end.
2020-09-15 16:41:27 +02:00
Bruno Oliveira
f42c0cd1ec
Merge pull request #7747 from nicoddemus/cmdline-flags-docs
...
Add full command-line flags to the reference docs
2020-09-14 13:47:43 -03:00
Bruno Oliveira
4b46db8ae5
Add full command-line flags to the reference docs
...
Fix #7728
2020-09-14 13:42:06 -03:00
Anthony Sottile
7f7e383daf
Merge pull request #7753 from pytest-dev/asottile-patch-1
...
Update to deadsnakes/action@v2.0.0
2020-09-14 08:55:25 -07:00
Anthony Sottile
a5fd2895b6
Update to deadsnakes/action@v2.0.0
...
should be a noop (despite the major version bump) -- I rewrote the action to be more stable and need fewer security updates
2020-09-13 12:55:56 -07:00
Anthony Sottile
bc0020ad96
Merge pull request #7750 from pytest-dev/graingert-patch-1
...
permit tox config in non-tox.ini files for pytest-dev member projects
2020-09-13 09:37:35 -07:00
Anthony Sottile
e04bc05e7e
Merge pull request #7751 from pytest-dev/graingert-patch-2
...
remove unused bitbucket link
2020-09-12 20:16:38 -07:00
Thomas Grainger
51752108b8
remove unused bitbucket link
2020-09-13 03:02:10 +01:00
Thomas Grainger
24c26a046e
permit tox config in non-tox.ini files for pytest-dev member projects
2020-09-13 00:41:00 +01:00
Ran Benita
d18cb961cf
assertion/rewrite: fix internal error on collection error due to decorated function
...
For decorated functions, the lineno of the FunctionDef AST node points
to the `def` line, not to the first decorator line. On the other hand,
in code objects, the `co_firstlineno` points to the first decorator
line.
Assertion rewriting inserts some imports to code it rewrites. The
imports are inserted at the lineno of the first statement in the AST. In
turn, the code object compiled from the rewritten AST uses the lineno of
the first statement (which is the first inserted import).
This means that given a module like this,
```py
@foo
@bar
def baz(): pass
```
the lineno of the code object without assertion rewriting
(`--assertion=plain`) is 1, but with assertion rewriting it is 3.
And *this* causes some issues for the exception repr when e.g. the
decorator line is invalid and raises during collection. The code becomes
confused and crashes with
INTERNALERROR> File "_pytest/_code/code.py", line 638, in get_source
INTERNALERROR> lines.append(space_prefix + source.lines[line_index].strip())
INTERNALERROR> IndexError: list index out of range
Fix it by special casing decorators. Maybe there are other cases like
this but off hand I can't think of another Python construct where the
lineno of the item would be after its first line, and this is the only
such issue we have had reported.
2020-09-12 23:05:08 +03:00
Ran Benita
35350e11cd
assertion/rewrite: rewrite condition to be easier to follow
2020-09-12 22:57:50 +03:00
Bruno Oliveira
541b30a044
Improve docs about plugin discovery/loading at startup
...
Fix #7691
2020-09-12 14:11:43 -03:00
Bruno Oliveira
634cde9506
Merge pull request #7745 from asottile/exec_globals_type_problem
...
Fix INTERNALERROR when accessing locals / globals with faulty `exec`
2020-09-12 08:09:48 -03:00
Bruno Oliveira
ec58ae5bae
Merge pull request #7736 from nicoddemus/extend-fixture-parametrize-1953
2020-09-12 08:08:31 -03:00
Anthony Sottile
96a17b1683
Fix INTERNALERROR when accessing locals / globals with faulty exec
2020-09-11 18:13:48 -07:00
Ran Benita
389e30283c
Merge pull request #7744 from bluetech/cherry-pick-release
...
Merge pull request #7720 from pytest-dev/release-6.0.2
2020-09-12 02:21:41 +03:00
Ran Benita
e0dd2111a0
Merge pull request #7720 from pytest-dev/release-6.0.2
...
Prepare release 6.0.2
(cherry picked from commit fe69bd5baf )
2020-09-12 02:05:47 +03:00
Bruno Oliveira
e36adbaadc
Use ParameterSet to extract argnames from parametrize mark
2020-09-11 16:53:34 -03:00
Bruno Oliveira
c00fe960ba
Allow ovewriting a parametrized fixture while reusing the parent fixture's value
...
Fix #1953
2020-09-11 16:53:34 -03:00
Ran Benita
78ed3e48db
Merge pull request #7729 from bluetech/doc-fix-crossrefs
...
doc: fix a few broken cross references
2020-09-11 12:44:29 +03:00
Bruno Oliveira
9c0e0c756a
Merge pull request #7734 from pytest-dev/asottile-patch-1
...
Update pytest-dev requirements
2020-09-09 10:37:03 -03:00
Joseph Lucas
6ae0f741ef
Add example for __test__ ( #7733 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-09-09 10:33:39 -03:00
Anthony Sottile
7da6ebede0
Update pytest-dev requirements
...
- be more vague about "packaging metadata" over explicitly mentioning `setup.py`
(such that `pyproject.toml`-based distributions are allowed)
- drop extensions on `README.txt` / `LICENSE.txt` (it's more common to have `.md`
/ `.rst` / no extension)
- remove duplicate mention of license packaging metadata
2020-09-08 09:52:59 -07:00
Ran Benita
e503c9a9f8
doc: fix broken cross references
2020-09-06 19:06:43 +03:00
Anthony Sottile
4df39e3a1d
Merge pull request #7722 from The-Compiler/update-trainings
...
doc: Remove Workshoptage training
2020-09-05 18:00:34 -07:00
Florian Bruhin
5bdfd719e6
doc: Remove Workshoptage training
...
The sign-up is closed.
2020-09-05 18:11:23 +02:00
Sorin Sbarnea
1df2471f17
Make min duration configurable for slowest tests ( #7667 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-09-05 09:18:29 -03:00
Bruno Oliveira
54f7a87ea8
Merge pull request #7714 from bluetech/doc-prefer-public
...
doc: prefer to reference by public name when possible
2020-09-04 20:39:03 -03:00
Bruno Oliveira
db12d79c2a
Merge pull request #7713 from bluetech/doc-one-pm
...
doc/reference: include PluginManager in PytestPluginManager and remove it
2020-09-04 20:38:20 -03:00
Bruno Oliveira
44fc0192bc
Merge pull request #7719 from nicoddemus/fix-release-script
...
Use tox to execute release script
2020-09-04 18:45:29 -03:00
Bruno Oliveira
5371be4cf6
Use tox to execute release script
...
The release-on-comment script is always executed on *master*, so we should
execute the `release.py` script using tox to ensure we create the
right environment.
Also fixed errors in the error handling code.
2020-09-04 18:35:54 -03:00
Ran Benita
0ca2327069
doc: prefer to reference by public name when possible
...
When a name is exported from `pytest`, prefer to refer to it by that
rather than its `_pytest` import path. It is shorter and more
appropriate in user-facing documentation (although that's not really
visible).
Our plan is to expose more names for typing purposes, in which can this
could be more comprehensive.
2020-09-04 20:46:15 +03:00
Ran Benita
48a8c373a0
doc/reference: include PluginManager in PytestPluginManager and remove it
...
Before, `PluginManager` was a copy of the pluggy doc, and
`PytestPluginManager` was documented separately.
pytest users only really need to know about `PytestPluginManager`, so
instead of splitting have the `PytestPluginManager` documentation
include all of `PluginManager` members and remove `PluginManager` from
the reference (it is still shown as the base class).
2020-09-04 20:14:39 +03:00
Ran Benita
885d969484
Merge pull request #7685 from bluetech/py-to-pathlib-2
...
config: start migrating Config.{rootdir,inifile} from py.path.local to pathlib
2020-09-04 18:42:52 +03:00
Bruno Oliveira
0d0b798663
Merge pull request #7708 from nicoddemus/repr-line-7707
...
Fix handle of exceptions in ReprEntry with tb=line
2020-09-04 12:06:11 -03:00
Ran Benita
62e249a1f9
Replace some usages of config.{rootdir,inifile} with config.{rootpath,inipath}
2020-09-04 18:05:42 +03:00
Ran Benita
a346028006
config: add Config.{rootpath,inipath}, turn Config.{rootdir,inifile} to properties
2020-09-04 18:04:25 +03:00
Ran Benita
3085c99e47
config: small doc improvements
2020-09-04 18:04:25 +03:00
Bruno Oliveira
19e99ab413
Integrate warnings filtering directly into Config ( #7700 )
...
Warnings are a central part of Python, so much that Python itself has
command-line and environtment variables to handle warnings.
By moving the concept of warning handling into Config, it becomes natural to
filter warnings issued as early as possible, even before the "_pytest.warnings"
plugin is given a chance to spring into action. This also avoids the weird
coupling between config and the warnings plugin that was required before.
Fix #6681
Fix #2891
Fix #7620
Fix #7626
Close #7649
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-09-04 11:57:15 -03:00
Bruno Oliveira
9f672c85c5
Fix handle of exceptions in ReprEntry with tb=line
...
Fix #7707
2020-09-03 07:44:45 -03:00
Anthony Sottile
91dbdb6093
Merge pull request #7698 from bluetech/rm-scopedproperty
...
fixture: remove `@scopeproperty`
2020-08-28 17:26:10 -07:00
Bruno Oliveira
877c62166a
Merge pull request #7699 from bluetech/optimize-makeitem
...
python: small optimization in PyCollector.collect()
2020-08-28 09:53:00 -03:00
Bruno Oliveira
21aa6c42b7
Merge pull request #7697 from nicoddemus/file-docs
2020-08-28 09:52:02 -03:00
Bruno Oliveira
ceea6000ba
Add missing File reference to the docs
...
As related in #7696
2020-08-28 08:49:22 -03:00
Ran Benita
12de92cd2b
fixture: remove @scopeproperty
...
I think the straight code is easier to understand.
2020-08-28 10:02:02 +03:00
Ran Benita
daca174c98
python: small optimization in PyCollector.collect()
...
Inline `_makeitem()` so that `self.ihook` (which is moderately
expensive) can be called only once.
Note: the removed test "test_makeitem_non_underscore" comes from an old
behavior of skipping names that start with `_` which has since been
generalized, making the test no longer relevant.
2020-08-27 10:18:37 +03:00
Ran Benita
2fcf763d7e
Merge pull request #7671 from bluetech/ignored-names
...
RFC: python: skip work pytest_pycollect_makeitem work on certain names
2020-08-27 10:03:09 +03:00
Ran Benita
98891a5947
python: skip pytest_pycollect_makeitem work on certain names
...
When a Python object (module/class/instance) is collected, for each name
in `obj.__dict__` (and up its MRO) the pytest_pycollect_makeitem hook is
called for potentially creating a node for it.
These Python objects have a bunch of builtin attributes that are
extremely unlikely to be collected. But due to their pervasiveness,
dispatching the hook for them ends up being mildly expensive and also
pollutes PYTEST_DEBUG=1 output and such.
Let's just ignore these attributes.
On the pandas test suite commit 04e9e0afd476b1b8bed930e47bf60e,
collect only, irrelevant lines snipped, about 5% improvement:
Before:
```
51195095 function calls (48844352 primitive calls) in 39.089 seconds
ncalls tottime percall cumtime percall filename:lineno(function)
226602/54 0.145 0.000 38.940 0.721 manager.py:90(_hookexec)
72227 0.285 0.000 20.146 0.000 python.py:424(_makeitem)
72227 0.171 0.000 16.678 0.000 python.py:218(pytest_pycollect_makeitem)
```
After:
```
48410921 function calls (46240870 primitive calls) in 36.950 seconds
ncalls tottime percall cumtime percall filename:lineno(function)
181429/54 0.113 0.000 36.777 0.681 manager.py:90(_hookexec)
27054 0.130 0.000 17.755 0.001 python.py:465(_makeitem)
27054 0.121 0.000 16.219 0.001 python.py:218(pytest_pycollect_makeitem)
```
2020-08-26 17:43:57 +03:00
Bruno Oliveira
8730a7bb14
Merge pull request #7687 from bluetech/idval-notset
...
python: fix empty parametrize() leading to "NotSetType.token" id
2020-08-25 19:48:26 -03:00
Ran Benita
a267a622eb
python: fix empty parametrize() leading to "NotSetType.token" id
...
In ff8b7884e8 NOTSET was changed to a
singleton enum, which ended up unexpectedly triggering a code path in ID
generation which checks for `isinstance(Enum)`.
Add an explicit case for it, which is not too bad anyway.
2020-08-25 22:01:43 +03:00
Florian Bruhin
00996adeb8
Update talks/trainings page ( #7661 )
...
* Update talks/trainings page
- Remove past webinar
- Add new open training
- Add some talks/webinars by Oliver Bestwalter and by me
- Remove some stale link targets
* Move sidebar to index
2020-08-25 17:02:33 +02:00
Ran Benita
ff41e7ad5d
Merge pull request #7670 from bluetech/session-inline
...
Start simplifying collection code in Session
2020-08-25 10:28:07 +03:00
Ran Benita
c1f975668e
main: couple of code simplifications
2020-08-24 18:15:11 +03:00
Ran Benita
023f0510af
main: move collection cache attributes to local variables in collect()
...
They are only used for the duration of this function.
2020-08-24 18:15:11 +03:00
Ran Benita
c867452488
main: inline matchnodes() into collect()
...
Now all of the logic is in one place and may be simplified and
refactored in more sensible way.
2020-08-24 18:15:11 +03:00
Ran Benita
d0e8b71404
main: inline _collect() into collect()
...
This removes an unhelpful level of indirection and enables some upcoming
upcoming simplifications.
2020-08-24 18:15:11 +03:00
Ran Benita
eec13ba57e
main: get rid of NoMatch
...
Things are easier to understand without the weird exception.
2020-08-24 18:15:11 +03:00
Ran Benita
c4fd461617
main: better name for _collection_node_cache3
...
The weird name was due to f3967333a1 , now
that I understand it a bit better can give it a more descriptive name.
2020-08-24 18:15:11 +03:00
Ran Benita
c2256189ae
main: make matchnodes non-recursive
...
It's a little more sane this way.
2020-08-24 18:15:11 +03:00
Ran Benita
841521fedb
main: only perform one recursive matchnodes call per node
2020-08-24 18:15:11 +03:00
Ran Benita
0c6b2f39b2
main: move NoMatch raising to _collect()
...
This is a more sensible interface for matchnodes.
This also fixes a sort-of bug where a recursive call to matchnodes
raises NoMatch which would terminate the entire tree, even if other
branches may find a match. Though I don't think it's actually possible.
2020-08-24 18:15:11 +03:00
Ran Benita
a2c919d350
main: refactor a bit to reduce indentation
2020-08-24 18:15:11 +03:00
Ran Benita
adaec2da90
main: remove impossible condition in matchnodes
...
Already covered in a condition above.
2020-08-24 18:15:11 +03:00
Ran Benita
1b2de81404
main: remove unneeded condition in matchnodes
...
The end result in the `else` branch is the same, but flows naturally.
2020-08-24 18:15:11 +03:00
Ran Benita
5356a0979a
main: small code simplification in matchnodes
2020-08-24 18:15:11 +03:00
Ran Benita
0b41b79dcb
main: better solution to a type ignore
2020-08-24 18:15:11 +03:00
Ran Benita
57aca11d4a
hookspec: type annotate parent argument to pytest_collect_file
2020-08-24 18:15:11 +03:00
Ran Benita
4b8e1a1771
Revert "Move common code between Session and Package to FSCollector"
...
This reverts commit f10ab021e2 .
The commit was good in that it removed a non-trivial amount of code
duplication. However it was done in the wrong layer (nodes.py) and split
up a major part of the collection (the filesystem traversal) to a
separate class making it harder to understand.
We should try to reduce the duplication, but in a more appropriate
manner.
2020-08-24 18:15:11 +03:00
Ran Benita
32edc4655c
main: inline Session._matchnodes() into Session.matchnodes()
...
Similar to the previous commit, this makes things more straightforward.
2020-08-24 18:15:11 +03:00
Ran Benita
d121d7c917
main: inline Session._perform_collect() into perform_collect()
...
It doesn't add much, mostly just an eye sore, particularly with the
overloads.
2020-08-24 18:15:10 +03:00
Ran Benita
1dad5c6433
Merge pull request #7669 from bluetech/collection-doc
...
hookspec: improve collection phase documentation a bit
2020-08-24 14:57:37 +03:00
Ran Benita
172b6e15c5
hookspec: improve collection phase documentation a bit
...
Make it a bit more accurate and use the same format that
pytest_runtest_protocol uses.
2020-08-24 13:00:09 +03:00
Ran Benita
bb38ae9c52
Merge pull request #7651 from bluetech/capture-safe-disable
...
capture: fix disabled()/global_and_fixture_disabled() enabling capturing when it was disabled
2020-08-24 12:11:09 +03:00
Bruno Oliveira
6cf89338d3
Merge pull request #7677 from bluetech/flaky-no-tests-ran
...
testing: fix flaky test when executed slowly
2020-08-23 09:25:26 -03:00
Ran Benita
b47b488e3d
testing: fix flaky test when executed slowly
...
The 0-1 was a bit too optimistic: CI got "no tests ran in 3.98s".
2020-08-23 12:32:30 +03:00
Ran Benita
143e3ab846
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
2020-08-23 12:06:09 +03:00
Ran Benita
837687c21a
Merge pull request #7668 from bluetech/dir-match-msg
...
main: improve message on `pytest path/to/a/directory::mytest`
2020-08-23 12:05:22 +03:00
Ran Benita
b1354608cc
logging: fix handler level restored incorrectly if caplog.set_level is called more than once
2020-08-22 17:46:23 +03:00
Maximilian Cosmo Sitter
75af2bfa06
Reintroduce warnings postponed in 6.0 ( #7637 )
2020-08-22 11:17:50 -03:00
Ran Benita
5e39cd5e71
main: improve message on pytest path/to/a/directory::mytest
...
The path part of a `<path>::part1::part2` style collection argument must
be a file, not a directory.
Previously this crashed with an uncool assert "invalid arg".
2020-08-22 11:52:54 +03:00
Bruno Oliveira
d69abff2c7
Merge pull request #7660 from nicoddemus/deprecated-features
2020-08-19 09:04:10 -03:00
Bruno Oliveira
372a094005
PytestDeprecationWarning no longer a hard error
2020-08-19 08:14:28 -03:00
Bruno Oliveira
7605150eaa
Move --no-print-logs removal notice to 'Removed Features'
2020-08-19 08:14:28 -03:00
Bruno Oliveira
ef946d557c
Remove resultlog plugin
2020-08-19 08:14:28 -03:00
Bruno Oliveira
b32c48ee05
Add bottom changelog deprecation notice
2020-08-19 08:14:28 -03:00
Bruno Oliveira
52b0cc4f19
Remove broken pytest_collect_directory hook
2020-08-19 08:14:25 -03:00
Bruno Oliveira
457d351941
Remove deprecated TerminalReporter.writer property
2020-08-19 08:13:34 -03:00
Bruno Oliveira
345a59dd53
Add note about pytest.collect deprecation
2020-08-19 08:13:06 -03:00
Bruno Oliveira
6ecbd008c4
Change junit_family default to xunit2
2020-08-19 08:13:06 -03:00
Bruno Oliveira
73e06373dc
Hard failure when constructing Node subclasses
2020-08-19 08:13:03 -03:00
Bruno Oliveira
c747dc5248
Drop support for positional arguments in @pytest.fixture
2020-08-19 08:11:42 -03:00
Bruno Oliveira
98530184a5
Remove funcargnames compatibility property
2020-08-19 08:11:39 -03:00
Ran Benita
c98525bd21
Merge pull request #7648 from bluetech/pylint-abc2
...
Only define gethookproxy, isinitpath on Session
2020-08-18 15:45:11 +03:00
Bruno Oliveira
afa4760cb8
Merge pull request #7643 from nicoddemus/issue-7628
2020-08-17 16:58:56 -03:00
Ran Benita
0d5a65091d
capture: fix disabled()/global_and_fixture_disabled() enabling capturing when it was disabled
...
The `CaptureManager.global_and_fixture_disabled()` context manager (and
`CaptureFixture.disabled()` which calls it) did `suspend(); ...;
resume()` but if the capturing was already suspended, the `resume()`
would resume it when it shouldn't.
This caused caused some messages to be swallowed when `--log-cli` is
used because it uses `global_and_fixture_disabled` when capturing is not
necessarily resumed.
2020-08-16 23:21:45 +03:00
Bruno Oliveira
b426bb3443
Refactor Session._parsearg into a separate function for testing
2020-08-15 13:23:55 -03:00
Bruno Oliveira
2213016e40
Fix Module.name from full path without drive letter
...
Fix #7628
2020-08-15 09:39:14 -03:00
Bruno Oliveira
3f0abcc6a5
Merge pull request #7639 from nicoddemus/issue-7638
2020-08-15 09:17:37 -03:00
Ran Benita
eddd993cf4
Only define gethookproxy, isinitpath on Session
...
This fixes an issue where pylint complains about missing implementations
of abstract methods in subclasses of `File` which only override
`collect()` (as they should).
It is also cleaner and makes sense, these methods really don't need to
be overridden.
The previous methods defined directly on `FSCollector` and `Package` are
deprecated, to be removed in pytest 7.
See commits e2934c3f8c and
f10ab021e2 for reference.
2020-08-15 13:40:16 +03:00
Bruno Oliveira
f76b162263
Add ref to Python bug
2020-08-14 11:36:07 -03:00
Ran Benita
d426a79a90
Merge pull request #7645 from bluetech/pylint-abc
...
Don't use NotImplementedError in `@overload`s
2020-08-14 15:33:35 +03:00
Ran Benita
f28af14457
Don't use NotImplementedError in @overloads
...
We used it as a shortcut for avoiding coverage, but pylint has a special
interpretation of it as an abstract method which we don't want.
2020-08-14 13:54:46 +03:00
Ran Benita
2c5403b951
Merge pull request #7644 from bluetech/changelog-7631
...
Add changelog for PR #7631
2020-08-14 11:54:31 +03:00
Ran Benita
8056a677b4
Add changelog for PR #7631
2020-08-14 11:02:44 +03:00
Thomas Grainger
02c6e4455c
document toml use of filterwarnings ( #7611 )
...
and include a demo of toml 'literal strings'
Update doc/en/warnings.rst
Apply suggestion by Ran
Fix linting
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-08-14 10:08:17 +03:00
Bruno Oliveira
10f98e1d2f
Merge pull request #7641 from hynek/patch-1
...
Replace inactive Azure Pipelines badge with GHA
2020-08-13 11:49:45 -03:00
Hynek Schlawack
82181fde3e
Replace inactive Azure Pipelines badge with GHA
...
Currently the badge encourages you to set it up now. :)
2020-08-13 14:18:36 +02:00
Bruno Oliveira
36c8bb492e
get_dirs_from_args handles paths with invalid syntax
...
Fix #7638
2020-08-12 17:20:09 -03:00
Maximilian Cosmo Sitter
15d8293241
Remove faq.rst from docs ( #7635 )
2020-08-12 14:47:34 -03:00
Ran Benita
4c92584364
Merge pull request #7631 from bluetech/capture-1
...
capture: add type annotations to CaptureFixture
2020-08-10 18:38:05 +03:00
Ran Benita
acc9310c17
capture: add type annotations to CaptureFixture
...
It now has a str/bytes type parameter.
2020-08-10 18:14:47 +03:00
Ran Benita
8a66f0a96d
capture: overcome a mypy limitation by making CaptureResult a regular class
...
See the code comment for the rationale.
2020-08-10 18:14:47 +03:00
Bruno Oliveira
bee72e1925
Merge pull request #7629 from samestep/patch-1
...
Fix typos in Ali Afshar's name
2020-08-07 20:02:26 -03:00
Sam Estep
a27c539a85
Fix typos in Ali Afshar's name
...
The correct name is visible in the Bitbucket link.
2020-08-07 15:22:10 -07:00
Ran Benita
384b6f6866
Merge pull request #7619 from bluetech/py-to-pathlib
...
Some py.path -> pathlib conversions
2020-08-07 11:33:21 +03:00
Ran Benita
f8c4e038fd
Replace some usages of py.path.local
2020-08-06 18:46:17 +03:00
Ran Benita
70f3ad1c1f
config/findpaths: convert from py.path.local to pathlib
2020-08-06 18:46:17 +03:00
Ran Benita
9e55288ba4
pathlib: add absolutepath() as alternative to Path.resolve()
...
Didn't call it absolute or absolute_path to avoid conflicts with
possible variable names.
Didn't call it abspath to avoid confusion with os.path.abspath.
2020-08-06 18:16:04 +03:00
Ran Benita
e0d0951945
pathlib: add analogues to py.path.local's bestrelpath and common
...
An equivalent for these py.path.local functions is needed for some
upcoming py.path -> pathlib conversions.
2020-08-06 18:16:04 +03:00
Ran Benita
aa9905d72e
Merge pull request #7625 from nicoddemus/pypy3-async-unittest-7624
...
Fix test_plain_unittest_does_not_support_async on pypy3
2020-08-06 08:31:46 +03:00
Bruno Oliveira
67cb7ef673
Fix test_plain_unittest_does_not_support_async on pypy3
...
Fix #7624
2020-08-05 15:24:08 -03:00
Rüdiger Busche
a64298ff5e
Document registering markers in pyproject.toml ( #7622 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-08-05 12:03:27 -03:00
Bruno Oliveira
44cd8a3a86
Demonstrate that plain unittest does not support async tests ( #7607 )
...
Co-authored-by: Ran Benita <ran@unusedvar.com >
2020-08-04 19:37:41 -03:00
Ran Benita
2bd0d97fcc
Merge pull request #7601 from bluetech/typing-longrepr
...
typing: resultlog, pytester, longrepr
2020-08-04 23:23:56 +03:00
Ran Benita
fbf251f11d
Improve typing of reports' longrepr field
2020-08-04 22:52:24 +03:00
Ran Benita
f0eb82f7d4
pytester: improve type annotations
2020-08-04 22:46:30 +03:00
Ran Benita
62ddf7a0e5
resultlog: add missing type annotations
2020-08-04 22:45:46 +03:00
Ran Benita
303030c141
Merge pull request #7613 from bluetech/typing-warn-unreachable
...
typing: set warn_unreachable
2020-08-04 22:44:21 +03:00
Bruno Oliveira
0d65e4b454
Merge pull request #7606 from nicoddemus/pre-release-docs
...
Add docs for releasing major/release candidates
2020-08-04 15:37:19 -03:00
Yutaro Ikeda
84c4b64354
Better document -k partial matching ( #7610 )
2020-08-04 15:30:08 -03:00
Bruno Oliveira
d688fefecb
Merge pull request #7614 from The-Compiler/log-print
...
Properly remove log_print
2020-08-04 13:39:21 -03:00
Ran Benita
9ab14c6d9c
typing: set warn_unreachable
...
This makes mypy raise an error whenever it detects code which is
statically unreachable, e.g.
x: int
if isinstance(x, str):
... # Statement is unreachable [unreachable]
This is really neat and finds quite a few logic and typing bugs.
Sometimes the code is intentionally unreachable in terms of types, e.g.
raising TypeError when a function is given an argument with a wrong
type. In these cases a `type: ignore[unreachable]` is needed, but I
think it's a nice code hint.
2020-08-04 09:59:46 +03:00
Florian Bruhin
1c9b84756f
Properly remove log_print
...
This is a follow up to 3f8200676f which didn't
make it clear that log_print is also removed in the changelog and didn't remove
it from the reference docs.
2020-08-04 08:53:09 +02:00
Ran Benita
0dd5e169d0
Merge pull request #7603 from bluetech/flake8-docstrings
...
Enforce some pydocstyle lints with flake8-docstrings & docstring fixes in testing/
2020-08-04 08:15:55 +03:00
Ran Benita
9a18b57c7c
Enforce some pydocstyle lints with flake8-docstrings
...
There are some ones we *would* like to enforce, like
D401 First line should be in imperative mood
but have too many false positives, so I left them out.
2020-08-03 10:21:59 +03:00
Ran Benita
b8471aa527
testing: fix some docstring issues
...
In preparation for enforcing some docstring lints.
2020-08-03 10:10:43 +03:00
Anthony Sottile
701998bf2c
Merge pull request #7598 from nicoddemus/setuptools-scm-pyproject
...
Configure setuptools_scm using pyproject.toml
2020-08-01 19:17:33 -07:00
Ran Benita
be354b36f3
Merge pull request #7604 from bluetech/typing-disallow-any-generics
...
typing: set disallow_any_generics
2020-08-01 20:55:45 +03:00
Ran Benita
be656dd4e4
typing: set disallow_any_generics
...
This prevents referring to a generic type without filling in its generic
type parameters.
The FixtureDef typing might need some more refining in the future.
2020-08-01 20:39:15 +03:00
Bruno Oliveira
d1fa749b83
Add readthedocs config file to use pip for installation
2020-08-01 14:21:36 -03:00
Bruno Oliveira
d7ad55bb2a
Add docs for releasing major/release candidates
...
Fix #7447
2020-08-01 13:51:12 -03:00
Ran Benita
1e9c638468
Merge pull request #7602 from ctb/patch-1
...
Minor formatting fix in xunit_setup.rst
2020-08-01 18:08:03 +03:00
C. Titus Brown
a2d562d369
Minor formatting fix in xunit_setup.rst
...
Fixed location of double-backquote for verbatim text.
2020-08-01 07:33:03 -07:00
Ran Benita
49827adcb9
Merge pull request #7510 from bluetech/docstrings
...
Format docstrings in a consistent style
2020-08-01 17:32:01 +03:00
Ran Benita
cbec0f8c6a
CONTRIBUTING: document the docstring style we use
2020-08-01 17:14:38 +03:00
Ran Benita
0242de4f56
Format docstrings in a consistent style
2020-08-01 17:14:37 +03:00
Bruno Oliveira
6882c0368b
Merge pull request #7593 from bluetech/typing-no-implicit-reexport
...
typing: set no_implicit_reexport
2020-08-01 11:03:47 -03:00
Bruno Oliveira
07f7372aff
Merge pull request #7586 from nicoddemus/cp-release
...
Merge pull request #7584 from pytest-dev/release-6.0.1
2020-08-01 11:00:38 -03:00
Anthony Sottile
d5a49100cf
Try this maybe?
2020-07-31 21:44:44 -07:00
Bruno Oliveira
4f0793a462
Require setuptools >=42
2020-07-31 18:17:12 -03:00
Bruno Oliveira
09265eb7c7
Configure setuptools_scm using pyproject.toml
2020-07-31 15:46:02 -03:00
Ran Benita
a1ba8dfe2a
Merge pull request #7587 from bluetech/rm-more-itertools
...
Stop using more-itertools
2020-07-31 13:08:34 +03:00
Ran Benita
8d98de8f8a
typing: set no_implicit_reexport
...
In Python, if module A defines a name `name`, and module B does `import
name from A`, then another module C can `import name from B`.
Sometimes it is intentional -- module B is meant to "reexport" `name`.
But sometimes it is just confusion/inconsistency on where `name` should
be imported from.
mypy has a flag `--no-implicit-reexport` which puts some order into
this. A name can only be imported from a module if
1. The module defines the name
2. The module's `__all__` includes the name
3. The module imports the name as `from ... import .. as name`.
This flag is included in mypy's `--strict` flag.
I like this flag, but I realize it is a bit controversial, and in
particular item 3 above is a bit unfriendly to contributors who don't
know about it. So I didn't intend to add it to pytest.
But while investigating issue 7589 I came upon mypy issue 8754 which
causes `--no-implicit-reexport` to leak into installed libraries and
causes some unexpected typing differences *in pytest* if the user uses
this flag.
Since the diff mostly makes sense, let's just conform to it.
2020-07-31 10:09:11 +03:00
Ran Benita
96a48f0c66
Stop using more-itertools
...
We barely use it; the couple places that do are not really worth the
extra dependency, I think the code is clearer without it.
Also simplifies one (regular) itertools usage.
Also improves a check and an error message in `pytest.raises`.
2020-07-30 20:19:24 +03:00
Bruno Oliveira
e49f1d6f60
Merge pull request #7584 from pytest-dev/release-6.0.1
...
Prepare release 6.0.1
(cherry picked from commit 022bff27a7 )
2020-07-30 09:46:53 -03:00
Ran Benita
645cbc91fc
Merge pull request #7581 from bluetech/logging-setlevel-handler-restore
...
Add missing changelog for issue 7569
2020-07-30 13:41:02 +03:00
Ran Benita
924e466c98
Add missing changelog for issue 7569
2020-07-30 12:38:40 +03:00
Hugo van Kemenade
d756b4a543
Fix typo: remove stray indefinite article from release notes ( #7552 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-07-29 12:19:33 -03:00
Mattreex
1e66ed0b1c
Warn about --basetemp removing the entire directory ( #7555 )
...
Co-authored-by: mattreex <mattreex.9@gail.com >
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2020-07-29 11:58:18 -03:00
Bruno Oliveira
49628786f0
Merge pull request #7575 from nicoddemus/fix-changelog-entries-release-process
2020-07-29 11:56:11 -03:00
Bruno Oliveira
22acbaf393
Minor changes to the release process
...
As discussed in https://github.com/pytest-dev/pytest/pull/7556
2020-07-29 11:35:27 -03:00
Bruno Oliveira
e691d3ee52
Merge remote-tracking branch 'upstream/6.0.x' into fix-changelog-entries-release-process
2020-07-29 11:27:08 -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
095bf191e2
Merge pull request #7561 from nicoddemus/longreprtext-7559
2020-07-29 09:47:04 -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
Bruno Oliveira
cefe064bb0
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:37:57 -03:00
Bruno Oliveira
d3267bc49d
Fix TestReport.longreprtext when TestReport.longrepr is not a string
...
Fix #7559
2020-07-29 09:31:15 -03:00
Ran Benita
0e0275d8d9
logging: fix capture handler level not reset on teardown after caplog.set_level()
...
This probably regressed in fcbaab8 .
2020-07-29 14:59:29 +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
422685d0bd
Merge pull request #7567 from bluetech/pylint-callable-2-space
...
mark: fix extraneous spaces in dummy type-checking marks
2020-07-29 12:40:21 +03:00
Ran Benita
b473e515bc
Merge pull request #7541 from bluetech/py-visit
...
pathlib: stop using py.path.local.visit(), use os.scandir
2020-07-29 12:04:06 +03:00
Ran Benita
20a3a28815
Merge pull request #7536 from bluetech/junitxml-etree
...
junitxml: convert from py.xml to xml.etree.ElementTree
2020-07-29 12:01:33 +03:00
Ran Benita
54e08b7230
mark: fix extraneous spaces in dummy type-checking marks
2020-07-29 11:58:54 +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
Ran Benita
f9837f953c
Merge pull request #7565 from bluetech/pylint-callable-2
...
mark: fix pylint not-callable error on pytest.mark.parametrize(...), again
2020-07-29 11:49:41 +03:00
Ran Benita
c755840793
pre-commit: extend list of rejected py modules
...
We now only use `py.path.local`.
2020-07-29 10:52:21 +03:00
Ran Benita
f86e4516eb
junitxml: convert from py.xml to xml.etree.ElementTree
...
Part of the effort to reduce dependency on the py library.
Besides that, py.xml implements its own XML serialization which is
pretty scary.
I tried to keep the code with minimal changes (though it could use some
cleanups). The differences in behavior I have noticed are:
- Attributes in the output are not sorted.
- Some unneeded escaping is no longer performed, for example escaping
`"` to `"` in a text node.
2020-07-29 10:52:21 +03:00
Ran Benita
1653c49b1b
junitxml: simplify bin_xml_escape
...
1. Remove sys.maxunicode check & comment. Nowadays it is always a
constant 0x10ffff.
2. Pre-generate the pattern. Possible due to 1.
3. Compile the regex lazily. No reason to pay startup cost for it.
4. Add docstring in particular to explain a subtle point.
2020-07-29 10:52:21 +03:00
Ran Benita
6ea6f0dac8
junitxml: compile a regex lazily
...
Instead of slowing down startup, and making the code harder to follow,
compile it lazily (it is still cached internally).
2020-07-29 10:52:21 +03:00
hp310780
27a4c6cd6d
Fix --help crash on add_ini(.., help='') and improve message on help=None ( #7427 )
2020-07-29 10:48:38 +03:00
Ran Benita
b36bcd13e9
mark: fix pylint not-callable error on pytest.mark.parametrize(...), again
...
Apparently the previous fix c1ca42b5c2 didn't work.
Hopefully this time I'm testing this correctly.
2020-07-29 10:39:13 +03:00
Drew Devereux
88cc636c18
Update markers.rst ( #7563 )
...
Extra colon to make code block render correctly
2020-07-29 09:10:13 +02:00
Bruno Oliveira
c7216ae0f6
Merge pull request #7557 from nicoddemus/announce-templates
2020-07-28 21:20:26 -03:00
Bruno Oliveira
df09a31646
Merge pull request #7556 from nicoddemus/cherry-pick-release
...
Merge pull request #7550 from pytest-dev/release-6.0.0
2020-07-28 21:04:26 -03:00
Bruno Oliveira
109b6cb32c
Update text and links in announce templates
...
The links were still pointing to the latest version (instead of stable)
and also took the opportunity to update the text a bit.
2020-07-28 17:29:09 -03:00
Bruno Oliveira
70764bef4f
Merge pull request #7550 from pytest-dev/release-6.0.0
2020-07-28 17:01:27 -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
Ran Benita
3633b691d8
pathlib: make visit() independent of py.path.local, use os.scandir
...
`os.scandir()`, introduced in Python 3.5, is much faster than
`os.listdir()`. See https://www.python.org/dev/peps/pep-0471/ .
It also has a `DirEntry` which can be used to further reduce syscalls in
some cases.
2020-07-25 00:47:29 +03:00
Ran Benita
c15bb5d3de
pathlib: replace py.path.local.visit() with our own function
...
Part of reducing dependency on `py`. Also enables upcoming improvements.
In cases where there are simpler alternatives (in tests), I used those.
What's left are a couple of uses in `_pytest.main` and `_pytest.python`
and they only have modest requirements, so all of the featureful code
from py is not needed.
2020-07-25 00:26:49 +03: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
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
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
d161bedcee
Add an example of how to port the code
2020-03-04 09:23:31 -03: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
620d457756
doc: add __tracebackhide__ label
2020-03-02 17:08:37 +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
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
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
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
077001fe5c
tests: simplify test_pytest_plugins_in_non_top_level_conftest_unsupported_no_false_positives
2020-02-22 23:31:37 +01:00
Bruno Oliveira
c91abe48ba
Assorted improvements following up #6658
2020-02-20 18:51:41 -03:00