Ran Benita
76c107c463
Merge pull request #11751 from bluetech/backport-11143-to-7.4.x
...
(cherry picked from commit 084d756ae6
)
[ran: adapted to 7.4.x, fixed changelog issue number]
2023-12-31 12:12:34 +02:00
github-actions[bot]
531d76daa4
[7.4.x] Improve reporting from __iter__ exceptions ( #11749 )
2023-12-31 12:11:02 +02:00
Zac Hatfield-Dodds
a0f58fa9e7
Merge pull request #11143 from tushar-deepsource/patch-1
...
(cherry picked from commit 084d756ae6
)
[ran: adapted to 7.4.x, fixed changelog issue number]
2023-12-31 11:53:19 +02:00
github-actions[bot]
b1f3387d42
[7.4.x] #11091 : documentation should use hypthonated properties ( #11750 )
2023-12-31 11:50:38 +02:00
Ran Benita
d06c05bd23
[7.4.x] nodes: fix tracebacks from collection errors are not getting pruned
2023-12-31 08:14:55 +00:00
github-actions[bot]
a40dacf657
[7.4.x] XFAIL TestLocalPath.test_make_numbered_dir_multiprocess_safe ( #11616 )
...
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
2023-11-14 15:08:28 +00:00
github-actions[bot]
44ad1c9811
[7.4.x] fix #10447 - consider marks in reverse mro order to give base classes priority ( #11545 )
...
Co-authored-by: Ronny Pfannschmidt <opensource@ronnypfannschmidt.de>
2023-10-24 15:04:13 +00:00
github-actions[bot]
5dc77253d4
[7.4.x] Ensure logging tests always cleanup after themselves ( #11541 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-10-23 14:28:04 +00:00
Bruno Oliveira
f8bb8572fe
Force terminal width when running tests ( #11425 ) ( #11432 )
...
Related to #11423
(cherry picked from commit 241f2a890e
)
2023-09-11 09:48:22 -03:00
github-actions[bot]
1944dc06d3
[7.4.x] Fix --import-mode=importlib when root contains `__init__.py` file ( #11426 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-09-10 13:27:53 +00:00
Bruno Oliveira
946634c84c
Merge pull request #11419 from nicoddemus/backport-11414-to-7.4.x
...
[7.4.x] Fix assert rewriting with assignment expressions (#11414 )
2023-09-09 10:08:41 -03:00
github-actions[bot]
d849a3ed64
[7.4.x] fix: closes #11343's [attr-defined] type errors ( #11421 )
...
Co-authored-by: Warren Markham <rabbitsinwarrens@gmail.com>
2023-09-09 13:02:31 +00:00
Bruno Oliveira
721a0881fb
Skip test_assertion_walrus_different_test_cases on Python 3.7
2023-09-09 09:43:15 -03:00
Marc Mueller
5341b9cd67
Fix assert rewriting with assignment expressions ( #11414 )
...
Fixes #11239
(cherry picked from commit 7259e8db98
)
2023-09-09 09:13:10 -03:00
Bruno Oliveira
63b0c6f75f
Use _pytest.pathlib.safe_exists in get_dirs_from_args
...
Related to #11394
2023-09-07 13:50:02 -03:00
Bruno Oliveira
884b911a9c
Fix crash when passing a very long cmdline argument ( #11404 )
...
Fixes #11394
(cherry picked from commit 28ccf476b9
)
2023-09-07 12:54:41 -03:00
github-actions[bot]
6e49a74089
[7.4.x] Fix doctest collection of `functools.cached_property` objects. ( #11403 )
...
Co-authored-by: Ronny Pfannschmidt <opensource@ronnypfannschmidt.de>
2023-09-07 13:33:12 +00:00
github-actions[bot]
1de00e9830
[7.4.x] Fix import_path for packages ( #11395 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-09-05 23:07:48 +00:00
Bruno Oliveira
7f5d9b9df4
Fix user_properties not saved to XML if fixture errors during teardown ( #11382 )
...
Move handling of user_properties to `finalize()`.
Previously if a fixture failed during teardown, `pytest_runtest_logreport` would not be called with "teardown", resulting in the user properties not being saved on the JUnit XML file.
Fixes : #11367
(cherry picked from commit 917ce9aa01
)
Co-authored-by: Israel Fruchter <israel.fruchter@gmail.com>
2023-09-03 15:01:56 -03:00
Ran Benita
7a5f2feefb
[7.4.x] Fixes for typed pluggy ( #11355 )
...
Since version 1.3 pluggy added typing, which requires some fixes to
please mypy.
2023-08-26 22:15:32 +00:00
github-actions[bot]
511adf85be
[7.4.x] Fix error assertion handling in approx when None in dict comparison ( #11180 )
...
Co-authored-by: Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com>
2023-07-08 18:37:35 +00:00
github-actions[bot]
c71b5df734
[7.4.x] Add child modules as attributes of parent modules. ( #11163 )
...
* [7.4.x] Add child modules as attributes of parent modules.
* Update 10337.bugfix.rst
---------
Co-authored-by: akhilramkee <31619526+akhilramkee@users.noreply.github.com>
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-07-08 15:11:26 -03:00
github-actions[bot]
a4d7254d18
[7.4.x] Fix duplicated imports with importlib mode and doctest-modules ( #11164 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-07-03 16:33:47 +00:00
Zac Hatfield-Dodds
661b938fca
Add encoding in more tests
2023-06-20 04:55:40 -07:00
Zac Hatfield-Dodds
7e510769b4
Encoding for subprocess.run
2023-06-20 04:55:39 -07:00
nondescryptid
a704605cf1
Fix encoding warnings
2023-06-20 04:55:39 -07:00
Ran Benita
14890329dc
config: fix the paths considered for initial conftest discovery
...
Fixes #11104 .
See the issue for a description of the problem.
Now, we use the same logic for initial conftest paths as we do for
deciding the initial args, which was the idea behind checking
`namespace.file_or_dir` and `testpaths` previously.
This fixes the issue of `testpaths` being considered for initial
conftests even when it's not used for the args.
(Another issue in faeb16146b
was that the
`testpaths` were not glob-expanded, this is also fixed.)
2023-06-21 09:01:42 +03:00
dependabot[bot]
1eb83706b6
build(deps): Bump pytest-mock in /testing/plugins_integration ( #11119 )
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.10.0 to 3.11.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.10.0...v3.11.1 )
---
updated-dependencies:
- dependency-name: pytest-mock
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 04:15:50 +00:00
dependabot[bot]
2d824329eb
build(deps): Bump django in /testing/plugins_integration ( #11102 )
...
Bumps [django](https://github.com/django/django ) from 4.2.1 to 4.2.2.
- [Commits](https://github.com/django/django/compare/4.2.1...4.2.2 )
---
updated-dependencies:
- dependency-name: django
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>
2023-06-12 04:19:01 +00:00
Ran Benita
4059000834
testing/python/collect: replace use of deprecated/removed `imp` module
2023-06-07 17:05:52 +03:00
dependabot[bot]
85c5bd26b6
build(deps): Bump pytest-xvfb in /testing/plugins_integration ( #11079 )
...
Bumps [pytest-xvfb](https://github.com/The-Compiler/pytest-xvfb ) from 2.0.0 to 3.0.0.
- [Changelog](https://github.com/The-Compiler/pytest-xvfb/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/The-Compiler/pytest-xvfb/compare/v2.0.0...v3.0.0 )
---
updated-dependencies:
- dependency-name: pytest-xvfb
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 12:06:55 +02:00
Ran Benita
fda8024622
cacheprovider: make file-skipping work with any File, not just Modules
...
No reason for `--lf`'s whole-file-skipping feature to not for for
non-Python files.
Fix #11068 .
2023-06-03 09:32:26 +03:00
Ran Benita
c76ae74bd7
cacheprovider: fix file-skipping functionality across packages
...
Continuation of fc538c5766
.
Fixes #11054 again.
2023-05-30 23:16:43 +03:00
Ran Benita
24534cdd29
Merge pull request #11043 from bluetech/confcutdir-rootpath
...
config: fallback confcutdir to rootpath if inipath is not set
2023-05-30 20:21:20 +03:00
Ran Benita
99c78aa93a
Merge pull request #10921 from bluetech/tb-simplify-2
...
Fix hidden traceback entries of chained exceptions getting shown
2023-05-30 20:09:13 +03:00
Ran Benita
3a6bdcd76b
Merge pull request #11055 from bluetech/lf-skipped-package
...
cacheprovider: fix file-skipping feature for files in packages
2023-05-30 20:04:06 +03:00
Ran Benita
4a1bba25b9
config: fallback confcutdir to rootpath if inipath is not set
...
Currently, if `--confcutdir` is not set, `inipath.parent` is used, and
if `initpath` is not set, then `confcutdir` is None, which means there
is no cutoff.
Having no cutoff is not great, it means we potentially start probing
stuff all the way up to the filesystem root directory. So let's add
another fallback, to `rootpath`, which is always something reasonable.
2023-05-30 19:52:59 +03:00
Alessio Izzo
9e1add75f7
Fix warlus operator behavior when called by a function ( #11041 )
...
In #10758 we introduced the support for the use of the walrus operator in the test cases. There was a case which was not handled that caused a bug report #11028 . This PR aims to fix the issue and also to improve how the walrus operator is handled in the AssertionRewriter class.
Closes #11028
2023-05-30 11:59:24 -03:00
theirix
4da9026766
Handle microseconds with custom logging.Formatter ( #11047 )
...
Added handling of %f directive to print microseconds in log format options, such as log-date-format. It is impossible to do with a standard logging.Formatter because it uses time.strftime which doesn't know about milliseconds and %f. In this PR I added a custom Formatter which converts LogRecord to a datetime.datetime object and formats it with %f flag. This behaviour is enabled only if a microsecond flag is specified in a format string.
Also added a few tests to check the standard and changed behavior.
Closes #10991
2023-05-30 09:35:33 -03:00
Kenny Y
7c231baa64
Add warning when testpaths is set but paths are not found by glob ( #11044 )
...
Closes #11013
---------
Co-authored-by: Ran Benita <ran@unusedvar.com>
2023-05-30 07:06:13 -03:00
Ran Benita
fc538c5766
cacheprovider: fix file-skipping feature for files in packages
...
`--lf` has a feature where if a certain `Module` (python file) does not
contain any failed tests, it is skipped entirely at the collector level
instead of being collected and each item skipped individually. When this
happens the collection summary looks like this:
run-last-failure: rerun previous 1 failure (skipped 1 file)
However, this feature didn't work for `Module`s inside of `Package`s,
only for those directly beneath the `Session`.
Fix #11054 .
2023-05-29 22:55:44 +03:00
dependabot[bot]
fbfd4b5005
build(deps): Bump anyio[curio,trio] in /testing/plugins_integration ( #11050 )
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.6.2 to 3.7.0.
- [Changelog](https://github.com/agronholm/anyio/blob/3.7.0/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.6.2...3.7.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-29 07:55:42 +02:00
dependabot[bot]
ec752537ea
build(deps): Bump pytest-cov in /testing/plugins_integration ( #11051 )
...
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov ) from 4.0.0 to 4.1.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0 )
---
updated-dependencies:
- dependency-name: pytest-cov
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-29 07:55:13 +02:00
Ran Benita
dd667336ce
nodes: apply same traceback filtering for chained exceptions as main exception
...
Fix #1904 .
2023-05-28 17:20:50 +03:00
Chris Mahoney
4f3f36c396
Add alias `--config-file` to `-c` ( #11036 )
...
Fixes #11031
Signed-off-by: Chris Mahoney <chrismahoey@hotmail.com>
Co-authored-by: Chris Mahoney <chrismahoey@hotmail.com>
2023-05-26 07:56:18 -03:00
Alex Lambson
ba32a3bd87
Handle disabled logging in 'caplog.set_level' and 'caplog.at_level' ( #8758 )
...
Forces requested `caplog` logging levels to be enabled if they were disabled via `logging.disable()`
`[attr-defined]` mypy error ignored in `logging.py` because there were existing errors with the imports
and `loggin.Logger.manager` is an attr set at runtime. Since it's in the standard lib I can't really fix that.
Ignored an attr-defined error in `src/_pytest/config/__init__.py` because the re-export is necessary.
Fixes #8711
2023-05-18 10:18:59 -03:00
Ville Skyttä
c8641f879f
Include reason in cache path warnings to aid debugging ( #11005 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-05-18 10:11:47 -03:00
Ville Skyttä
6041511fb4
Spelling and grammar fixes ( #11014 )
2023-05-18 10:10:44 -03:00
Adam J. Stewart
3b5b3cf50e
monkeypatch: add support for TypedDict ( #11000 )
2023-05-14 22:17:00 +03:00
Bruno Oliveira
2d57d5c32f
Do not break on very long command-line options
...
`_set_initial_conftests` could break on some systems if a very long
option was passed, because the `Path.exists()` call raises an
`OSError` instead of returning `False`.
Fix #10169
2023-05-12 09:34:15 -03:00