Commit Graph

12340 Commits

Author SHA1 Message Date
Daniel Hahler aae0579bcd
doc: use `envvar` directive for environment variables (#6874)
This changes the link anchors in "reference.html", from e.g.
`reference.html#pytest-current-test` to
`reference.html#envvar-PYTEST_CURRENT_TEST`, but I think that is OK, and
not worth adding labels for the old anchors.
2020-03-27 02:40:25 +01:00
Daniel Hahler e651562271
test_warnings: clean up usage of pyfile_with_warnings (#6799)
Remove it where not used / overwritten, and use its reference otherwise,
which makes it clear that it is used actually.
2020-03-27 02:24:00 +01:00
Daniel Hahler 327ec54248
Doc fixes (#6861) 2020-03-27 02:22:03 +01:00
Ran Benita 3b48fce4bc
Merge pull request #6965 from 0cjs/dev/cjs/200325/typo-fixes
CONTRIBUTING: Grammatical clarification and minor typo fixes
2020-03-26 07:20:27 +02:00
Curt J. Sampson 37cbab6899 CONTRIBUTING: Grammatical clarification and minor typo fixes
The main unclear part was that "to contribute changes" read in two
different ways; I've reworded it so it reads only one way.
2020-03-25 21:41:03 +09:00
Ran Benita efada09da2
Merge pull request #6943 from bluetech/mypy-770
Upgrade mypy 0.761 -> 0.770
2020-03-23 11:49:27 +02:00
Ran Benita 77e673c248
Merge pull request #6959 from lewisbelcher/patch-1
Update fixture.rst
2020-03-23 11:49:00 +02:00
Lewis Belcher 27341d17fa
Update fixture.rst
Fix up some mangled wording.
2020-03-23 09:02:06 +01:00
Ran Benita c928550e96
Merge pull request #6949 from Mattwmaster58/patch-1
update available plugin count
2020-03-21 17:18:14 +02:00
Ran Benita 817537523c Upgrade mypy 0.761 -> 0.770
https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html
2020-03-21 17:16:30 +02:00
Ran Benita 6ca7a0409d
Merge pull request #6950 from bluetech/fix-ci-oldattrs-twisted
ci: twisted and oldattrs tox envs are now incompatible, don't run the…
2020-03-21 17:14:45 +02:00
Ran Benita 2cc3227f6a ci: twisted and oldattrs tox envs are now incompatible, don't run them together
twisted started to use `attr.s(eq)` argument which was added recently,
so it fails with oldattrs. One of the CI jobs ran twisted and oldattrs
together, so it started to fail.

Move the twisted code to be covered by another job, and remove it from
the job with the oldattrs.
2020-03-21 16:22:33 +02:00
Mattwmaster58 c6e530990f
update available plugin count
315+ -> 815+
2020-03-20 22:39:18 -06:00
Ran Benita ded30238f7
Merge pull request #6926 from bluetech/fix-capsysbin-print
Fix crash when printing while capsysbinary is active
2020-03-17 11:21:19 +02:00
Daniel Hahler 1fda861190 Fix crash when printing while capsysbinary is active
Previously, writing to sys.stdout/stderr in text-mode (e.g.
`print('foo')`) while a `capsysbinary` fixture is active, would crash
with:

    /usr/lib/python3.7/contextlib.py:119: in __exit__
        next(self.gen)
    E   TypeError: write() argument must be str, not bytes

This is due to some confusion in the types. The relevant functions are
`snap()` and `writeorg()`. The function `snap()` returns what was
captured, and the return type should be `bytes` for the binary captures
and `str` for the regular ones. The `snap()` return value is eventually
passed to `writeorg()` to be written to the original file, so it's input
type should correspond to `snap()`. But this was incorrect for
`SysCaptureBinary`, which handled it like `str`.

To fix this, be explicit in the `snap()` and `writeorg()`
implementations, also of the other Capture types.

We can't add type annotations yet, because the current inheritance
scheme breaks Liskov Substitution and mypy would complain. To be
refactored later.

Fixes: https://github.com/pytest-dev/pytest/issues/6871
Co-authored-by: Ran Benita (some modifications & commit message)
2020-03-16 18:21:33 +02:00
Ran Benita c26bbdfaf0
Merge pull request #6854 from gdhameeja/Fix-6822
Check invalid operations for -k
2020-03-15 09:53:36 +02:00
Ran Benita e2dc2d1f0f
Merge pull request #6929 from dannysepler/fix-reference-to-config-cache
Fix reference to the cache fixture
2020-03-15 09:53:00 +02:00
Danny Sepler 2d897ad39f Fix reference to the cache fixture 2020-03-14 20:12:52 -04:00
Ran Benita 1d244b3d82
Merge pull request #6899 from bluetech/rm-dupfile
Remove safe_text_dupfile() and simplify EncodedFile
2020-03-14 13:13:28 +02:00
Ran Benita 29e4cb5d45 Remove safe_text_dupfile() and simplify EncodedFile
I tried to understand what the `safe_text_dupfile()` function and
`EncodedFile` class do. Outside tests, `EncodedFile` is only used by
`safe_text_dupfile`, and `safe_text_dupfile` is only used by
`FDCaptureBinary.__init__()`. I then started to eliminate always-true
conditions based on the single call site, and in the end nothing was
left except of a couple workarounds that are still needed.
2020-03-14 12:57:08 +02:00
Bruno Oliveira d7f01a90eb
Merge pull request #6920 from nicoddemus/cherry-pick-release
Cherry pick CHANGELOG from 5.4.1
2020-03-13 11:16:58 -03:00
Bruno Oliveira 68d4b17a5f Cherry pick CHANGELOG from 5.4.1 2020-03-13 11:13:05 -03:00
Bruno Oliveira 010e711971 Merge pull request #6914 from nicoddemus/revert-6330
Revert "[parametrize] enforce explicit argnames declaration (#6330)"
2020-03-13 10:49:48 -03:00
Bruno Oliveira 703c948294
Merge pull request #6916 from nicoddemus/no-link-checks
Skip link checks when doing releases through the bot
2020-03-13 10:31:14 -03:00
Bruno Oliveira b1b8ea765e Skip link checks when doing releases through the bot
Unfortunately this is really getting in the way of the releases not because
of broken links, but because it is very flaky.

Related: #6894
2020-03-13 10:27:07 -03:00
Bruno Oliveira 2eedf9c2aa
Merge pull request #6910 from nicoddemus/resultlog-logreport
Handle unknown stats in pytest_report_teststatus hook
2020-03-13 09:30:04 -03:00
Ran Benita 6e70fecbe4
Merge pull request #6903 from bluetech/assume-dup
Assume os.dup is always available
2020-03-13 11:01:44 +02:00
Bruno Oliveira 0c58ed2cc0 Handle unknown stats in pytest_report_teststatus hook
Noticed that the pytest_report_teststatus of reportlog was not properly
handling unknown statuses while taking a look at:

https://github.com/pytest-dev/pytest-rerunfailures/issues/103
2020-03-12 20:52:22 -03:00
Ronny Pfannschmidt 2b6740672d
Merge pull request #6897 from pytest-dev/release-5.4.0
Prepare release 5.4.0
2020-03-12 22:40:51 +01:00
Ran Benita 6954b3b0dc Assume os.dup is always available
The commit which added the checks for os.dup a15afb5e48
suggests it was done for Jython. But pytest doesn't support Jython
anymore (Jython is Python 2 only).

Furthermore, it looks like the faulthandler plugin (bundled in pytest
and enabled by default) uses os.dup() unprotected and there have not
been any complaints.

So seems better to just remove these checks, and only add if someone
with a legitimate use case complains.
2020-03-12 16:47:15 +02:00
pytest bot c9fd1bdbd6 Preparing release version 5.4.0 2020-03-12 14:14:35 +00:00
Ronny Pfannschmidt 93aa988e01
Merge pull request #6901 from RonnyPfannschmidt/regendoc-fix-simple
run and fix tox -e regen to prepare 5.4
2020-03-12 15:09:10 +01:00
Ran Benita 7996724f23
Merge pull request #6902 from RoyalTS/filterwarnings-docfix
Minor docfix
2020-03-12 12:39:33 +02:00
Tobias Schmidt 90ee8a7599
docfix 2020-03-12 09:38:00 +01:00
Ronny Pfannschmidt 378a75ddf6 run and fix tox -e regen to prepare 5.4
* no longer trigger deprecation warnings when looking up fixtures
* fix missed imports in a test example
2020-03-11 22:25:51 +01:00
Bruno Oliveira e1b3a68462
Merge pull request #6896 from nicoddemus/release-trigger
Fix bot trigger event
2020-03-11 10:04:41 -03:00
Ronny Pfannschmidt fb7dbc9fa3
Merge pull request #6893 from RonnyPfannschmidt/url-fixes
fix urls that fail linkcheck
2020-03-11 14:02:46 +01:00
Bruno Oliveira a0ea300e96 Fix bot trigger event
Issue events don't contain a 'comment' entry:
https://developer.github.com/v3/issues/events/#response-2

Issue comments also contain the original issue body:
https://developer.github.com/v3/activity/events/types/#issuecommentevent

That's why it was triggering even for comments on the issue.

Also changed to startsWith because there's no need to support
the command anywhere in the body IMO.

Fix #6895
2020-03-11 09:54:56 -03:00
Ronny Pfannschmidt 09b289e286 fix mozilla qa project link 2020-03-11 11:10:33 +01:00
Ronny Pfannschmidt 694dbe5bd4 fix pydanny.com url to the one with ssl set up 2020-03-11 10:52:16 +01:00
Ran Benita 4f8fff9cab
Merge pull request #6868 from bluetech/simplify-exc
Simplify some exception handling code
2020-03-10 20:32:08 +02:00
Daniel Hahler ac7ebfa22e
doc: internal: fix `MultiCapture.readouterr` (#6878)
Remove wrong docstring: it might actually return bytes.
Replace it with a type annotation which is clear enough.
2020-03-08 12:38:21 +01:00
Daniel Hahler db92cea14c
black: --target-version py35 (#6872) 2020-03-08 01:24:31 +01:00
Daniel Hahler bce1d40fb0
tests: harden test_reprcompare_notin, factor out callop (#6764)
* tests: assertion: factor out `callop`, typing

* tests: harden test_reprcompare_notin
2020-03-08 01:23:19 +01:00
Daniel Hahler dc86fb6758 pre-commit run --all-files 2020-03-07 23:47:55 +01:00
Daniel Hahler 2df4f63149 Add config for black (target-version) 2020-03-07 23:47:55 +01:00
Daniel Hahler e3cf4fc258
doc/en/Makefile: use Sphinx's make mode (#6873)
Syncs it from the output of current sphinx-quickstart.
2020-03-07 23:45:05 +01:00
gdhameeja 599bf075db Check invalid operations for -k
`KeywordMapping` returns a bool on lookup which when passed to eval
fail on certain operations such as index access and attribute access.
We catch all exceptions and raise a `UsageError`.
2020-03-07 20:17:01 +05:30
Ran Benita 978b315861 Simplify some exception handling code
Mostly avoid unnecessary usage of sys.exc_info(). Since Python3,
exception objects themselves have all that's needed. They are also
easier to type.
2020-03-07 13:18:54 +02:00
Ran Benita 580edc13e7
Merge pull request #6867 from bluetech/inline-pyobjmixin
Inline PyobjContext
2020-03-07 11:58:38 +02:00