Commit Graph

2145 Commits

Author SHA1 Message Date
Ran Benita fd74dd3dcb Merge pull request #7849 from pytest-dev/release-6.1.1
Prepare release 6.1.1

(cherry picked from commit 69d903260d39f50ef7233348e1521000710cc5ba)
2020-10-03 22:38:33 +03:00
Ran Benita 7705e5e624 doc: patch Sphinx to detect our `@final` for marking classes as `final`
Thanks to Dominic Davis-Foster for code & assistance.
2020-10-03 13:13:14 +03:00
Anthony Sottile ac189885f6
Merge pull request #7835 from asottile/py36_misc
py36+: miscellaneous (3, 6) cleanup
2020-10-02 19:47:35 -07:00
Anthony Sottile 6ba13ed528
Merge pull request #7834 from asottile/py36_TYPE_CHECKING
py36+: remove TYPE_CHECKING from _pytest.compat
2020-10-02 19:47:27 -07:00
Anthony Sottile 284fd45a08 py36+: miscellaneous (3, 6) cleanup 2020-10-02 15:04:16 -07:00
Anthony Sottile a238d1f37d py36+: remove TYPE_CHECKING from _pytest.compat
automated with:

```bash
git grep -l 'from .* import TYPE_CHECKING' |
    xargs reorder-python-imports \
        --application-directories .:src \
        --remove-import 'from _pytest.compat import TYPE_CHECKING' \
        --add-import 'from typing import TYPE_CHECKING'
```
2020-10-02 15:03:24 -07:00
Anthony Sottile 3c93eb0f04 py36+: remove pathlib2 compatibility shim 2020-10-02 14:59:07 -07:00
Max Voitko cb0a13a523
Fix minor typos in doctest.rst (#7828) 2020-10-02 15:39:15 +02:00
Ran Benita f324b27d02
Merge pull request #7748 from nicoddemus/fix-plugin-order-docs
Improve docs about plugin discovery/loading at startup
2020-09-27 13:19:58 +03:00
Ran Benita 19c78ab574 Merge pull request #7797 from pytest-dev/release-6.1.0
Prepare release 6.1.0

(cherry picked from commit 08a1ab3a8acdfdeffd8f07058b44743df1d90150)
2020-09-26 21:11:48 +03:00
Kamran Ahmad d3f47bf346
Improved 'Declaring new hooks' section in docs. (#7782)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-09-23 11:15:55 -03:00
Bruno Oliveira 7324e90199
Update doc/en/writing_plugins.rst
Co-authored-by: Ran Benita <ran@unusedvar.com>
2020-09-19 16:14:28 -03:00
Bruno Oliveira cdfdb3a25d
Add docs about reusing fixtures from other projects (#7772)
Co-authored-by: Ran Benita <ran@unusedvar.com>
2020-09-19 16:10:22 -03:00
Bruno Oliveira 98608c439f
Merge pull request #7760 from finn0/docs/punctuation-mark
[Docs] remove semi-colon punctuation mark
2020-09-16 12:42:20 -03:00
Faris A Chugthai 9ceb4e6efc
Mistyped was mistyped (#7762) 2020-09-16 12:18:03 +02:00
Vipul Kumar 7470270f20
[Docs] remove semi-colon punctuation mark
Usually, we use semi-colon punctuation mark to connect closely related
ideas. Sentences which are after semicolon, begins with small letter,
and last sentence always ends with a period mark, see "Garner's Modern
American Usage" book for more information about usage of punctuation
mark. So removing punctuation mark altogether is a good idea, as
@gnikonorov suggested [1].

[1]: https://github.com/pytest-dev/pytest/pull/7760#pullrequestreview-489232607
2020-09-16 06:17:17 +00:00
Faris A Chugthai cdf2024070
Update writing_plugins.rst (#7757)
Capitalize the first word in a sentence and add a period at the end.
2020-09-15 16:41:27 +02:00
Bruno Oliveira 4b46db8ae5 Add full command-line flags to the reference docs
Fix #7728
2020-09-14 13:42:06 -03:00
Bruno Oliveira 541b30a044 Improve docs about plugin discovery/loading at startup
Fix #7691
2020-09-12 14:11:43 -03:00
Ran Benita e0dd2111a0 Merge pull request #7720 from pytest-dev/release-6.0.2
Prepare release 6.0.2

(cherry picked from commit fe69bd5baf6b8d1713e16caffc7a5e8dab63bc0f)
2020-09-12 02:05:47 +03:00
Ran Benita 78ed3e48db
Merge pull request #7729 from bluetech/doc-fix-crossrefs
doc: fix a few broken cross references
2020-09-11 12:44:29 +03:00
Joseph Lucas 6ae0f741ef
Add example for __test__ (#7733)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-09-09 10:33:39 -03:00
Ran Benita e503c9a9f8 doc: fix broken cross references 2020-09-06 19:06:43 +03:00
Florian Bruhin 5bdfd719e6 doc: Remove Workshoptage training
The sign-up is closed.
2020-09-05 18:11:23 +02:00
Sorin Sbarnea 1df2471f17
Make min duration configurable for slowest tests (#7667)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-09-05 09:18:29 -03:00
Bruno Oliveira 54f7a87ea8
Merge pull request #7714 from bluetech/doc-prefer-public
doc: prefer to reference by public name when possible
2020-09-04 20:39:03 -03:00
Ran Benita 0ca2327069 doc: prefer to reference by public name when possible
When a name is exported from `pytest`, prefer to refer to it by that
rather than its `_pytest` import path. It is shorter and more
appropriate in user-facing documentation (although that's not really
visible).

Our plan is to expose more names for typing purposes, in which can this
could be more comprehensive.
2020-09-04 20:46:15 +03:00
Ran Benita 48a8c373a0 doc/reference: include PluginManager in PytestPluginManager and remove it
Before, `PluginManager` was a copy of the pluggy doc, and
`PytestPluginManager` was documented separately.

pytest users only really need to know about `PytestPluginManager`, so
instead of splitting have the `PytestPluginManager` documentation
include all of `PluginManager` members and remove `PluginManager` from
the reference (it is still shown as the base class).
2020-09-04 20:14:39 +03:00
Ran Benita a346028006 config: add Config.{rootpath,inipath}, turn Config.{rootdir,inifile} to properties 2020-09-04 18:04:25 +03:00
Bruno Oliveira ceea6000ba Add missing File reference to the docs
As related in #7696
2020-08-28 08:49:22 -03:00
Florian Bruhin 00996adeb8
Update talks/trainings page (#7661)
* Update talks/trainings page

- Remove past webinar
- Add new open training
- Add some talks/webinars by Oliver Bestwalter and by me
- Remove some stale link targets

* Move sidebar to index
2020-08-25 17:02:33 +02:00
Bruno Oliveira 7605150eaa Move --no-print-logs removal notice to 'Removed Features' 2020-08-19 08:14:28 -03:00
Bruno Oliveira ef946d557c Remove resultlog plugin 2020-08-19 08:14:28 -03:00
Bruno Oliveira 52b0cc4f19 Remove broken pytest_collect_directory hook 2020-08-19 08:14:25 -03:00
Bruno Oliveira 457d351941 Remove deprecated TerminalReporter.writer property 2020-08-19 08:13:34 -03:00
Bruno Oliveira 345a59dd53 Add note about pytest.collect deprecation 2020-08-19 08:13:06 -03:00
Bruno Oliveira 6ecbd008c4 Change junit_family default to xunit2 2020-08-19 08:13:06 -03:00
Bruno Oliveira 73e06373dc Hard failure when constructing Node subclasses 2020-08-19 08:13:03 -03:00
Bruno Oliveira c747dc5248 Drop support for positional arguments in @pytest.fixture 2020-08-19 08:11:42 -03:00
Bruno Oliveira 98530184a5 Remove funcargnames compatibility property 2020-08-19 08:11:39 -03:00
Thomas Grainger 02c6e4455c
document toml use of filterwarnings (#7611)
and include a demo of toml 'literal strings'

Update doc/en/warnings.rst
Apply suggestion by Ran
Fix linting

Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-08-14 10:08:17 +03:00
Maximilian Cosmo Sitter 15d8293241
Remove faq.rst from docs (#7635) 2020-08-12 14:47:34 -03:00
Sam Estep a27c539a85
Fix typos in Ali Afshar's name
The correct name is visible in the Bitbucket link.
2020-08-07 15:22:10 -07:00
Rüdiger Busche a64298ff5e
Document registering markers in pyproject.toml (#7622)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-08-05 12:03:27 -03:00
Yutaro Ikeda 84c4b64354
Better document -k partial matching (#7610) 2020-08-04 15:30:08 -03:00
Bruno Oliveira d688fefecb
Merge pull request #7614 from The-Compiler/log-print
Properly remove log_print
2020-08-04 13:39:21 -03:00
Florian Bruhin 1c9b84756f Properly remove log_print
This is a follow up to 3f8200676f which didn't
make it clear that log_print is also removed in the changelog and didn't remove
it from the reference docs.
2020-08-04 08:53:09 +02:00
Ran Benita b8471aa527 testing: fix some docstring issues
In preparation for enforcing some docstring lints.
2020-08-03 10:10:43 +03:00
C. Titus Brown a2d562d369
Minor formatting fix in xunit_setup.rst
Fixed location of double-backquote for verbatim text.
2020-08-01 07:33:03 -07:00
Ran Benita 0242de4f56 Format docstrings in a consistent style 2020-08-01 17:14:37 +03:00
Bruno Oliveira e49f1d6f60 Merge pull request #7584 from pytest-dev/release-6.0.1
Prepare release 6.0.1

(cherry picked from commit 022bff27a71406bd5dc4794d34f1fbbf56a45250)
2020-07-30 09:46:53 -03:00
Hugo van Kemenade d756b4a543
Fix typo: remove stray indefinite article from release notes (#7552)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-07-29 12:19:33 -03:00
Mattreex 1e66ed0b1c
Warn about --basetemp removing the entire directory (#7555)
Co-authored-by: mattreex <mattreex.9@gail.com>
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-07-29 11:58:18 -03:00
Drew Devereux 88cc636c18
Update markers.rst (#7563)
Extra colon to make code block render correctly
2020-07-29 09:10:13 +02:00
Bruno Oliveira 70764bef4f Merge pull request #7550 from pytest-dev/release-6.0.0 2020-07-28 17:01:27 -03:00
Anthony Sottile 9818899df4 remove usage of pylib in docs 2020-07-26 17:57:25 -07:00
Bruno Oliveira 7ec6401ffa
Change pytest deprecation warnings into errors for 6.0 release (#7362)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-07-22 21:36:51 -03:00
Bruno Oliveira a9799f0b35
Merge pull request #7531 from bluetech/changelog-mypy-version
doc: mention mypy<0.750 doesn't work in typing changelog
2020-07-22 16:21:11 -03:00
Ran Benita 102360b490
Merge pull request #7519 from hroncok/pytest_warning_captured_deprecated
List pytest_warning_captured in deprecated things for 6.0.0rc1
2020-07-22 20:50:52 +03:00
Ran Benita 1a18dfd651 doc: mention mypy<0.750 doesn't work in typing changelog 2020-07-22 20:48:24 +03:00
Kelton Bassingthwaite dbc50a7061
Clarify usage of usefixtures mark in hooks
Fix #7512

Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-07-21 23:00:47 -03:00
Garrett Thomas 3ed05ee4d6
Fix typo
Change from "A xfail" to "An xfail"
2020-07-20 18:16:13 +02:00
Kostis Anagnostopoulos 07ed197247
doc: note about mutation of parametrized values (#7516)
Fix #7514 by augmenting Note with behaviour when parametrized values are mutated
(changes are reflected in subsequent test-case calls).
2020-07-20 15:12:48 +03:00
Miro Hrončok fbeb36226f List pytest_warning_captured in deprecated things for 6.0.0rc1 2020-07-20 13:41:28 +02:00
Debi Mishra 25b56e9c69 docs: Add a note about -q option used in getting started guide 2020-07-20 01:28:11 +05:30
Ran Benita 8783e65f8d
Merge pull request #7509 from bluetech/sphinx3
docs: support Sphinx>=3.1 and require it
2020-07-18 12:38:26 +03:00
Ran Benita 65b014a117 docs: support Sphinx>=3.1 and require it
Previously was restricted to >=1.8.2,<2.1, but newer versions have some
nice improvements I'd like to be able to use in upcoming changes.

Changelog: https://www.sphinx-doc.org/en/master/changes.html#release-3-1-0-released-jun-08-2020

There are two issues that came up:

1. `highlightlang` is deprecated for `highlight`.

2. Doesn't like having two `automethod` generated for the same
   `Metafunc.parametrize` method. Gives this warning:

   `pytest/doc/en/reference.rst:846: WARNING: duplicate object description of _pytest.python.Metafunc.parametrize, other instance in reference, use :noindex: for one of them`

   To work around this I make `pytest.mark.parametrize` link to
   `Metafunc.parametrize` instead of repeating it.
2020-07-17 23:17:11 +03:00
Bruno Oliveira 97f560d4d1 Clarify 'getfixture' needs to access fixtures by normal means
Related to #7497
2020-07-14 20:21:57 -03:00
Bruno Oliveira 789654dfe2 Small fixes/updates to the 6.0.0rc1 CHANGELOG
- Grammar fixes
- Moved a few sections from Features to Improvements
- Used internal doc links when appropriate
2020-07-11 15:41:10 -03:00
Bruno Oliveira d466cc25a7
Merge pull request #7424 from nicoddemus/package-scope-experimental-7389
Remove package scope experimental status
2020-07-11 08:44:34 -03:00
Bruno Oliveira 906d8496c9 New doc role: globalvar for special variables
This introduces a new role, `:globalvar:`, so we can mark/reference
variables like `pytest_plugins`, `pytestmark`, etc. This besides being useful
also makes the documentation look more consistent.
2020-07-10 09:50:03 -03:00
Hugo van Kemenade c1c5a2b34a
Add support for NO_COLOR and FORCE_COLOR (#7466)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-07-10 08:49:10 -03:00
Bruno Oliveira b22d466345 Remove duplicated users from release announcement 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
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
Bruno Oliveira 289197ff22 Remove package scope experimental status
Close #7389
2020-06-27 11:16:50 -03:00
Florian Bruhin 103bfd20d4 Add webinar 2020-06-26 17:08:14 +02:00
Florian Bruhin ba50ef33d3 Add open training at Workshoptage 2020 2020-06-25 17:32:34 +02:00
Daniel 6cbbd2d90b
Fix typo in examples/markers.rst 2020-06-23 22:38:11 +02:00
Ran Benita b6fd89ef31
Merge pull request #7370 from bluetech/typing3
Some type annotations, doc improvements
2020-06-16 11:23:57 +03:00
Bruno Oliveira d7c5b61f6d
Docs: Update tense, the final Python 2.7 was released in April (#7367)
Docs: Update tense, the final Python 2.7 was released in April
2020-06-15 16:16:39 -03:00
Ronny Pfannschmidt 4e5a7b7d2f
Merge pull request #7366 from gnikonorov/issue_7346
Allow users to provide version information to the required_plugins INI key
2020-06-15 20:19:05 +02:00
Ran Benita 33804fd9b7 doc/reference: move "Collection hooks" before "Test running hooks"
Collection occurs before test running, so it seems more logical.
2020-06-14 17:31:38 +03:00
Ran Benita da1124eb98 hookspec: improve runtest hooks documentation 2020-06-14 17:31:38 +03:00
Ran Benita 2a38ca8a0c doc/reference: add CollectReport
CollectReport appears in several hooks, so we should document it. It's
runtest equivalent TestReport is already documented.
2020-06-14 16:55:41 +03:00
Ran Benita 5e35c86a37 doc/reference: refer to function public names instead of internal _pytest names
This way e.g. a :py:func:`pytest.exit` cross-reference works properly.
2020-06-14 16:54:50 +03:00
Hugo van Kemenade 03d0a10e3a
The final Python 2.7 was released in April
The final Python 2.7.18 release was on 20 Apr 2020.

https://mail.python.org/archives/list/python-dev@python.org/thread/OFCIETIXLX34X7FVK5B5WPZH22HXV342/#OFCIETIXLX34X7FVK5B5WPZH22HXV342
2020-06-13 20:50:24 +03:00
Gleb Nikonorov 320625527a Add more tests and docs 2020-06-13 11:22:18 -04: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 aaa6f1c3fa
Merge pull request #7330 from gnikonorov/issue_7305 2020-06-12 19:35:38 -03: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
Martin Michlmayr 68572179cb
doc: Fix typos and cosmetic issues 2020-06-11 16:22:47 +08:00
Florian Bruhin e36d5c05c6 doc: Explain indirect parametrization and markers for fixtures 2020-06-10 14:27:45 +02:00
Gleb Nikonorov 95cb7fb676 review feedback 2020-06-10 00:44:22 -04:00
Anthony Sottile aabf03350a
Merge pull request #7326 from xinbinhuang/improve_marker_doc
Remove start_doc_server.sh script
2020-06-09 01:55:30 -07:00
Xinbin Huang c471b382f5 Remove start_doc_server.sh script 2020-06-08 21:01:11 -07: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
Bruno Oliveira c17d50829f
Add pyproject.toml support (#7247) 2020-06-08 10:03:10 -03:00
Gleb Nikonorov 13add4df43 documentation fixes 2020-06-07 15:37:50 -04:00
Gleb Nikonorov 42deba59e7 Update documentation as suggested 2020-06-06 22:34:15 -04:00
Bruno Oliveira ceac6736d7
Fix mention using --rootdir mention inside pytest.ini (not supported) (#6825)
Co-authored-by: Ran Benita <ran@unusedvar.com>
2020-06-06 19:17:40 -03: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
Xinbin Huang 19ad588935
Add reference to builtin markers to doc (#7321)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-06-05 08:10:16 -03:00
Bruno Oliveira be1a2e440e Merge pull request #7301 from pytest-dev/release-5.4.3
Prepare release 5.4.3
2020-06-02 14:19:18 -03:00
Ran Benita 85b5a289f0
warnings: fix missing None in existing hook & add some docs (#7288) 2020-06-02 19:59:25 +03:00
xuiqzy 5517f7264f
Remove doc line that is no longer relevant for Python3-only (#7263)
* Fix typo in capture.rst documentation

Rename ``capfsysbinary`` to ``capsysbinary`` as the former does not exist as far as i can see.

* Make Python uppercase in doc/en/capture.rst

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Remove the sentence entirely

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Ran Benita <ran@unusedvar.com>
2020-06-02 15:56:39 +03:00
Bruno Oliveira 2f406bb9cb
Replace custom flask theme by the official one (#6453)
Ref: #6402
2020-06-01 14:21:08 +02:00
Ronny Pfannschmidt c16ede5ce6
Merge pull request #7255 from gnikonorov/issue_4049
Add new hook pytest_warning_recorded
2020-05-31 12:47:46 +02:00
Maximilian Cosmo Sitter b32f4de891
Issue 7202 - Point development guide to contributing section (#7280) 2020-05-31 09:37:26 +03:00
Ronny Pfannschmidt 54ae27f081
Merge pull request #7252 from symonk/6900-class-per-instance-of-test-docs
document class instantiation for tests inside classes
2020-05-25 19:58:23 +02:00
Gleb Nikonorov 088d400b2d rename pytest_warning_record -> pytest_warning_recorded 2020-05-24 20:43:23 -04:00
Gleb Nikonorov 9ee6550181 Add in a new hook pytest_warning_recorded for warning capture
communication
2020-05-24 19:05:24 -04:00
symonk 5061a47de8 add missing test text to docs 2020-05-24 16:33:17 +01:00
symonk 4f93bc01af update terminology of class individuality as per PR feedback 2020-05-24 16:31:51 +01:00
symonk 568e00af15 fixing up formatting inline with a smaller shell and typos 2020-05-24 11:43:29 +01:00
symonk bad7a0207f document new class instance per test 2020-05-24 11:34:54 +01:00
Florian Dahlitz 62d3577435
Add note about --strict and --strict-markers to references 2020-05-22 16:33:50 +02:00
mcsitter fa6a13a7cc Updated compatible python versions
As indicated on pypi and in the README pytest supports python version 3.8 and 3.9. The documentation should match.
2020-05-20 22:41:52 +02:00
Katrin Leinweber 9bf28853bf
doc: highlight difference between progress percentage & code coverage (#6686) 2020-05-18 20:51:22 +03:00
Ran Benita 3f8200676f logging: remove deprecated --no-print-logs option/ini
This option was deprecated in 5.4.0 and was marked for removal in 6.0.0.
2020-05-17 21:41:38 +03:00
Bruno Oliveira f506682abe
Merge pull request #6919 from nicoddemus/backport-6914 2020-05-16 12:42:15 -03:00
Zac Hatfield-Dodds 6df0b9c41a
Merge pull request #7213 from hrichards/clarify_docs_on_nose_yield-based_tests 2020-05-13 12:38:45 +10:00
Hunter Richards 06b6d5b1d5 Combine all mentions of `yield` into "Unsupported" section 2020-05-11 15:36:08 -05:00
Paweł Wilczyński dbfc629698 #7138 Docs improvement: Apply indirect on particular arguments 2020-05-11 13:26:16 +02:00
Bruno Oliveira e6151cd8d0 Cherry-pick release 5.4.2 2020-05-08 09:03:21 -03:00
Ran Benita 81da5dac48
Merge pull request #7122 from bluetech/matcher-parser
Stop using Python's eval() for -m and -k
2020-05-07 09:23:29 +03:00
Bruno Oliveira 199f45d0a9
Merge pull request #7027 from blueyed/doc-rm-rm 2020-05-06 12:43:51 -03:00
Bruno Oliveira 095a195d71 Improve docs about junit_family warning message
From discussion in #6178
2020-05-02 13:01:15 -03:00
Bruno Oliveira 5c37898949 Fix some typos in the CHANGELOG 2020-05-01 14:39:09 -03:00
Ran Benita a718ad6363 Stop using Python's eval() for -m and -k
Previously, the expressions given to the `-m` and `-k` options were
evaluated with `eval`. This causes a few issues:

- Python keywords cannot be used.

- Constants like numbers, None, True, False are not handled correctly.

- Various syntax like numeric operators and `X if Y else Z` is supported
  unintentionally.

- `eval()` is somewhat dangerous for arbitrary input.

- Can fail in many ways so requires `except Exception`.

The format we want to support is quite simple, so change to a custom
parser. This fixes the issues above, and gives us full control of the
format, so can be documented comprehensively and even be extended in the
future if we wish.
2020-05-01 12:59:06 +03:00
ArtyomKaltovich bef263ee76
update doctests.rst regarding issue #7116
https://github.com/pytest-dev/pytest/issues/7116
2020-04-28 23:04:58 +03:00
Ran Benita 907e29a47b fixtures: deprecate pytest._fillfuncargs function
This function is exposed and kept alive for the oejskit plugin which is
abandoned and no longer works with recent plugins, so let's prepare to
completely remove it.
2020-04-24 18:54:46 +03:00
Ronny Pfannschmidt 244c8e4a13
Merge pull request #6680 from RonnyPfannschmidt/fix-6294-more-docs-for-fromparent
doc: more docs for from_parent
2020-04-10 13:10:40 +02:00
Daniel Hahler 1fd14685c5
doc: document inversed lines with terminal report hooks (#7016)
It was surprising that `tryfirst=True` would not result in lines being
added to the beginning with `pytest_report_header`.
This is due to lines being reversed, and therefore the same applies to
`pytest_report_collectionfinish`.
2020-04-07 08:08:28 +02:00
Daniel Hahler 3a4435fb59
doc: fix/remove leftovers from removing `versionadded` (#7028)
Ref: 9c5da9c (https://github.com/pytest-dev/pytest/pull/5184)
2020-04-07 08:01:50 +02:00
Daniel Hahler 51c1ae89cd doc: remove deprecations from pytest 3
This is in line with 9c5da9c0d, which versionadded instructions.
2020-04-06 07:02:15 +02:00
Alfredo Deza 7d75762de6 Do not use automatic title in fixture reference
It creates odd wording otherwise. Keep the reference, update the title
using Sphinx notation.
2020-04-01 09:55:30 -04:00
Nikolay Kondratyev 285beddf28 Fix documentation typo 2020-03-29 16:55:56 +03:00
Bruno Oliveira f84742d46c
Merge pull request #6980 from nicoddemus/quick-doc-fix
Quick doc fix on xfail reason parameter
2020-03-28 16:11:18 -03:00
Bruno Oliveira c6517e2c3a
Merge pull request #6977 from bluetech/oserror-aliases
Change EnvironmentError, IOError to OSError - they are aliases
2020-03-28 11:32:34 -03:00
Bruno Oliveira 70cbce7ccc Quick doc fix on xfail reason parameter
As per https://github.com/pytest-dev/pytest/pull/6957/files#r399564043
2020-03-28 11:30:15 -03:00
Tim Hoffmann 0e4a44db3b
Better document xfail(condition) (#6957) 2020-03-27 22:46:42 +03:00
Ran Benita a785754523 Change EnvironmentError, IOError to OSError - they are aliases
Since Python 3.3, these are aliases for OSError:
https://docs.python.org/3/whatsnew/3.3.html#pep-3151-reworking-the-os-and-io-exception-hierarchy
2020-03-27 18:40:23 +03:00
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 327ec54248
Doc fixes (#6861) 2020-03-27 02:22:03 +01:00
Lewis Belcher 27341d17fa
Update fixture.rst
Fix up some mangled wording.
2020-03-23 09:02:06 +01:00
Danny Sepler 2d897ad39f Fix reference to the cache fixture 2020-03-14 20:12:52 -04: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
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
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
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
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
Daniel Hahler 9e8540f25f
docs: remove doc/en/links.inc (#6853) 2020-03-06 03:11:24 +01:00
Daniel Hahler 3865f77de3 doc: TestReport: :show-inheritance: 2020-03-05 06:00:11 +01:00
Daniel Hahler a1ad6e3117 doc: fix/revisit _Result (hook wrappers)
- it should not document the deprecated `result`; used the same as
  pluggy documents itself
- add a "hookwrapper" label, that could be used by pluggy (currently it
  links to the section)
- use pluggy's `hookwrappers` label for linking to its documentation
2020-03-05 05:55:04 +01:00
Daniel Hahler 9b32794391 intersphinx_mapping: add pluggy 2020-03-05 05:53:42 +01:00
Daniel Hahler 77adb33ec6 doc: use show-inheritance with warnings, revisit docstrings
Revisits the docstring for `PytestExperimentalApiWarning` and
`PytestUnhandledCoroutineWarning`.
2020-03-05 02:56:18 +01:00
Bruno Oliveira d161bedcee Add an example of how to port the code 2020-03-04 09:23:31 -03:00
Daniel Hahler bd7e33277b
docs: remove tracking through Google Analytics (#6843)
This might not even be monitored by anyone, but if it is useful in
general should probably get replaced with a less controversial provider.
2020-03-03 01:35:14 +01:00
Daniel Hahler 620d457756 doc: add __tracebackhide__ label 2020-03-02 17:08:37 +01:00
Ronny Pfannschmidt 3637d9eb3f followup: add note on from_parent kwargs 2020-03-01 20:34:38 +01:00
Ronny Pfannschmidt 5c1e56d350 docs: from_parent - add minimal before/after example
fixup: fix from_parent version
2020-03-01 20:34:38 +01:00
Bruno Oliveira ff7b5dbbde
Merge pull request #6784 from nicoddemus/deprecate-terminal-writer
Deprecate TerminalReporter.writer
2020-02-28 21:07:02 -03:00
Daniel Hahler f77d606d4e
docs: generate index and add it to globaltoc sidebar (#6808) 2020-02-27 00:34:18 +01:00
Daniel Hahler 2e48c32dea
docs: fix reference to config.cache fixture (#6807) 2020-02-26 01:24:18 +01:00
Stefano Mazzucco 2451716746
Remove reference to old konira plugin from docs (#6819)
The pytest-konira plugin has not seen an update since 2011, moreover
the "project description" on PyPI points to a dubious website that
does not actually correspond to the project and instead redirects to
advertising content.
2020-02-26 01:19:40 +01:00
kpinc eeebcd77dd
doc: add list of fixtures to start of fixture chapter (#6696)
- Add list of fixtures to start of fixture chapter
- Add "fixture" cross ref type
2020-02-22 14:56:19 +01:00
TWood67 b26e60c2da
updated documentation
added a default value so a runtime exception does not occur
2020-02-21 11:45:24 -06:00
Bruno Oliveira 435ad221f9 Deprecate TerminalReporter.writer
Fix #6779
2020-02-20 21:04:49 -03:00
Nathaniel Compton 7c09d88b72
#6289: Add new example to XFAIL documentation (#6685)
Fix #6289

Co-authored-by: Ran Benita <ran234@gmail.com>
2020-02-19 15:04:37 -03:00
Daniel Hahler d18c75baa3
doc: fix test with link to `python_files` (#6741)
Follow-up to b09762d (#6705).

Ref: https://github.com/pytest-dev/pytest/pull/6705#discussion_r379819573
2020-02-16 10:30:25 +01:00
kpinc 9785ee438d
doc: expand first sentence on fixtures into a paragraph (#6742) 2020-02-15 18:35:36 +01:00
Daniel Hahler b09762df27
doc: link to `python_files` from "Assertion Rewriting" (#6705)
Ref: https://github.com/pytest-dev/pytest/issues/6377
Ref: https://github.com/blueyed/pytest/pull/145
2020-02-15 00:32:16 +01:00
Bruno Oliveira e6ea9edffe
Merge pull request #6673 from sscherfke/features
Reverse / fix meaning of "+/-" in error diffs
2020-02-12 15:05:38 -03:00
Ran Benita c9f9664336 Merge branch 'features' into master
The features branch is no more. Development of features is now also done
on master.

See https://github.com/pytest-dev/pytest/pull/6571.
2020-02-12 13:50:02 +02:00
Ran Benita c3e53a072d Switch to new git workflow
Co-Authored-By: Daniel Hahler <git@thequod.de>
2020-02-12 09:49:21 +02:00
Bruno Oliveira 78baa7b575 Merge remote-tracking branch 'upstream/master' into mm
Conflicts:
	src/_pytest/main.py
	src/_pytest/mark/structures.py
	src/_pytest/python.py
	testing/test_main.py
	testing/test_parseopt.py
2020-02-11 19:22:28 -03:00
Ran Benita d33da078a8 Move ExitCode's definition from _pytest.main to _pytest.config
ExitCode is used in several internal modules and hooks and so with type
annotations added, needs to be imported a lot.

_pytest.main, being the entry point, generally sits at the top of the
import tree.

So, it's not great to have ExitCode defined in _pytest.main, because it
will cause a lot of import cycles once type annotations are added (in
fact there is already one, which this change removes).

Move it to _pytest.config instead.

_pytest.main still imports ExitCode, so importing from there still
works, although external users should really be importing from `pytest`.
2020-02-10 23:55:06 +02:00
Stefan Scherfke d59adc61f9 Reverse / fix meaning of "+/-" in error diffs
The convention is "assert result is expected".  Pytest's error diffs now
reflect this. "-" means that sth. expected is missing in the result and
"+" means that there are unexpected extras in the result.

Fixes: #3333
2020-02-10 21:12:37 +01:00
Vladyslav Rachek 9e262038c8
[parametrize] enforce explicit argnames declaration (#6330)
Every argname used in `parametrize` either must
be declared explicitly in the python test function, or via
`indirect` list

Fix #5712
2020-02-06 20:20:25 -03:00
rebecca-palmer c55bf23cbe
doc: s/pytest_mark/pytestmark (#6661) 2020-02-03 08:56:37 +01:00
Hugo van Kemenade c9eeafade5
Fix favicon for Chrome and Opera (#6639)
* Fix favicon for Chrome and Opera

* Delete pytest1favi.ico

Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-01-31 20:56:45 -03:00
Ran Benita a435faad5c Merge branch 'master' into master-to-features 2020-01-31 11:27:06 +02:00
Hugo van Kemenade 55bffb7c15
Fix typo 2020-01-30 18:30:51 +02:00
Daniel Arndt d91459fc75 Reword fixture docs for clarity 2020-01-30 09:32:54 -04:00
Daniel Hahler b5b6e051ed Merge master into features 2020-01-30 02:29:02 +01:00
Daniel Hahler d478e2bbca doc: release-5.3.4
(cherry picked from commit fd1a51a23fa687cf344f3506dff6cde0166faf2c)
2020-01-29 18:28:11 +01:00
Bruno Oliveira 8c41236c66
doc: getting-started.rst: mention "Test" prefix for classes (#6583)
doc: getting-started.rst: mention "Test" prefix for classes
2020-01-29 12:49:49 -03:00
sdementen d848a20563 Extend the incremental marker for parametrize
The incremental marker is adapted to handle properly test classes with parametrize defined at class level.

Fix #3125
2020-01-29 08:25:17 -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