Bruno Oliveira
28ccf476b9
Fix crash when passing a very long cmdline argument ( #11404 )
...
Fixes #11394
2023-09-07 12:49:25 -03:00
Ronny Pfannschmidt
e787d2ed48
Merge pull request #11317 from tjsmart/fix-issue-11237
...
Fix doctest collection of `functools.cached_property` objects.
2023-09-07 14:39:02 +02:00
Bruno Oliveira
194a782e38
Fix import_path for packages ( #11390 )
...
For packages, `import_path` receives the path to the package's `__init__.py` file, however module names (as they live in `sys.modules`) should not include the `__init__` part.
For example, `app/core/__init__.py` should be imported as `app.core`, not as `app.core.__init__`.
Fix #11306
2023-09-05 19:42:40 -03:00
dependabot[bot]
9c8937b480
build(deps): Bump pytest-html in /testing/plugins_integration ( #11384 )
...
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html ) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-html/releases )
- [Changelog](https://github.com/pytest-dev/pytest-html/blob/master/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-html/compare/v3.2.0...4.0.0 )
---
updated-dependencies:
- dependency-name: pytest-html
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-09-04 08:08:10 -03:00
dependabot[bot]
0d8b87f161
build(deps): Bump anyio[curio,trio] in /testing/plugins_integration ( #11383 )
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.7.1 to 4.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/3.7.1...4.0.0 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
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-09-04 08:08:01 -03:00
dependabot[bot]
65c73a09e7
build(deps): Bump twisted in /testing/plugins_integration ( #11385 )
...
Bumps [twisted](https://github.com/twisted/twisted ) from 22.8.0 to 23.8.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-22.8.0...twisted-23.8.0 )
---
updated-dependencies:
- dependency-name: twisted
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-09-04 08:07:56 -03:00
Israel Fruchter
917ce9aa01
Fix user_properties not saved to XML if fixture errors during teardown
...
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
2023-09-03 14:33:54 -03:00
Sean Malloy
19d6b12b2a
fix: fixing an issue with pre-commit with mypy and flake8
2023-08-27 15:03:42 -07:00
Warren Markham
ff23347f1f
Fix platform-dependent type-check errors ( #11345 )
...
Use more explicit `sys.platform` checks, instead of the previous check using `in`, which mypy understands.
Fixes #11343
2023-08-27 09:40:24 -03:00
Ran Benita
77f7f59b2a
Fixes for typed pluggy
...
Since version 1.3 pluggy added typing, which requires some fixes to
please mypy.
2023-08-26 22:13:24 +03:00
Jon Parise
7500fe44b2
Correct the spelling of ArgSource.INVOCATION_DIR ( #11333 )
...
Config.ArgsSource.INCOVATION_DIR remains as a backwards compatibility
alias.
2023-08-23 09:21:17 +00:00
Zac Hatfield-Dodds
03832fa31e
Merge pull request #11326 from DetachHead/DetachHead-patch-1
...
use `if not TYPE_CHECKING` on `pytest.__getattr__` to prevent type checkers from using it
2023-08-22 03:53:46 -07:00
DetachHead
cada6c105a
ignore mypy error on deprecated `Instance` usage
2023-08-22 17:57:59 +10:00
Zac Hatfield-Dodds
050f402816
Merge pull request #11308 from reaganjlee/iter-reporting
...
Improve reporting from __iter__ exceptions
2023-08-21 16:27:42 -07:00
Reagan Lee
d1722d5c18
fix test for codecov
2023-08-21 15:49:39 -07:00
Reagan Lee
61133ba83d
un-iterable fix
2023-08-20 14:46:09 -07:00
Reagan Lee
049eec8474
Revert iter raises checks
...
This reverts commit e938580257
.
Revert "improve error msg and test"
This reverts commit c0cf822ca1
.
Revert "error msg"
This reverts commit ec1053cc16
.
Revert "changelog"
This reverts commit d2dc8a70b5
.
Revert "simplify code / take out user-gen typeerror case"
This reverts commit b9cb87d862
.
2023-08-20 14:06:42 -07:00
Tyler Smart
d4fb6ac9f7
Fix doctest collection of `functools.cached_property` objects.
2023-08-16 00:55:16 -06:00
Ran Benita
9e164fc4fe
fixtures: make FixtureRequest abstract, add TopRequest subclass
...
Fix #11218 .
2023-08-12 11:55:08 +03:00
Reagan Lee
c0cf822ca1
improve error msg and test
2023-08-11 10:33:34 -07:00
Reagan Lee
b9cb87d862
simplify code / take out user-gen typeerror case
2023-08-10 17:43:01 -07:00
Reagan Lee
47c0fc3d78
tests
2023-08-10 16:36:22 -07:00
Sadra Barikbin
09b78737a5
Move `fixtures.py::add_funcarg_pseudo_fixture_def` to `Metafunc.parametrize` ( #11220 )
...
To remove fixtures.py::add_funcargs_pseudo_fixture_def and add its logic
i.e. registering funcargs as params and making corresponding fixturedefs,
right to Metafunc.parametrize in which parametrization takes place.
To remove funcargs from metafunc attributes as we populate metafunc
params and make pseudo fixturedefs simultaneously and there's no need to
keep funcargs separately.
2023-08-09 17:13:45 +00:00
Ran Benita
b2186e2455
Merge pull request #11268 from bluetech/conftest-load
...
config: split `_getconftestmodules` and `_loadconftestmodules`
2023-08-08 14:44:29 +03:00
dependabot[bot]
9c67b7aeb6
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 4.2.3 to 4.2.4.
- [Commits](https://github.com/django/django/compare/4.2.3...4.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>
2023-08-07 03:39:31 +00:00
Sadra Barikbin
e8a8a5f320
python: fix scope assignment for indirect parameter sets ( #11277 )
...
Previously, when assigning a scope for a fully-indirect parameter set,
when there are multiple fixturedefs for a param (i.e. same-name fixture
chain), the highest scope was used, but it should be the lowest scope,
since that's the effective scope of the fixture.
2023-08-06 13:59:54 +00:00
pre-commit-ci[bot]
c9163402e0
[pre-commit.ci] pre-commit autoupdate ( #11269 )
...
* [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/PyCQA/flake8: 6.0.0 → 6.1.0](https://github.com/PyCQA/flake8/compare/6.0.0...6.1.0 )
- [github.com/asottile/pyupgrade: v3.9.0 → v3.10.1](https://github.com/asottile/pyupgrade/compare/v3.9.0...v3.10.1 )
* Use is instead of type comparison with equal to appease the linter
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
2023-08-01 23:52:09 +02:00
Ran Benita
01ac13a77d
config: split _getconftestmodules and _loadconftestmodules
...
Previously, the `_getconftestmodules` function was used both to load
conftest modules for a path (during `pytest_load_initial_conftests`),
and to retrieve conftest modules for a path (during hook dispatch and
for fetching `collect_ignore`). This made things muddy - it is usually
nicer to have clear separation between "command" and "query" functions,
when they occur in separate phases.
So split into "load" and "get".
Currently, `gethookproxy` still loads conftest itself. I hope to change
this in the future.
2023-08-01 09:46:17 +03:00
Ran Benita
71e627aa8f
fixtures: fix crash when `parametrize(scope="package")` is used without a Package
...
There as handling for `scope="class"` without a class, but not for
`scope="package"` without a package. It would fail the assert.
2023-07-28 16:13:02 +03:00
Isaac Virshup
1de0923e83
Have pytest.raises match against exception `__notes__` ( #11227 )
...
The doctest is skipped because add_note is only available in 3.11,
Closes #11223
2023-07-18 08:39:39 -03:00
Ran Benita
396bfbf30b
fixtures: add a test for a currently non-covered scope mismatch scenario
...
This test makes clear the need for the `_check_scope()` call in the
`pytest_setup_fixture` impl in fixtures.py, which otherwise seems
redundant with the one in `_compute_fixture_value`.
2023-07-18 00:01:40 +03:00
Ran Benita
29010d23a6
Merge pull request #11217 from bluetech/fixtures-skip-xunit-loc
...
fixtures: show test as skip location if skipped from an xunit setup function
2023-07-17 17:30:06 +03:00
dependabot[bot]
cfda801ebf
build(deps): Bump pytest-asyncio in /testing/plugins_integration ( #11222 )
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.21.0...v0.21.1 )
---
updated-dependencies:
- dependency-name: pytest-asyncio
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-07-17 09:27:38 +02:00
Ran Benita
c5262b0c42
fixtures: show test as skip location if skipped from an xunit setup function
...
Fix #11216 .
2023-07-16 23:26:04 +03:00
Ran Benita
32f480814c
Merge pull request #11209 from bluetech/fixtures-doc-comments
...
fixtures: some tweaks & improvements
2023-07-15 19:40:48 +03:00
Ran Benita
01f38aca44
fixtures: expand comments and annotations on fixture internals
2023-07-15 10:06:06 +03:00
Ran Benita
b41acaea12
Switch to new-style pluggy hook wrappers
...
Fix #11122 .
2023-07-14 22:47:48 +03:00
dependabot[bot]
b20e7f6d0c
build(deps): Bump anyio[curio,trio] in /testing/plugins_integration ( #11191 )
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 3.7.0 to 3.7.1.
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/3.7.0...3.7.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 10:23:47 -03:00
dependabot[bot]
b91d5a3112
build(deps): Bump pytest-rerunfailures in /testing/plugins_integration ( #11190 )
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 11.1.2 to 12.0.
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-rerunfailures/compare/11.1.2...12.0 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
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-07-10 10:23:33 -03:00
Kenny Y
db37e34613
Merge branch 'main' into add-none-support-approxmapping
2023-07-07 15:55:19 -04:00
Kenny Y
c5b13099e6
Fix error assertion handling in approx when None in dict comparison
...
Dict comparsion in the ApproxMapping class did not check if values were None before attempting to subtract for max_abs_diff stat, which was throwing an TypeError instead of being handled by pytest error assertion. Check for None has been added before these calculations, so that None will properly show as Obtained/Expected in pytest assert message
2023-07-07 14:42:59 -04:00
Zac Hatfield-Dodds
97ed533f63
Merge pull request #11169 from hugovk/test-me-rm-3.7
2023-07-06 22:28:44 -07:00
dependabot[bot]
44604f49cd
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 4.2.2 to 4.2.3.
- [Commits](https://github.com/django/django/compare/4.2.2...4.2.3 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 22:57:45 +00:00
Zac Hatfield-Dodds
084d756ae6
Merge pull request #11143 from tushar-deepsource/patch-1
2023-07-04 10:47:13 -07:00
Zac Hatfield-Dodds
cb732f7f49
Merge branch 'main' into patch-1
2023-07-04 10:17:06 -07:00
Zac Hatfield-Dodds
7775e494b1
Further tweaks from code review
2023-07-04 10:00:29 -07:00
Hugo van Kemenade
6baf9f2d31
Update docs and code after dropping EOL 3.7
2023-07-04 18:55:08 +03:00
Lesnek
c4876c7106
chore(CR): Add changes from code review
2023-07-04 11:49:11 +02:00
Lesnek
3d0dedb5ec
test(warnings-recorder): Add attribute error test
2023-07-04 10:30:19 +02:00
Lesnek
2706271f66
test(warnings-recorder): Add another warning
2023-07-04 10:30:19 +02:00
Lesnek
18e87c9831
test(warnings-recorder): Add non working subclass behaviour of pop
2023-07-04 10:30:19 +02:00
Ronny Pfannschmidt
561f1a993b
fix #10447 - consider marks in reverse mro order to give base classes priority
2023-07-01 22:27:18 +02:00
Bruno Oliveira
b77d0deaf5
Fix duplicated imports with importlib mode and doctest-modules ( #11148 )
...
The initial implementation (in #7246 ) introduced the `importlib` mode, which
never added the imported module to `sys.modules`, so it included a test
to ensure calling `import_path` twice would yield different modules.
Not adding modules to `sys.modules` proved problematic, so we began to add the imported module to `sys.modules`
in #7870 , but failed to realize that given we are now changing `sys.modules`, we might
as well avoid importing it more than once.
Then #10088 came along, passing `importlib` also when importing application modules
(as opposed to only test modules before), which caused problems due to imports
having side-effects and the expectation being that they are imported only once.
With this PR, `import_path` returns the module immediately if already in
`sys.modules`.
Fix #10811
Fix #10341
2023-07-01 15:37:46 +00:00
akhilramkee
2f7415cfbc
Add child modules as attributes of parent modules. ( #10338 )
...
Failing to add child modules as attributes of parent module will prevent them from being accessible through parent module.
Fix #10337
2023-07-01 15:12:41 +00:00
Cheukting
15524f34d2
capture warning when exception is raised ( fix #9036 )
2023-06-30 16:04:37 -07:00
Zac Hatfield-Dodds
7022fb455d
Update tests for re-emitted warnings
2023-06-30 15:29:03 -07:00
Zac Hatfield-Dodds
a1b37022af
Refactor warns() exit logic
2023-06-30 15:29:02 -07:00
Reagan Lee
9279ea2882
Emit unmatched warnings from pytest.warns()
2023-06-30 15:29:02 -07:00
Zac Hatfield-Dodds
0353a94cd1
Explicit GC for PyPy, take 2
2023-06-30 20:33:12 -07:00
Zac Hatfield-Dodds
7fdc8391e2
Explicit GC for PyPy
2023-06-30 16:23:18 -07:00
Zac Hatfield-Dodds
f4e3b4ad98
Drop Python 3.7
2023-06-30 14:55:42 -07:00
Tushar Sadhwani
a14fc10cac
add a test function to the test
2023-06-26 13:06:11 +05:30
Tushar Sadhwani
05d7e60904
Add test
2023-06-26 12:37:23 +05:30
Thomas Grainger
45f1a462d5
Apply suggestions from code review
...
Co-authored-by: Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com>
2023-06-25 16:08:53 +01:00
Thomas Grainger
4cd95eeabf
Merge branch 'main' into warn-when-a-mark-is-applied-to-a-fixture
2023-06-25 16:08:11 +01:00
Ran Benita
c8b1790ee7
python: change `pytest pkg/__init__.py` to only collect the `__init__.py` Module
...
Previously it would collect the entire package, but this is not what
users expect.
Refs #3749
Fixes #8976
Fixes #9263
Fixes #9313
2023-06-23 20:42:50 +03:00
Ran Benita
a4a189ad99
Change PytestRemovedIn8Warning to error by default
...
Per our backward compatibility policy.
2023-06-23 16:42:24 +03: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
Bruno Oliveira
faeb16146b
Consider testpaths for initial conftests
...
The 'testpaths' option is meant to be identical to execute
pytest passing the 'testpaths' directories explicitly.
Fix #10987
2023-05-12 09:34:15 -03:00
dependabot[bot]
6514041a35
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 4.2 to 4.2.1.
- [Commits](https://github.com/django/django/compare/4.2...4.2.1 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 03:56:49 +00:00
Brian Larsen
7d548c38e2
Improve verbose output by wrapping skip/xfail reasons with margin ( #10958 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-05-06 12:15:11 -03:00
Ran Benita
6f7f89f3c4
code: make TracebackEntry immutable
...
TracebackEntry being mutable caught me by surprise and makes reasoning
about the exception formatting code harder. Make it a proper value.
2023-04-28 11:47:45 +03:00
Ran Benita
0a20452f78
code: inline `Traceback.getcrashentry` into `ExceptionInfo._getreprcrash`
...
Since `Traceback.getcrashentry` takes the `ExceptionInfo`, it is not
really independent of it and is in the wrong layer. Prevent nonsensical
mistakes by inlining it.
2023-04-28 11:47:45 +03:00
Ran Benita
cc23ec91d0
code: stop storing weakref to ExceptionInfo on Traceback and TracebackEntry
...
TracebackEntry needs the excinfo for the `__tracebackhide__ = callback`
functionality, where `callback` accepts the excinfo.
Currently it achieves this by storing a weakref to the excinfo which
created it. I think this is not great, mixing layers and bloating the
objects.
Instead, have `ishidden` (and transitively, `Traceback.filter()`) take
the excinfo as a parameter.
2023-04-28 11:47:45 +03:00
Miro Hrončok
e03f82c359
Filter new pkg_resources deprecations ( #10938 )
...
Fixes https://github.com/pytest-dev/pytest/issues/10815
2023-04-25 10:51:10 +02:00
Ran Benita
11965d1c27
Merge pull request #10920 from bluetech/testing-no-testdir
...
testing: remove usages of testdir that sneaked back in
2023-04-18 22:49:23 +03:00
dependabot[bot]
2d6206b89a
build(deps): Bump pytest-sugar in /testing/plugins_integration ( #10922 )
...
Bumps [pytest-sugar](https://github.com/Teemu/pytest-sugar ) from 0.9.5 to 0.9.7.
- [Release notes](https://github.com/Teemu/pytest-sugar/releases )
- [Changelog](https://github.com/Teemu/pytest-sugar/blob/main/CHANGES.rst )
- [Commits](https://github.com/Teemu/pytest-sugar/commits/v0.9.7 )
---
updated-dependencies:
- dependency-name: pytest-sugar
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-04-17 08:55:36 +02:00
Alex
41f57ef95d
Fix `pytrace=False` and `--tb=line` reports `None` ( #10905 )
...
Closes #10831 .
This fixes a small bug where running tests that contained
`pytest.fail(pytrace=False)` with the `--tb=line` flag set results in
an output of "None" in the Failures section of the output, and adds
a test to ensure the behavior is correct.
2023-04-16 20:31:45 +00:00
Ran Benita
819f5abd73
testing: remove usages of testdir that sneaked back in
2023-04-16 19:18:50 +03:00
Ran Benita
b893d2a0fe
Merge pull request #10907 from bluetech/empty-traceback
...
code: handle repr'ing empty tracebacks gracefully
2023-04-13 19:36:09 +03:00
Ran Benita
e3b1799766
code: handle repr'ing empty tracebacks gracefully
...
By "empty traceback" I mean a traceback all of whose entries have been
filtered/cut/pruned out.
Currently, if an empty traceback needs to be repr'ed, the last entry
before the filtering is used instead (added in
accd962c9f
).
Showing a hidden frame is not so good IMO. This commit does the
following instead:
1. Shows details of the exception.
2. Shows a message about how the full trace can be seen.
Example:
```
_____________ test _____________
E ZeroDivisionError: division by zero
All traceback entries are hidden. Pass `--full-trace` to see hidden and internal frames.
```
Also handles `--tb=native`, though there the `--full-trace` bit is not
shown.
This commit contains some pieces from
431ec6d34e
(which has been reverted).
Helps towards fixing issue # 1904.
Co-authored-by: Felix Hofstätter <Felhof1@hotmail.com>
2023-04-13 19:11:37 +03:00
Ran Benita
5d1385320f
Merge pull request #10901 from bluetech/exceptioninfo-from-exception
...
code: add `ExceptionInfo.from_exception`
2023-04-13 16:04:48 +03:00
Ran Benita
90412827c3
Revert "Correctly handle tracebackhide for chained exceptions ( #10772 )"
...
This reverts commit 431ec6d34e
.
Fix #10903 .
Reopen #1904 .
2023-04-12 19:23:25 +03:00
Ran Benita
424c3eebde
code: add ExceptionInfo.from_exception
...
The old-style `sys.exc_info()` triplet is redundant nowadays with
`(type(exc), exc, exc.__traceback__)`, and is beginning to get
soft-deprecated in Python 3.12.
Add a nicer API to ExceptionInfo which takes just the exc instead of the
triplet. There are already a few internal uses which benefit.
2023-04-12 13:16:48 +03:00
Ran Benita
1b196fbeaf
pathlib: fix Python 3.12 rmtree(onerror=...) deprecation
...
Fixes #10890
Ref: https://docs.python.org/3.12/library/shutil.html#shutil.rmtree
2023-04-11 13:24:32 +03:00
dependabot[bot]
e4e13dd913
build(deps): Bump django in /testing/plugins_integration ( #10886 )
...
Bumps [django](https://github.com/django/django ) from 4.1.7 to 4.2.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/4.1.7...4.2 )
---
updated-dependencies:
- dependency-name: django
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-04-10 08:21:27 -03:00
Kodi Arfer
3683722bcb
FormattedExcinfo.get_source: avoid crash when line number is out-of-bounds/negative
...
pytest could crash given pathological AST position attributes, which shouldn't happen when testing real Python code, but could happen when testing AST produced by e.g. Hylang.
Another example of the failure is in the nightly CI for the JAX project: https://github.com/google/jax/actions/runs/4607513902/jobs/8142126075
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
Co-authored-by: Jake VanderPlas <jakevdp@google.com>
2023-04-05 22:48:24 -03:00
dependabot[bot]
549cc512f7
build(deps): Bump pytest-asyncio in /testing/plugins_integration ( #10827 )
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.20.2 to 0.21.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.2...v0.21.0 )
---
updated-dependencies:
- dependency-name: pytest-asyncio
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-03-24 11:40:06 -03:00
Ronny Pfannschmidt
407b330fe1
split up report header lines
...
i found it painful to read crammed in a single line
thus rootdir, config file and testpaths now have own lines
2023-03-17 21:58:26 +01:00
Felix Hofstätter
431ec6d34e
Correctly handle tracebackhide for chained exceptions ( #10772 )
2023-03-15 08:10:25 -03:00
dependabot[bot]
ab069247cd
build(deps): Bump pytest-rerunfailures in /testing/plugins_integration ( #10812 )
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 11.1.1 to 11.1.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/11.1.1...11.1.2 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
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-03-13 08:00:07 -03:00
Alessio Izzo
6e478b0947
Fix walrus operator support in assertion rewriting ( #10758 )
...
Closes #10743
2023-03-10 07:32:36 -03:00
Paul Kehrer
a869141b3d
New option to allow a progress report even when capture=no ( #10755 )
2023-03-07 17:49:37 -03:00
Bruno Oliveira
97a2761d72
Fix test_cmdline_python_namespace_package ( #10788 )
...
pgk_resources.declare_namespace has been deprecated, so added an ignore warnings option
to the test.
2023-03-03 12:25:33 -03:00
dependabot[bot]
44afed9b13
build(deps): Bump pytest-rerunfailures in /testing/plugins_integration ( #10754 )
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 11.1 to 11.1.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/11.1...11.1.1 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
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-02-27 08:56:25 -03:00
dependabot[bot]
835cac8d8b
build(deps): Bump django in /testing/plugins_integration
...
Bumps [django](https://github.com/django/django ) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/4.1.6...4.1.7 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 20:40:12 +00:00
dependabot[bot]
00c94ab01b
build(deps): Bump pytest-rerunfailures in /testing/plugins_integration ( #10731 )
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 11.0 to 11.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/11.0...11.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 08:05:47 -03:00
Ilya Konstantinov
7a829cb57d
Document the location tuple ( #10700 )
2023-02-12 11:20:53 -03:00
HTRafal
5e1c3d2477
Propagate timestamps from CallInfo to TestReport objects ( #10711 )
...
This makes it possible to correlate pytest stages with external events, and also makes it readable when TestReports are exported externall (for example with pytest-reportlog).
Closes #10710
2023-02-10 17:52:54 -03:00
pre-commit-ci[bot]
59e7d2bbc9
[pre-commit.ci] pre-commit autoupdate ( #10712 )
...
* [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 22.12.0 → 23.1.0](https://github.com/psf/black/compare/22.12.0...23.1.0 )
- [github.com/PyCQA/autoflake: v2.0.0 → v2.0.1](https://github.com/PyCQA/autoflake/compare/v2.0.0...v2.0.1 )
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update .pre-commit-config.yaml
* [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: Bruno Oliveira <nicoddemus@gmail.com>
2023-02-07 19:30:33 -03:00
dependabot[bot]
a2b7db7655
build(deps): Bump django in /testing/plugins_integration ( #10706 )
...
Bumps [django](https://github.com/django/django ) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/4.1.5...4.1.6 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 08:00:16 -03:00
Teejay
5dbfb8e108
Fix fixtures named teardown being considered by nose ( #10696 )
...
Closes #10597
2023-01-27 14:33:46 -03:00
Jay
ca40380e99
Add check for zero denominator in approx ( #10624 )
...
Closes #10533
2023-01-24 07:07:42 -03:00
Ran Benita
02893139f9
Merge pull request #10680 from bluetech/capture-typing
...
capture: improve typing
2023-01-23 14:38:28 +02:00
Ran Benita
54b8b40f83
capture: improve NoCapture typing
2023-01-23 14:12:01 +02:00
Ran Benita
54911acf8d
capture: improve `captureclass` typing
...
Previously, the any `captureclass` arguments were Any. We need to
introduce another common base class to fix this.
2023-01-23 14:12:01 +02:00
Ran Benita
a3693ce503
capture: improve `DontReadFromInput` typing
...
Have `DontReadFromInput` inherit from `TextIO`, ensuring it's fully
compatible with `sys.stdin` (which has type `TextIO`).
2023-01-23 14:12:01 +02:00
Yannick PÉROUX
af4143729f
Allow spaces in -p arguments ( #10658 )
2023-01-21 08:22:44 -03:00
q0w
bd7919e03d
Initialize args and args_source during Config.__init__
...
Closes #10626
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2023-01-21 08:19:54 -03:00
Ran Benita
5a23eeff7a
Merge pull request #10668 from pytest-dev/dependabot/pip/testing/plugins_integration/pytest-rerunfailures-11.0
...
build(deps): Bump pytest-rerunfailures from 10.3 to 11.0 in /testing/plugins_integration
2023-01-20 11:23:54 +02:00
Ran Benita
310b67b227
Drop attrs dependency, use dataclasses instead ( #10669 )
...
Since pytest now requires Python>=3.7, we can use the stdlib attrs
clone, dataclasses, instead of the OG package.
attrs is still somewhat nicer than dataclasses and has some extra
functionality, but for pytest usage there's not really a justification
IMO to impose the extra dependency on users when a standard alternative
exists.
2023-01-20 11:13:36 +02:00
Ramsey
4d4ed42c34
Fix crash if `--cache-show` and `--help` are passed at the same time
...
Closes #10592
2023-01-19 09:44:57 -03:00
Ronny Pfannschmidt
096b942ec4
Merge pull request #10660 from ikonst/2023-01-13-raises-typing
...
Derive pytest.raises from AbstractContextManager
2023-01-18 06:42:46 +01:00
dependabot[bot]
95c62eb527
build(deps): Bump pytest-rerunfailures in /testing/plugins_integration
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 10.3 to 11.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/10.3...11.0 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 03:00:46 +00:00
Ilya Konstantinov
1a96f16401
Derive pytest.raises from AbstractContextManager
...
Makes `AbstractContextManager` the shared base class between "raises" and other context managers.
The motivation is for type checkers to narrow `pytest.raises(...) if x else nullcontext()` to a `ContextManager` rather than `object`.
2023-01-13 13:58:49 -05:00
dependabot[bot]
7421f3bb94
build(deps): Bump django in /testing/plugins_integration ( #10643 )
...
Bumps [django](https://github.com/django/django ) from 4.1.3 to 4.1.5.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/4.1.3...4.1.5 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-13 07:16:43 -03:00
s-padmanaban
8efb4bb9c1
Do not update cache from xdist worker ( #10641 )
2023-01-13 07:14:52 -03:00
Daniel Garcia Moreno
61f70a5a75
Fix tests pygments 2.14.0
...
Fix https://github.com/pytest-dev/pytest/issues/10630
2023-01-04 10:30:28 +01:00
Yusuke Kadowaki
10220d3f31
Change the default policy to all
2022-12-25 00:18:38 +09:00
Pierre Sassoulas
b31db4809b
Avoid truncation when truncating means longer output ( #10446 )
...
Fixes #6267
2022-12-17 10:24:46 -03:00
Marko Pacak
9fbd67dd4b
Class methods can now be discovered as tests ( #10552 )
...
Fix #10525
2022-12-02 15:53:04 +00:00
dependabot[bot]
eb984a717a
build(deps): Bump pytest-rerunfailures in /testing/plugins_integration ( #10537 )
...
Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) from 10.2 to 10.3.
- [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.2...10.3 )
---
updated-dependencies:
- dependency-name: pytest-rerunfailures
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-29 09:55:24 +01:00
Prerak Patel
857e34ef85
Fix bug where file system root was erroneously be used as rootdir on Windows
...
Fix #10506
2022-11-23 14:46:00 -03:00
Yusuke Kadowaki
99dfc19fe6
Fix `tmp_path_retention_policy` crash when skipping from fixture ( #10517 )
...
Also uses the stash to save the test status.
Fix #10502
2022-11-23 10:48:29 -03:00