Bruno Oliveira
e38d1cac48
Improve error message for malformed pyproject.toml files
...
Including the file name is enough to let the user know what the problem is.
The same is not needed for `.ini` files because the error message includes the path to the file by default.
Fix #9730
2022-03-05 08:59:28 -03:00
Bruno Oliveira
f943d1944a
pytester now requests monkeypatch instead of creating its own instance
...
It is tempting to use `monkeypatch` to replace the other mechanisms in pytester which change global
state: `CwdSnapshot`, `SysModulesSnapshot`, `SysPathsSnapshot`, however those are more delicate
than they look at first glance so leaving those alone for now.
Close #9708
2022-03-04 08:58:44 -05:00
Anthony Sottile
269611e0b4
prevent import-time side-effects from setuptools bundled importlib-metadata
2022-02-28 19:35:36 -05:00
Bruno Oliveira
5f3d94c47e
Disallow unordered sequences in pytest.approx ( #9709 )
...
Fix #9692
2022-02-24 10:16:35 -03:00
Ran Benita
7b6e477e2f
Revert "Deprecate raising unittest.SkipTest to skip tests during collection" ( #9710 )
...
This reverts commit 25e657bfc1
.
Turns out that this *is* a working unittest feature, which pytest should
support, so undo the deprecation.
2022-02-23 15:59:54 +02:00
Bruno Oliveira
9af3e23695
Expand warnings output for ResourceWarning ( #9682 )
...
Fix #9644
2022-02-15 13:00:50 +00:00
Bruno Oliveira
fac8f284cd
Fix diff output for data types where `-v` would show less information ( #9661 )
...
Close #5192
2022-02-15 09:43:20 -03:00
Ran Benita
afe41e5273
Merge pull request #9678 from bluetech/consistent-idval
...
python: unify code to generate ID from value
2022-02-15 13:23:35 +02:00
eduardo naufel schettino
c9cf2d4424
Fix count of selected tests on terminal collection summary ( #9628 )
2022-02-15 11:17:34 +00:00
Bruno Oliveira
f22451717d
Merge pull request #9681 from nicoddemus/fix-9645-import-lib
2022-02-14 12:00:29 -03:00
Bruno Oliveira
747b8372ea
Try to import module before creating dummy modules with 'importmode=importlib'
...
The dummy modules we introduce in `insert_missing_modules` (due to #7856 and #7859 )
would cause problems if the dummy modules actually end up replacing modules
which could be imported normally because they are available in `PYTHONPATH`.
Now we attempt to first import the module via normal mechanisms, and only
introduce the dummy modules if the intermediary modules don't actually exist.
Close #9645
2022-02-14 09:42:05 -03:00
dependabot[bot]
3e53307586
build(deps): Bump pytest-asyncio in /testing/plugins_integration
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.17.2 to 0.18.1.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.17.2...v0.18.1 )
---
updated-dependencies:
- dependency-name: pytest-asyncio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:02:17 +00:00
Ran Benita
c3aa4647c7
python: unify code to generate ID from value
...
In the following
@pytest.mark.parametrize(..., ids=[val])
the ID values are only allowed to be `str`, `float`, `int` or `bool`.
In the following
@pytest.mark.parametrize(..., [val])
@pytest.mark.parametrize(..., [pytest.param(..., id=val])
a different code path is used, which also allows `bytes`, `complex`,
`re.Pattern`, `Enum` and anything with a `__name__`.
In the interest of consistency, use the latter code path for all cases.
2022-02-12 19:22:37 +02:00
Bruno Oliveira
8afec9a64d
Add autoflake to pre-commit configuration ( #9666 )
2022-02-11 14:34:02 -03:00
Bruno Oliveira
b79eff065e
Enable testing with Python 3.11 ( #9511 )
2022-02-11 15:20:42 +00:00
dependabot[bot]
2b12739412
build(deps): Bump twisted in /testing/plugins_integration
...
Bumps [twisted](https://github.com/twisted/twisted ) from 21.7.0 to 22.1.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.7.0...twisted-22.1.0 )
---
updated-dependencies:
- dependency-name: twisted
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 03:47:43 +00:00
Bruno Oliveira
3586edc1c9
Merge pull request #9646 from nicoddemus/9643-delay-warning
2022-02-10 14:11:21 -03:00
Bruno Oliveira
88c35123b8
Delay warning about collector/item diamond inheritance
...
This allows that warning to be filtered by `filterwarnings`.
Fix #9643
2022-02-10 13:50:25 -03:00
Ran Benita
2b6708b892
Merge pull request #9624 from bluetech/unittest-getobj
...
unittest: restore `UnitTestFunction.obj` to return unbound rather than bound method
2022-02-09 22:43:31 +02:00
Ran Benita
01e1de7a1a
Rename ``pythonpath`` plugin to ``python_path``
...
Fix #9636 .
2022-02-09 10:03:20 +02:00
Ran Benita
4bf764f9a3
Merge pull request #9625 from pytest-dev/dependabot/pip/testing/plugins_integration/django-4.0.2
...
build(deps): Bump django from 4.0.1 to 4.0.2 in /testing/plugins_integration
2022-02-08 15:59:19 +02:00
Anthony Sottile
c326c04494
Merge pull request #9642 from pytest-dev/run-testid-with-colon-colon
...
allow running testids which contain :: in the parametrized portion
2022-02-08 08:34:49 -05:00
Anthony Sottile
2442034a1e
allow running testids which contain :: in the parametrized portion
2022-02-07 20:19:59 -05:00
Anthony Sottile
579785b6cd
fix test pollution in test_assertrewrite
...
originally reproduced with this pollution set:
```
testing/test_assertrewrite.py::TestEarlyRewriteBailout::test_pattern_contains_subdirectories
testing/test_assertrewrite.py::TestRewriteOnImport::test_remember_rewritten_modules
```
2022-02-07 19:29:18 -05:00
dependabot[bot]
ef7d67b665
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/4.0.1...4.0.2 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 22:47:20 +00:00
Ran Benita
d00ca3f8e5
unittest: restore `UnitTestFunction.obj` to return unbound rather than bound method
...
This fixes #9610 .
pytest 7.0.0 (unintentionally) changed `UnitTestFunction.obj`'s' behavior
to match `Function.obj`. That is probably a good thing to have, however
it evidently causes some regressions as described in the issue, so
restore the previous behavior for now. In the future we might want to
make this change again, but with proper consideration.
2022-02-08 00:46:00 +02:00
Anthony Sottile
b3692fe404
work around test pollution caused by new setuptools mutating global logger level
2022-02-07 15:10:03 -05:00
pre-commit-ci[bot]
9d2ffe207b
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2022-01-31 22:20:16 +00:00
dependabot[bot]
b2701a0272
build(deps): Bump pytest-mock in /testing/plugins_integration
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.6.1 to 3.7.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.6.1...v3.7.0 )
---
updated-dependencies:
- dependency-name: pytest-mock
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:02:08 +00:00
Bruno Oliveira
f064942f2e
Make 'warnings' and 'deselected' in assert_outcomes optional ( #9475 )
...
Fix #9471
2022-01-27 12:18:36 +01:00
Tobias Deiminger
b21b008118
Refactor idmaker functions into class IdMaker
...
This commit only refactors, it does not change or add functionality yet. Public
API is retained. Reason or refactoring:
User provided parameter IDs (e.g. Metafunc.parametrize(ids=...)) had so far
only been used to calculate a unique test ID for each test invocation. That
test ID was a joined string where each parameter contributed some partial ID.
We're soon going to reuse functionality to generate parameter keys for
reorder_items and FixtureDef cache. We will be interested in the partial
IDs, and only if they originate from explicit user information. Refactoring
makes logic and data accessible for reuse, and increases cohesion in general.
2022-01-26 15:42:34 +02:00
Akuli
a17e708352
With -vv, display the full skip/xfail reason instead of "..." ( #9537 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-25 10:33:22 -03:00
Andrew Svetlov
9ae64aae56
Setup strict asyncio mode
2022-01-23 23:07:28 +02:00
dependabot[bot]
7783fb1b1e
build(deps): Bump pytest-asyncio in /testing/plugins_integration
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.16.0 to 0.17.2.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.16.0...v0.17.2 )
---
updated-dependencies:
- dependency-name: pytest-asyncio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-23 20:37:56 +00:00
Ran Benita
00085391fb
Merge pull request #9518 from pytest-dev/dependabot/pip/testing/plugins_integration/anyio-curiotrio--3.5.0
...
build(deps): Bump anyio[curio,trio] from 3.4.0 to 3.5.0 in /testing/plugins_integration
2022-01-23 22:02:15 +02:00
Ran Benita
8713c32462
python: unpacked marks need to be added to keywords on all node types
...
(except `Instance`)
Currently, `Function` does this manually, but other node types don't get
their markers added to their `keywords`, but they should, if only for
consistency.
2022-01-21 14:34:27 +02:00
Brett Holman
3f44b4078c
Add test coverage to test rewrite
2022-01-18 11:26:46 -07:00
dependabot[bot]
c393f95c99
build(deps): Bump anyio[curio,trio] in /testing/plugins_integration
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.4.0 to 3.5.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.4.0...3.5.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>
2022-01-17 03:02:30 +00:00
Ran Benita
3f4eab3f8f
testing: avoid private pluggy attributes in test
2022-01-14 17:49:38 +02:00
Olga Matoula
2ad1b589af
Add docs on pytest.warns(None) deprecation ( #9495 )
...
* Add docs on pytest.warns(None) deprecation
* Add new section for common warnings use cases
* Fix references for warnings use cases
* Fix reference link
2022-01-13 18:32:22 +00:00
Ran Benita
f1aa7a25de
Merge pull request #9493 from bluetech/conftesting
...
Some conftest changes
2022-01-12 10:38:14 +02:00
Ran Benita
a425f15330
Merge pull request #9494 from bluetech/instance-property
...
python: add back `instance` accessor to all python nodes, not just Function
2022-01-10 21:08:46 +02:00
dependabot[bot]
0d5f52b127
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 4.0 to 4.0.1.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/4.0...4.0.1 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:02:30 +00:00
Ran Benita
161bc48117
config: get rid of _conftestpath2mod
...
It duplicates what PluginManager already knows, and no longer needed now
that symlinks are not resolved (see previous commit).
2022-01-09 12:33:45 +02:00
Ran Benita
f08a77de77
python: add back `instance` accessor to all python nodes, not just Function
...
Regressed in 062d91ab4
(pytest 7.0.0rc1 only).
Fix #9486 .
2022-01-09 12:14:46 +02:00
Ran Benita
ed83efaf4b
testing/test_monkeypatch: fix some patches leaking into pytest code
...
The tests patch `os.path.abspath` which can break some pytest internal
code since the patching is not undone immediately.
2022-01-09 00:13:40 +02:00
Bruno Oliveira
696f955ff8
Split wrappers and non-wrappers in test_load_initial_conftest_last_ordering
...
Seems better to test which one is which explicitly.
2022-01-04 10:03:30 -03:00
Bruno Oliveira
4038752bf3
Ensure Config.inifile is available during pytest_cmdline_main
...
Fix #9396
2022-01-04 10:03:28 -03:00
Anthony Sottile
b0aabe4081
fix mypy 0.930 errors
2021-12-30 06:19:29 -08:00
Hugo van Kemenade
61417b2551
Drop support for EOL Python 3.6
2021-12-30 13:25:34 +02:00