Commit Graph

12674 Commits

Author SHA1 Message Date
Ran Benita
85ef2bf698 code/code: remove Frame.exec_() method
Not used.
2020-07-10 13:08:56 +03:00
Ran Benita
c3864bc12b code/code: remove Frame.is_true() method
Really odd one, let's just inline it.
2020-07-10 13:08:56 +03:00
Ran Benita
77f3cb4baa code/code: type annotations & doc cleanups 2020-07-10 13:08:56 +03:00
Ran Benita
087b047426 cacheprovider: type annotations 2020-07-10 13:08:56 +03:00
Ran Benita
a2f021b6f3 Remove no longer needed noqa: F821 uses
Not needed since pyflakes 2.2.0.
2020-07-10 13:08:56 +03:00
Ran Benita
fc702ab7e4 fixtures: some type annotations 2020-07-10 13:08:56 +03:00
Ran Benita
168d9adefc hookspec: change Node -> Union[Item, Collector] to avoid exposing Node
We don't really want `Node` itself as a public API, only its two
subclasses.
2020-07-10 13:08:56 +03:00
Ran Benita
8e8d639276 tmpdir: type annotations 2020-07-10 13:08:56 +03:00
Ran Benita
bcff02c4c6 pytester: some type annotations 2020-07-10 13:08:56 +03:00
Ran Benita
c7a1db5d01 junitxml: few typing fixes & additions 2020-07-10 13:08:56 +03:00
Ran Benita
5da4a1d84f capture: type annotate return value of fixtures 2020-07-10 13:08:56 +03:00
Ran Benita
e079ebbd57 python: more type annotations 2020-07-10 13:08:56 +03:00
Ran Benita
fb2640b82f Stop using ExceptionInfo.errisinstance internally
It does the same as a simple isinstance check, but adds a little layer
of obscurity on top, which the type checker can't penetrate.
2020-07-10 13:08:48 +03:00
Ran Benita
2ae721cda5 Merge pull request #7470 from nicoddemus/fix-required-plugins-test
Make test_missing_required_plugins xdist-independent
2020-07-10 12:47:52 +03:00
Bruno Oliveira
be7b02c3b8 Make test_missing_required_plugins xdist-independent
Also cleaned up the parametrized list using `pytest.param` to assign ids
and removed some redundant cases.

