Bruno Oliveira
d282424589
Fix unguarded == comparison in fixtures. ( #6541 )
...
Fix unguarded `==` comparison in fixtures.
2020-01-28 20:54:14 -03:00
Daniel Hahler
ddaa5d88ac
terminal: default to fE with -r (reportchars)
...
Adds handling of `N` to reset `reportchars`, which can be used to get
the old behavior (`-rN`), and also allows for an alternative to
`--disable-warnings` (https://github.com/pytest-dev/pytest/issues/5066 ),
since `w` was included by default (without `--disable-warnings`).
Fixes https://github.com/pytest-dev/pytest/issues/6454
2020-01-29 00:33:15 +01:00
Daniel Hahler
4ff90b1fcf
Merge pull request #6606 from blueyed/typing-monkeypatch-context
...
typing: MonkeyPatch.context
2020-01-29 00:12:53 +01:00
Anthony Sottile
abd5fc80e8
Fix node ids which contain a parametrized empty-string variable
2020-01-28 13:27:54 -08:00
Holger Kohr
80d4dd6f0b
Replace == with is for comparison of cache keys
...
Closes #6497
2020-01-28 18:05:53 -03:00
Ran Benita
e440b43258
Merge pull request #6555 from bluetech/nodes-cache-split
...
Split Session._collection_node_cache to 3 mutually exclusive parts
2020-01-28 22:49:42 +02:00
Daniel Hahler
e25d46aae6
typing: MonkeyPatch.context
2020-01-28 21:44:30 +01:00
Daniel Hahler
7c87874277
source_path: py.path.local directly
...
Via bc7282576 .
2020-01-28 19:02:41 +01:00
Daniel Hahler
1cf9e68dbc
tests: cover absolute path handling in _compute_fixture_value
2020-01-28 18:53:28 +01:00
Daniel Hahler
18ac7e0b79
Merge pull request #6593 from blueyed/typing-ignore-more-itertools
...
typing: ignore false positive with more-itertools
2020-01-28 14:24:24 +01:00
Daniel Hahler
12c5a6af64
typing: fix Code.path
...
Fixes:
> src/_pytest/_code/code.py:83: error: Incompatible types in assignment
> (expression has type "str", variable has type "local") [assignment]
2020-01-28 01:49:45 +01:00
Daniel Hahler
30922ee694
Merge master into features
2020-01-28 01:40:14 +01:00
Daniel Hahler
35ba053f00
typing: ignore false positive with more-itertools
...
Fixed in https://github.com/erikrose/more-itertools/pull/374 .
2020-01-28 01:23:44 +01:00
Daniel Hahler
9c716e4d74
typing: Testdir.plugins
2020-01-28 00:41:46 +01:00
Daniel Hahler
94ac0f7e6b
typing: self._mod_collections, collect_by_name
2020-01-28 00:41:46 +01:00
Daniel Hahler
440881d63a
typing: Testdir.__init__
2020-01-28 00:41:46 +01:00
Ran Benita
ae5d16be10
typing: FSHookProxy/gethookproxy
...
Taken out of https://github.com/pytest-dev/pytest/pull/6556 .
2020-01-27 20:57:44 +01:00
Daniel Hahler
bf5c76359c
fixup! typing: tests: tmpfile
2020-01-26 23:14:32 +01:00
Daniel Hahler
3f8f395210
typing: EncodedFile
2020-01-25 19:20:48 +01:00
Daniel Hahler
e2934c3f8c
Move common code between Session and Package to FSCollector
2020-01-25 19:04:01 +01:00
Daniel Hahler
6b7e1a246c
Sync {Session,Package}.gethookproxy
...
Only copy'n'paste error from c416b1d935 .
2020-01-25 19:04:01 +01:00
Daniel Hahler
817c094ce6
Clean up Package.__init__
...
Makes `parent` a required arg, which would have failed before via
`parent.session` anyway.
Keeps calling/passing unused args for B/C.
2020-01-25 19:04:01 +01:00
Daniel Hahler
039d582b52
Fix EncodedFile.writelines
...
This is implemented by the underlying stream already, which additionally
checks if the stream is not closed, and calls `write` per line.
Ref/via: https://github.com/pytest-dev/pytest/pull/6558#issuecomment-578210807
2020-01-25 18:06:50 +01:00
Daniel Hahler
9b8039cf09
Sync {Session,Package}._recurse
2020-01-25 16:44:20 +01:00
Daniel Hahler
57512aa997
_get_main_color: no yellow ("boring") for non-last item
...
- refactor _get_main_color/build_summary_stats_line
- factor out property _is_last_item; test_summary_stats: tr._is_last_item
- _write_progress_information_filling_space: remove color arg
- use setter for stats, handling main color
- _get_main_color: skip cache for last item
- Handle random order in test for py35.
2020-01-25 15:09:02 +01:00
Daniel Hahler
c51173d426
Merge master into features
2020-01-25 14:18:02 +01:00
Ran Benita
94d8c071b6
Remove a couple of redundant commas
...
Mypy complains about this once the function is typed:
src/_pytest/main.py:85: error: "_addoption" of "OptionGroup" does not return a value
src/_pytest/main.py:133: error: "addoption" of "OptionGroup" does not return a value
2020-01-25 14:12:47 +01:00
Ran Benita
f3967333a1
Split Session._collection_node_cache to 3 mutually exclusive parts
...
Previously, this cache was used with 3 different and mutually exclusive
key-type -> value-type combinations. Mypy can't properly type this. It's
also quite confusing.
Split to 3 different dicts instead.
2020-01-25 14:31:12 +02:00
Ran Benita
a76bc64c54
Merge pull request #6547 from bluetech/session-initialparts
...
Refactor Session._initialparts to have a more explicit type
2020-01-25 14:30:26 +02:00
Ran Benita
dd5c2b22bd
Refactor Session._initialparts to have a more explicit type
...
Previously, _initialparts was a list whose first item was a
`py.path.local` and the rest were `str`s. This is not something that
mypy is capable of modeling. The type `List[Union[str, py.path.local]]`
is too broad and would require asserts for every access.
Instead, make each item a `Tuple[py.path.local, List[str]]`. This way
the structure is clear and the types are accurate.
To make sure any users who might have been accessing this (private)
field will not break silently, change the name to _initial_parts.
2020-01-25 13:57:49 +02:00
Tomáš Gavenčiak
5e15c86cc6
Fix EncodedFile.write return value
...
Make EncodedFile, used for captured output streams, method .write return
the number of characters written. Add test for captured stderr write.
Fixes #6557 .
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
2020-01-25 10:36:23 +01:00
Daniel Hahler
09bdbffbde
Merge master into features
...
Conflicts:
src/_pytest/_code/code.py
src/_pytest/main.py
2020-01-24 23:44:50 +01:00
Daniel Hahler
03bc8aba4e
config: typing for create_terminal_writer, re-export TerminalWriter
...
This also imports `TerminalWriter` explicitly via `_pytest._io`,
allowing for easier extending / replacing it.
2020-01-23 14:09:37 +01:00
Daniel Hahler
6b13379f37
Merge pull request #6521 from blueyed/harden-nose-raises
...
tests: improve test for `nose.raises`
2020-01-23 13:42:14 +01:00
Ran Benita
9dcdea5de7
Rewrite Item.location to be clearer with regard to types
2020-01-23 13:25:15 +01:00
Daniel Hahler
8521503246
Merge pull request #6527 from blueyed/typing-getfslineno
...
typing: fix/adjust _code.source.getfslineno
2020-01-23 13:17:47 +01:00
Ran Benita
0b6258ab5b
PyCollector.collect: use explicit cast to str
...
Ref: https://github.com/pytest-dev/pytest/pull/6521#pullrequestreview-347234792
2020-01-23 12:54:52 +01:00
Daniel Hahler
9c7b3c57d7
typing: PyobjMixin.reportinfo, getfslineno
2020-01-23 10:45:31 +01:00
Daniel Hahler
1350c601dc
Node.location: handle str with _node_location_to_relpath
2020-01-23 10:45:31 +01:00
Daniel Hahler
ef112fd7dd
Revert "Revert "Fix type errors after adding types to the py dependency""
...
Without changes to test_itemreport_reportinfo.
This reverts commit fb99b5c66e .
Conflicts:
testing/test_nose.py
2020-01-23 10:45:27 +01:00
Daniel Hahler
ad02f6f879
Merge pull request #6525 from blueyed/typing-session
...
typing: Session.__init__
2020-01-23 00:16:08 +01:00
Daniel Hahler
bd6ba3f3e1
typing: Session.__init__
...
Pulled out of https://github.com/pytest-dev/pytest/pull/6491 .
2020-01-23 00:07:59 +01:00
Bruno Oliveira
e17f5fad14
Clear node collection cache after collection is done ( #6491 )
...
Clear node collection cache after collection is done
2020-01-22 16:08:59 -03:00
Daniel Hahler
aca1723d45
Merge master into features
2020-01-22 19:18:13 +01:00
Bruno Oliveira
93b74d28d2
Merge remote-tracking branch 'upstream/master' into mm
...
Conflicts:
* src/_pytest/_code/code.py
* src/_pytest/main.py
* testing/python/metafunc.py
* testing/test_parseopt.py
* testing/test_pytester.py
2020-01-22 11:03:45 -03:00
Daniel Hahler
b8787b8732
tests: fix test_cwd_snapshot
...
Without restoring the cwd, successive tests might fail to parse the
config (via `_pytest.config._prepareconfig()`, for when `--lsof` is
used).
And it is good practice to restore the cwd in any case anyway.
2020-01-22 14:34:11 +01:00
Daniel Hahler
62db3f7abc
typing: fix/adjust _code.source.getfslineno
2020-01-21 19:48:17 +01:00
Daniel Hahler
7ee27fedee
doc: fix Code.path: might return str
2020-01-21 19:46:43 +01:00
Bruno Oliveira
7b1e3d1c9a
Clear collection caches after collection is done
...
Also rename the involved variables to convey its intent better and
add type hints
2020-01-21 07:29:13 -03:00
Ran Benita
fb99b5c66e
Revert "Fix type errors after adding types to the py dependency"
...
This reverts commit 930a158a6a .
Regression test from Bruno Oliveira.
2020-01-20 23:44:56 +02:00