Daniel Hahler
1f736a663d
terminal: _get_main_color: help pytest-parallel
...
Use `dict.keys()` to work around `__iter__` not working with a
multiprocessing DictProxy.
Ref: https://github.com/python/cpython/pull/17333
Fixes https://github.com/pytest-dev/pytest/issues/6254 .
Ref: https://github.com/browsertron/pytest-parallel/issues/36
2019-11-22 05:48:10 +01:00
Mark Dickinson
2ffbe41ae5
clear sys.last_traceback via del instead of = None
2019-11-21 13:06:47 +00:00
Daniel Hahler
b96e0a71a6
pytester: LineMatcher: __tracebackhide__ with _fail
...
Follow-up to 2228ccb
(gone lost in resolving the conflict).
2019-11-21 01:23:36 +01:00
Daniel Hahler
2228ccbfb4
pytester: reset log output in _match_lines ( #70 )
...
This is necessary for when using e.g. `no_fnmatch_line` after it.
Factor it out into `_fail`.
(cherry picked from commit aade7ed0045ba32557ef8565cbab28a2c91053a7)
Ref: https://github.com/pytest-dev/pytest/pull/5914#issuecomment-549182242
2019-11-20 05:24:18 +01:00
Bruno Oliveira
5b3867fd65
Release 5.3.0 ( #6233 )
...
Release 5.3.0
2019-11-19 18:49:14 -03:00
Daniel Hahler
1d368e0ed4
Merge pull request #6231 from blueyed/param-spell
...
Improve check for misspelling of parametrize
2019-11-19 17:57:28 +01:00
Bruno Oliveira
21622d0df4
Merge remote-tracking branch 'upstream/master' into release-5.3.0
2019-11-19 12:42:11 -03:00
Daniel Hahler
4ad61cbcf6
Improve check for misspelling of parametrize
...
- there is no need to do this with `--strict-markers`
- it can be done when looking up marks, instead of for every generated
test
2019-11-19 16:05:52 +01:00
Daniel Hahler
d1e2d12b3f
python: remove unused pytest_make_parametrize_id hookimpl ( #6228 )
2019-11-19 02:55:24 +01:00
Daniel Hahler
4804d4bc98
python: remove unused pytest_make_parametrize_id hookimpl
...
Added in 79927428d
initially, but never used.
2019-11-19 02:27:53 +01:00
Daniel Hahler
b820b7e384
Merge pull request #6224 from blueyed/visit_Assert-minor-cleanup
...
minor: visit_Assert: move setting of `negation` out of branches
2019-11-19 01:11:53 +01:00
Anthony Sottile
eeeb19626b
Merge pull request #6202 from linw1995/fix_getmodpath
...
Fix incorrect result of getmodpath method.
2019-11-18 15:14:52 -08:00
Daniel Hahler
f38f2d402e
minor: visit_Assert: move setting of `negation` out of branches
2019-11-18 23:21:00 +01:00
Bruno Oliveira
89eeefbbaf
Merge pull request #6192 from nicoddemus/remove-reportlog-6180
...
Remove report_log in favor of pytest-reportlog
2019-11-18 17:58:37 -03:00
Daniel Hahler
2ad2fbc9a2
Metafunc: remove hack for DefinitionMock
...
Done initially in 99015bfc8
.
2019-11-18 18:19:34 +01:00
Daniel Hahler
64d8910516
Metafunc: remove unused _ids ( #6220 )
2019-11-18 18:00:29 +01:00
Daniel Hahler
91dec8e2bf
Factor out _validate_parametrize_spelling
...
This makes it easier to read `pytest_generate_tests`.
2019-11-18 16:36:12 +01:00
Daniel Hahler
f3a10245d0
Metafunc: remove unused _ids
...
Forgotten in 40b85d7ee
.
2019-11-18 16:21:13 +01:00
JoshKarpel
9e759010d9
resolve #2049
2019-11-17 16:45:42 -06:00
Anthony Sottile
a2d48332fc
Merge pull request #6201 from asottile/mm
...
Merge master into features
2019-11-17 11:30:51 -08:00
Ran Benita
fa578d7329
Merge pull request #6205 from bluetech/type-annotations-8
...
Add type annotations to _pytest.compat and _pytest._code.code
2019-11-17 09:45:32 +02:00
Ran Benita
eaa34a9df0
Add type annotations to _pytest._code.code
2019-11-16 22:29:57 +02:00
Daniel Hahler
54a954514b
re-run black
2019-11-16 18:55:32 +01:00
Daniel Hahler
b1a597ab02
Remove (now) unnecessary fmt: off
2019-11-16 18:51:02 +01:00
Daniel Hahler
786d839db1
cacheprovider: set: use json.dumps + write
...
``json.dump`` is slower since it iterates over chunks [1].
For 100 ``cache.set`` calls this saved ~0.5s (2.5s => 2s), using a dict
with 1500 entries, and an encoded size of 500kb.
Python 3.7.4.
1: https://github.com/blueyed/cpython/blob/1c2e81ed00/Lib/json/__init__.py#L177-L180
2019-11-16 17:40:56 +01:00
Ran Benita
562d4811d5
Add type annotations to _pytest.compat
2019-11-16 17:22:11 +02:00
Ran Benita
a649f157de
Make Source explicitly implement __iter__()
...
Source was previously iterable because it implements `__getitem__()`,
which is apparently a thing from before `__iter__()` was introduced.
To reduce mypy's and my own confusion, implement `__iter__()` directly.
2019-11-16 17:22:10 +02:00
Ran Benita
307add025b
Simplify a FormattedExcinfo test
...
The previous test was better in that it used fakes to test all of the
real code paths. The problem with that is that it makes it impossible to
simplify the code with `isinstance` checks. So let's just simulate the
issue directly with a monkeypatch.
2019-11-16 17:22:09 +02:00
Ran Benita
e3ac44df36
Inline the FuncargnamesCompatAttr compat helper
...
It doesn't help much IMO, just adds indirection and makes it harder to
type.
2019-11-16 17:22:09 +02:00
Ran Benita
04d68fbc9e
Remove checks for Python2-only fields im_func and func_code
2019-11-16 17:22:07 +02:00
Ran Benita
f760356578
A few linting fixes
...
Add some Python 3.8 type: ignores; all are already fixed in the next
mypy release, so can be removed once we upgrade.
Also move some flake8 ignores which seem to have changed places.
2019-11-16 17:22:06 +02:00
林玮
329f56ecec
Fix incorrect result of getmodpath method.
2019-11-16 15:28:04 +08:00
Anthony Sottile
cc78444c30
Merge remote-tracking branch 'origin/master' into mm
2019-11-15 15:26:57 -08:00
Daniel Hahler
c49c61fdaf
Import Path from _pytest.pathlib for py35 ( #6193 )
2019-11-15 23:17:43 +01:00
Daniel Hahler
5979837c60
Import Path from _pytest.pathlib for py35
...
This is important for `isinstance` checks etc.
2019-11-15 22:19:53 +01:00
Anthony Sottile
176c7771fb
Revert "fix bug with nonskipped first test in package ( #5831 )"
...
This reverts commit 85288b5321
, reversing
changes made to 5f9db8a017
.
2019-11-15 08:29:52 -08:00
Bruno Oliveira
d2ea9e2db5
Remove report_log in favor of pytest-reportlog
...
Fix #6180
2019-11-14 19:47:26 -03:00
Bruno Oliveira
99f487864c
Issue a warning to prepare change of 'junit_family' default val… ( #6186 )
...
Issue a warning to prepare change of 'junit_family' default value
2019-11-14 18:11:10 -03:00
Daniel Hahler
2fc7d04fc3
Merge pull request #6187 from blueyed/minor
...
Minor fixes
2019-11-14 00:45:54 +01:00
Bruno Oliveira
6f2c0fd2e8
Show a better message when 'request' is used in parametrize
...
Fix #6183
2019-11-13 19:57:10 -03:00
Bruno Oliveira
2a67637acc
Issue a warning to prepare change of 'junit_family' default value
...
Fix #6179
2019-11-13 19:55:13 -03:00
Daniel Hahler
772dfc4f9d
terminal: fix/remove wrong typing for currentfspath
...
Can be -2, or py.path.local (not typed).
2019-11-13 23:24:24 +01:00
Daniel Hahler
55bc084dcc
doc: s/_pytest.config.Parser/_pytest.config.argparsing.Parser/
2019-11-13 23:22:25 +01:00
Daniel Hahler
b3bb604683
fix typo in _issue_warning_captured doc
2019-11-13 23:22:25 +01:00
Daniel Hahler
f91bf48a40
Merge pull request #6176 from blueyed/assertoutcome
...
pytester: Hookrecorder: improve assertoutcome
2019-11-13 19:27:18 +01:00
Daniel Hahler
b06f33f474
terminal: report ``session.shouldfail`` reason (``-x``)
...
Via https://github.com/blueyed/pytest/pull/108 .
2019-11-13 16:18:41 +01:00
Daniel Hahler
6ddf7c3d42
pytester: Hookrecorder: improve assertoutcome
...
Before:
def assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None:
realpassed, realskipped, realfailed = self.listoutcomes()
assert passed == len(realpassed)
> assert skipped == len(realskipped)
E assert 1 == 0
E + where 0 = len([])
After:
> reprec = testdir.inline_run(testpath, "-s")
E AssertionError: ([], [], [<TestReport 'nodeid' when='call' outcome='failed'>])
E assert {'failed': 1, 'passed': 0, 'skipped': 0} == {'failed': 0, 'passed': 0, 'skipped': 1}
2019-11-13 13:48:20 +01:00
Daniel Hahler
e2022a6d48
pytester: assert_outcomes: use/set __tracebackhide__ ( #6172 )
2019-11-12 23:07:58 +01:00
Daniel Hahler
86e9ae39f0
pytester: assert_outcomes: use/set __tracebackhide__
2019-11-12 15:28:36 +01:00
Daniel Hahler
dad4985be1
A bit more typing around Node ( #6167 )
2019-11-12 14:46:05 +01:00