Follow up to #7459
2020-07-09 22:09:28 -03:00
Bruno Oliveira
0a0c14dfac Merge pull request #7459 from nicoddemus/release-6.0.0rc1 2020-07-09 21:25:58 -03:00
Arvin Firouzi
c3e2b11a62 Fix reported location of skip when --runxfail is used (#7432)
Co-authored-by: Arvin Firouzi <427014@student.fontys.nl>
2020-07-09 23:10:32 +03:00
Bruno Oliveira
b22d466345 Remove duplicated users from release announcement 6.0.0rc1 2020-07-08 17:51:57 -04:00
Bruno Oliveira
7d033a8950 Prepare release version 6.0.0rc1 2020-07-08 17:51:01 -04:00
Bruno Oliveira
64b19595a5 Set correct version during regen 2020-07-08 17:49:09 -04:00
Bruno Oliveira
d812690569 Adjust regendoc for getting-started 2020-07-08 17:49:09 -04:00
Bruno Oliveira
9db9f04432 Use builtin compile in doc example
Follow up to #7438
2020-07-08 17:49:09 -04:00
Vlad-Radz
678c1a0745 assertion: improve diff output of recursive dataclass/attrs
Co-authored-by: Vlad <uladzislau.radziuk@nordcloud.com>
2020-07-08 19:04:56 +03:00
Bruno Oliveira
9caca5c434 Merge pull request #7454 from nicoddemus/remove-warning-banner 2020-07-08 10:11:08 -03:00
Bruno Oliveira
93d2ccbfb7 Point to stable docs instead of latest
Now that our master might contain new features, it is best to point
users to the stable docs rather than the latest
2020-07-07 07:45:27 -03:00
Bruno Oliveira
b6a31b9c4d Remove warning about development/outdated docs
Unfortunately couldn't figure out how to fix the generated link, so at least
for now remove it to avoid confusion.

Fix #7331
2020-07-06 20:28:30 -03:00
Ran Benita
ef62b865f0 Merge pull request #7448 from bluetech/typing-publish
Publish our types
2020-07-05 16:51:26 +03:00
Ran Benita
2bcad38fbd Publish our types 2020-07-04 13:18:15 +03:00
Ran Benita
36b958c99e Merge pull request #7438 from bluetech/source-cleanups
code/source: some cleanups
2020-07-04 12:57:32 +03:00
Ran Benita
11efe057ea testing: skip some unreachable code in coverage 2020-07-04 12:12:52 +03:00
Ran Benita
40301effb8 Add changelog entry for code/source changes 2020-07-04 11:45:28 +03:00
Ran Benita
64dd7000e5 Merge pull request #7436 from bluetech/cleanup-lsof
pytester: slightly clean up LsofFdLeakChecker
2020-07-04 10:55:11 +03:00
Ran Benita
f76ac4c570 Merge pull request #7437 from bluetech/flaky-coroutine-never-awaited
testing: fix flaky tests due to "coroutine never awaited" warnings
2020-07-04 10:54:38 +03:00
Ran Benita
eced536eaf Merge pull request #7435 from bluetech/python-cleanups
python: a few cleanups
2020-07-04 10:54:07 +03:00
Ran Benita
bd4977eba8 Merge pull request #7442 from gnikonorov/issue_7439
fix mypy issue by using typing Match instead of re.Match
2020-07-03 10:23:52 +03:00
Gleb Nikonorov
e596b26f1a Don't quote the Match type since it's imported from Typing 2020-07-02 18:22:54 -04:00
Gleb Nikonorov
04d052e306 fix mypy issue by using typing Match instead of re.Match 2020-07-02 15:32:23 -04:00
Ran Benita
74f20f9fba Merge pull request #7434 from bluetech/distinct_log_handlers-rebased
logging: use unique handlers for caplog and reports
2020-07-01 20:54:55 +03:00
Ran Benita
c8cfff6de5 testing: fix flaky tests due to "coroutine never awaited" warnings
They sometime leak into other test's warnings and cause them to fail.
2020-07-01 20:29:04 +03:00
Ran Benita
f5c69f3eb2 code/source: inline getsource()
The recursive way in which Source and getsource interact is a bit
confusing, just inline it.
2020-07-01 20:20:13 +03:00
Ran Benita
ef39115001 code/source: remove compiling functions
A lot of complex code that isn't used anymore outside of tests after
the previous commit.
2020-07-01 20:20:12 +03:00
Ran Benita
9640c9c9eb skipping: use plain compile() instead of _pytest._code.compile()
eval() is used for evaluating string conditions in skipif/xfail e.g.

    @pytest.mark.skipif("1 == 0")

This is the only code that uses `_pytest._code.compile()`, so removing
its last use enables us to remove it entirely.

In this case it doesn't add much. Plain compile() gives a good enough
error message.

For regular exceptions, the message is the same.

For SyntaxError exceptions, e.g. "1 ==", the previous code adds a little
bit of useful context:

```
invalid syntax (skipping.py:108>, line 1)

The above exception was the direct cause of the following exception:
1 ==
     ^
(code was compiled probably from here: <0-codegen /pytest/src/_pytest/skipping.py:108>) (line 1)

During handling of the above exception, another exception occurred:
Error evaluating 'skipif' condition
    1 ==
         ^
SyntaxError: invalid syntax
```

The new code loses it:

```
unexpected EOF while parsing (<skipif condition>, line 1)

During handling of the above exception, another exception occurred:
Error evaluating 'skipif' condition
    1 ==
        ^
SyntaxError: invalid syntax
```

Since the old message is a minor improvement to an unlikely error
condition in a deprecated feature, I think it is not worth all the code
that it requires.
2020-07-01 20:20:12 +03:00
Ran Benita
4a27d7d973 code/source: remove unused method Source.putaround() 2020-07-01 20:20:11 +03:00
Ran Benita
a7303b52db code/source: remove unused method Source.isparseable() 2020-07-01 20:20:11 +03:00
Ran Benita
a127a22d13 code/source: remove support for comparing Source with str
Cross-type comparisons like this are a bad idea. This isn't used.
2020-07-01 20:20:10 +03:00
Ran Benita
2b99bfbc60 code/source: remove support for passing multiple parts to Source
It isn't used, so keep it simple.
2020-07-01 20:20:09 +03:00
Ran Benita
c83e16ab2e code/source: remove unneeded assert
inspect.getsource() definitely returns str.
2020-07-01 20:20:09 +03:00
Ran Benita
c6083ab970 code/source: remove old IndentationError workaround in getsource()
This has been there since as far as the git history goes (2007), is not
covered by any test, and says "Buggy python version consider upgrading".
Hopefully everyone have upgraded...
2020-07-01 20:20:08 +03:00
Ran Benita
4108174777 code/source: remove Source(deindent: bool) parameter
Not used, except in tests.
2020-07-01 20:20:07 +03:00
Ran Benita
2fe178488a code/source: expose deindent kwarg in signature
Probably was done to avoid the shadowing issue, but work around it
instead.
2020-07-01 20:20:06 +03:00