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
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
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
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
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
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
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
ab331c906e
Suppress errors while removing tmpdir's lock files
...
Fix #5456
2020-06-11 18:59:51 -03:00
Gleb Nikonorov
c18afb59f5
final touches
2020-06-10 19:09:24 -04:00
Gleb Nikonorov
95cb7fb676
review feedback
2020-06-10 00:44:22 -04:00
ibriquem
e2e7f15b71
Make dataclasses/attrs comparison recursive, fixes #4675
2020-06-09 14:39:40 -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
357f9b6e83
Add type annotations
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
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
d2bb67bfda
validate plugins before keys in config files
2020-06-07 14:10:20 -04: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
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
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