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
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
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
Dominic Mortlock
775ba63c67
Refactor acceptance_test to use pytester ( #8070 )
2020-11-25 14:42:47 +02:00
Ran Benita
d50df85e26
Add unraisableexception and threadexception plugins
2020-11-21 21:11:48 +02:00
Maximilian Cosmo Sitter
0cef530d10
Add str() support to LineMatcher ( #8050 )
2020-11-21 20:45:20 +02: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
3e0bbd2f57
testing: fix ResourceWarning in broken-pipe test
2020-11-20 17:55:23 +02:00
Petter Strandmark
eda681af2b
Call Python 3.8 doClassCleanups ( #8033 )
2020-11-19 12:07:15 +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
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
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
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
Josias Aurel
fa148eadfe
Update testing/test_faulthandler.py
...
Co-authored-by: Sanket Duthade <duthades@gmail.com>
2020-11-11 18:35:06 +01: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
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
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
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
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
Bruno Oliveira
30287b49cd
Deprecate --strict ( #7985 )
...
Fix #7530
2020-11-06 09:48:20 +01: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
a95da7a425
Merge pull request #7980 from bluetech/code-changes
...
code: a few minor improvements
2020-11-01 09:51:39 +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
Karthikeyan Singaravelan
9a0f4e57ee
Add support to display field names in namedtuple diffs.
2020-10-31 14:41:53 +02:00
Ran Benita
6cdae8ed40
pathlib: fix symlinked directories not followed during collection
2020-10-31 14:22:15 +02: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
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
Christine Mecklenborg
47ff911c8f
Migrate test_assertion.py from testdir to pytester
2020-10-29 20:39:44 -05: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
Christine M
8d369f73ba
Migrate test_skipping.py from testdir to pytester ( #7953 )
2020-10-28 17:05:54 +02: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
Mikhail Fesenko
cd9b3618c7
#7942 test_helpconfig.py migrate from testdir to pytester
2020-10-26 18:30:48 +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
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
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
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
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
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
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
1b23a111d2
Update mypy 0.782 -> 0.790
2020-10-17 19:25:45 +03:00
Bruno Oliveira
69419cb700
New pytester fixture ( #7854 )
2020-10-12 12:13:06 -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
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
Kyle Altendorf
76acb44330
Update tests to cover explicit None and "string" as addini() types
2020-10-07 17:56:54 -04: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
33d119f71a
py36+: com2ann
2020-10-05 18:33:17 -07: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
bf09e7792f
fixtures: some type annotations
2020-10-04 09:43:58 +03:00
Anthony Sottile
66bd44c13a
py36+: pyupgrade: py36+
2020-10-03 12:46:54 -07:00
Anthony Sottile
fb1d550aac
py36+: remove rexport of Path and PurePath
2020-10-03 12:16:52 -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
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
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
ac189885f6
Merge pull request #7835 from asottile/py36_misc
...
py36+: miscellaneous (3, 6) cleanup
2020-10-02 19:47:35 -07:00