Daniel Hahler
e1f97e41e3
Merge pull request #4872 from blueyed/_ensure_supporting_files
...
cacheprovider: _ensure_supporting_files: remove unused branches
2019-03-02 02:35:07 +01:00
Daniel Hahler
2d2f6cd4fd
cacheprovider: _ensure_supporting_files: remove unused branches
...
It is only called with empty/new dirs since 0385c273
.
2019-03-01 22:51:45 +01:00
Daniel Hahler
4290cacb86
Merge pull request #4864 from blueyed/isort-cfg
...
Add config for isort
2019-03-01 18:44:56 +01:00
Daniel Hahler
db5cc35b44
pytester: unset PYTEST_ADDOPTS
2019-03-01 18:43:17 +01:00
Bruno Oliveira
84555c89de
Merge pull request #4855 from blueyed/pdbcls-attr
...
--pdbcls: improve validation, and allow for "mod:attr.class"
2019-03-01 12:20:29 -03:00
Daniel Hahler
f7a3e001f7
pdb: allow for --pdbclass=mod:attr.class
2019-03-01 15:20:04 +01:00
Daniel Hahler
0d31e852b1
Run isort
2019-03-01 14:24:18 +01:00
Daniel Hahler
9cb71af9e5
_pytest.assertion.rewrite: move _format_explanation import
2019-03-01 14:13:28 +01:00
Daniel Hahler
a51dc0c7ce
Validate type with writing to captured output like without
...
Fixes https://github.com/pytest-dev/pytest/issues/4861 .
2019-03-01 14:03:51 +01:00
Daniel Hahler
a868a9ac13
pdb: validate --pdbcls option
2019-02-28 18:11:58 +01:00
Bruno Oliveira
a0207274f4
-p option now can be used to early-load plugins by entry-point name
...
Fixes #4718
2019-02-24 13:20:17 -03:00
Andras Mitzki
b26b731498
Logging: Make pytest_runtest_logreport() available for logging
...
Signed-off-by: Andras Mitzki <andras.mitzki@balabit.com>
2019-02-22 05:14:44 +01:00
Bruno Oliveira
0395996756
Merge remote-tracking branch 'upstream/master' into release-4.3.0
2019-02-16 14:06:51 +00:00
Bruno Oliveira
986dd84375
LoggingPlugin: Support to customize log_file from hook ( #4752 )
...
LoggingPlugin: Support to customize log_file from hook
2019-02-16 12:01:21 -02:00
Anthony Sottile
68dc433bf5
Merge pull request #4802 from gyermolenko/fix_code_block_in_Node_docstring
...
Fix code-block in Node docstring
2019-02-15 20:09:32 -05:00
Daniel Hahler
6fb7269979
terminal: write_fspath_result: work around py bug
2019-02-15 17:47:00 +01:00
Andras Mitzki
e3824d23bc
LoggingPlugin: Expose setting log_file_handler
...
- This patch allows to set log_file (path) from hook
Signed-off-by: Thomas Hisch
Signed-off-by: Andras Mitzki <andras.mitzki@balabit.com>
2019-02-15 16:05:10 +01:00
Grygorii Iermolenko
80ad448590
Fix code-block in Node docstring
2019-02-15 16:12:10 +02:00
Daniel Hahler
0b1f813c38
Merge pull request #4784 from blueyed/fix-4782
...
collect: python: fix `AssertionError` with broken symlinks
2019-02-14 15:10:14 +01:00
R. Alex Matevish
40cec637d7
Update kwarg for attr.ib to use 'converter' as 'convert' is due to be deprecated
2019-02-14 00:03:41 -08:00
Daniel Hahler
407d4a0cf0
collect: python: fix `AssertionError` with broken symlinks
...
Fixes https://github.com/pytest-dev/pytest/issues/4782 .
2019-02-14 00:18:14 +01:00
Daniel Hahler
7b91952645
Merge master into features
...
Conflicts:
tox.ini
2019-02-13 17:58:16 +01:00
Anthony Sottile
f672b7e39e
Merge pull request #4773 from nicoddemus/remove-py27-py34-deprecation-warning
...
Remove py27 py34 deprecation warning
2019-02-12 21:42:07 -05:00
Anthony Sottile
f0e6bf7604
Merge pull request #4775 from asottile/stdlib
...
Replace flatten() with chain.from_iterable
2019-02-12 21:37:05 -05:00
Bruno Oliveira
e20e376881
Merge pull request #4347 from blueyed/pdb-recursive-capture
...
pdbpp: fix capturing with recursive debugging
2019-02-12 16:53:14 -02:00
Anthony Sottile
f9c1329dab
Replace flatten() with chain.from_iterable
...
flatten is an alias in more-itertools anyway
2019-02-12 06:30:00 -08:00
Bruno Oliveira
b41632e9a8
Revert "Show deprecation message when running under Python 2.7 and 3.4"
...
This reverts commit eb92e57509
.
2019-02-12 10:39:25 -02:00
Danilo Horta
821b6ef2a6
Avoid pkg_resources import at the top-level.
2019-02-11 23:26:35 +00:00
Bruno Oliveira
67dd10de26
Merge pull request #4763 from blueyed/lsof
...
--lsof: suppress stderr
2019-02-11 13:18:40 -02:00
Daniel Hahler
f13935da53
Display --help/--version with ArgumentErrors
2019-02-11 15:49:48 +01:00
Daniel Hahler
61b9246afe
Fix/improve handling of pkg init and test file via args
...
Ref: https://github.com/pytest-dev/pytest/issues/4344#issuecomment-441095934
2019-02-11 15:04:24 +01:00
Daniel Hahler
9feb4941f4
pdb: fix capturing with recursive debugging and pdb++
...
While I think that pdb++ should be fixed in this regard (by using
`pdb.Pdb`, and not `self.__class__` maybe), this ensures that custom
debuggers like this are working.
2019-02-11 14:52:20 +01:00
Daniel Hahler
237f690f8b
--lsof: suppress stderr
...
This can spam a lot of warnings (per invocation), e.g.:
> lsof: WARNING: can't stat() nsfs file system /run/docker/netns/default
Output information may be incomplete.
Or from Travis/MacOS:
> lsof: WARNING: can't stat() vmhgfs file system /Volumes/VMware Shared Folders
> Output information may be incomplete.
> assuming "dev=31000003" from mount table
2019-02-11 14:08:44 +01:00
Daniel Hahler
ed01dc6567
Merge pull request #4652 from blueyed/RunResult-repr
...
Add __repr__ for RunResult
2019-02-09 01:26:24 +01:00
Bruno Oliveira
3a366f451a
Merge pull request #4741 from thisch/refactor_terminalreporter
...
Remove terminal_reporter workaround from logging.py
2019-02-08 21:47:53 -02:00
Daniel Hahler
fc8800c71f
Merge pull request #4722 from fetzerch/ignore_wildcards
...
Add ability to use globs when using --ignore
2019-02-09 00:11:04 +01:00
Daniel Hahler
9bcbf552d6
Add __repr__ for RunResult
2019-02-08 23:41:20 +01:00
Bruno Oliveira
32c6d4f603
Merge pull request #4738 from pstradomski/master
...
Fix "ValueError: Plugin already registered" exceptions when running in build directories that symlink to actual source.
2019-02-08 19:57:14 -02:00
Daniel Hahler
b4b2f58eab
Merge pull request #4747 from blueyed/visit-filter
...
pytest.main: collect: factor out _visit_filter
2019-02-08 22:19:38 +01:00
Daniel Hahler
9c03196e79
Merge master into features
2019-02-08 22:02:29 +01:00
Daniel Hahler
64e8185ff7
Merge master into features
2019-02-08 20:09:09 +01:00
Daniel Hahler
7bb504b807
pytest.main: collect: factor out _visit_filter
2019-02-08 19:28:12 +01:00
Daniel Hahler
913a2da6e5
Fix handling of collect_ignore from parent conftest
...
`_collectfile` should be called on files only.
Fixes https://github.com/pytest-dev/pytest/issues/4592 .
2019-02-08 18:46:43 +01:00
Anthony Sottile
ea732464aa
Merge pull request #4740 from asottile/bugfix_4739
...
Fix `parametrize(... ids=<function>)` when the function returns non-strings
2019-02-07 21:47:33 -08:00
Thomas Hisch
ddbea29c12
Remove terminal_reporter workaround from logging.py
...
The workaround was removed from the logging module by creating python
properties for verbosity related settings in the terminalreporter.
Closes : #4733
2019-02-07 22:52:07 +01:00
Anthony Sottile
4c7ddb8d9b
Fix `parametrize(... ids=<function>)` when the function returns non-strings.
2019-02-07 12:25:59 -08:00
Thomas Hisch
a1fcd6e445
Merge pull request #4734 from thisch/refactor_clilogging
...
Refactor _setup_cli_logging code
2019-02-07 20:15:41 +01:00
Thomas Hisch
7b8fd0cc12
Refactor _setup_cli_logging code
...
Change the indentation in _setup_cli_logging by moving the
self._log_cli_enabled check outside of the _setup_cli_logging method.
2019-02-07 19:39:12 +01:00
Paweł Stradomski
391dc549c0
Add comment on why realpath is needed
2019-02-07 12:56:13 +01:00
Paweł Stradomski
59e6fb94b5
Fix "ValueError: Plugin already registered" exceptions when running in build directories that symlink to actual source.
2019-02-07 02:05:22 +01:00
Zac Hatfield-Dodds
3384ffc6eb
Merge pull request #4725 from nicoddemus/collection-finish
...
Call pytest_report_collectionfinish hook when --collect-only is passed
2019-02-06 12:38:12 -10:00
Bruno Oliveira
e276bd3332
pytest.warns emits a warning on unknown keyword arguments
2019-02-06 19:52:13 -02:00
Ronny Pfannschmidt
429485e621
Merge pull request #4720 from thisch/removesetupclilogging
...
Only call _setup_cli_logging in __init__
2019-02-06 20:05:41 +01:00
Christian Fetzer
2dc2a19db5
Add ability to exclude files matching glob patterns in conftest.py
...
This adds the `collect_ignore_glob` option for `conftest.py` to allow
Unix-style wildcards for excluding files.
2019-02-06 16:49:43 +01:00
Bruno Oliveira
54af0f4c65
Call pytest_report_collectionfinish hook when --collect-only is passed
...
Fix #2895
2019-02-06 12:58:23 -02:00
Christian Fetzer
fc5d4654e5
Add ability to exclude files matching glob patterns with --ignore-glob
...
This adds the `--ignore-glob` option to allow Unix-style wildcards so
that `--ignore-glob=integration*` excludes all tests that reside in
files starting with `integration`.
Fixes : #3711
2019-02-06 11:29:30 +01:00
Bruno Oliveira
19c93d16d1
Do not raise UsageError when "pytest_plugins" is a module
...
Fix #3899
2019-02-06 08:24:22 -02:00
Thomas Hisch
0ce8b910ca
Only call _setup_cli_logging in __init__
...
Supersedes #4719
2019-02-06 07:03:40 +01:00
Anthony Sottile
2264db7f4a
Merge pull request #4682 from arel/parameterize-conditional-raises-document-only
...
Document parametrizing conditional raises
2019-02-02 13:15:26 -08:00
Bruno Oliveira
c3d7340542
Fix setUpClass being called in subclasses that were skipped
...
Fix #4700
2019-01-31 20:24:11 -02:00
Bruno Oliveira
02962fabda
Merge remote-tracking branch 'upstream/features' into merge-master-into-features
2019-01-30 09:37:46 -02:00
Bruno Oliveira
b77d168d58
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2019-01-30 09:37:29 -02:00
Bruno Oliveira
c0e6543b5a
Fix pytest_report_teststatus call to pass new config object ( #4691 )
2019-01-30 09:36:54 -02:00
Bruno Oliveira
1dc16ad77b
Merge pull request #4690 from nicoddemus/deprecated-python-summary
...
Show deprecation message when running under Python 2.7 and 3.4
2019-01-30 09:07:59 -02:00
Anthony Sottile
acece23697
pre-commit autoupdate
2019-01-29 21:13:32 -08:00
Anthony Sottile
e5f823a3a7
fixes for flake8 3.7
2019-01-29 21:11:15 -08:00
Bruno Oliveira
b41dc03930
Merge pull request #4691 from nicoddemus/config-terminal-summary-hook
...
Add config to pytest_terminal_summary hook
2019-01-29 21:11:37 -02:00
Bruno Oliveira
ade5f2c8c5
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2019-01-29 19:36:56 -02:00
Bruno Oliveira
3e0e819158
Merge pull request #4280 from blueyed/trace-quit
...
pdb: improve quitting from debugger
2019-01-29 19:14:20 -02:00
Bruno Oliveira
eb92e57509
Show deprecation message when running under Python 2.7 and 3.4
...
Fix #4627
2019-01-29 19:02:41 -02:00
Bruno Oliveira
7ad499ad76
Merge pull request #4681 from RonnyPfannschmidt/fix-4680-tmppath-is-tmpdir
...
Fix 4680 - `tmp_path` and `tmpdir` now share the same temporary directory
2019-01-29 19:00:56 -02:00
Ronny Pfannschmidt
2d7582bd92
flip around basetemp folder reset to see if it helps on windows
2019-01-29 18:58:00 +01:00
Bruno Oliveira
6c3b86369f
Add config to pytest_terminal_summary hook
...
The docs stated that this hook got the 'config' parameter in 3.5, but the docs
wre probably changed by mistake.
2019-01-29 15:41:13 -02:00
Bruno Oliveira
5b09eb1d74
Add config parameter to pytest_report_teststatus hook
2019-01-28 19:00:50 -02:00
Bruno Oliveira
1c5009c3fb
Handle unittest.SkipTest exception with non-ascii characters
...
Fix #4669
2019-01-28 12:50:04 -02:00
Arel Cordero
fd4289dae0
Adding `does_not_raise` to documentation only
2019-01-27 16:42:10 +00:00
Arel Cordero
977adf1354
Improving sphinx docs based on feedback
2019-01-27 16:41:23 +00:00
Arel Cordero
afe9fd5ffd
Adds `does_not_raise` context manager
...
Addressing issues #4324 and #1830
2019-01-27 16:40:35 +00:00
Ronny Pfannschmidt
c75bd08807
ensure tmp_path is always a realpath
2019-01-27 14:08:43 +01:00
Ronny Pfannschmidt
f7d7555521
fix #4680 - ensure tmpdir and tmp_path are the same
2019-01-27 13:05:34 +01:00
Bruno Oliveira
9905a73ae0
Merge pull request #4511 from jhunkeler/junit-strict
...
Toggle JUnit behavior with INI option
2019-01-24 20:54:32 -02:00
Bruno Oliveira
51dd738b1a
Merge pull request #4673 from kown7/count-tests
...
Count tests
2019-01-24 20:46:29 -02:00
Bruno Oliveira
7ddfc04793
Merge pull request #4665 from nicoddemus/group-warnings-by-message
...
Group warnings by message instead of by test id
2019-01-24 20:00:27 -02:00
wim glenn
2d18546870
resolving report.when attribute should be reliable now
2019-01-24 11:12:59 -06:00
wim glenn
0f546c4670
pytest_terminal_summary uses result from pytest_report_teststatus hook, rather than hardcoded strings
...
Less hacky way to make XPASS yellow markup. Make sure collect reports still have a "when" attribute.
xfail changed to XFAIL in the test report, for consistency with other outcomes which are all CAPS
2019-01-24 10:17:29 -06:00
Kristoffer Nordstroem
8723eb16ea
only print selected if any have been selected
2019-01-24 00:00:29 +01:00
Bruno Oliveira
daf39112e7
Merge pull request #4091 from nicoddemus/setup-methods-as-fixtures-3094
...
Use fixtures to invoke xunit-style fixtures
2019-01-23 19:23:31 -02:00
Bruno Oliveira
9543d1901f
Group warnings by message instead of by test id
2019-01-22 19:42:22 -02:00
Anthony Sottile
92a2c1a9c4
remove and ban py.io.BytesIO, py.process, py.path.local.sysfind
2019-01-21 19:51:16 -08:00
Kristoffer Nordstroem
9f86e83478
count selected tests
2019-01-21 23:56:39 +01:00
Anthony Sottile
0c6ca0da62
Fix usages of py.io.saferepr
2019-01-20 16:36:23 -08:00
Anthony Sottile
095ce2ca7f
Fix linting errors and py references in saferepr.py
2019-01-20 16:36:14 -08:00
Anthony Sottile
dbb6c18c44
copy saferepr from pylib verbatim
...
Copied from b9da2ed6178cd37d4ed6b41f9fa8234dce96973f
2019-01-20 16:30:31 -08:00
Anthony Sottile
ec5e279f93
Remove and ban use of py.builtin
2019-01-20 11:59:48 -08:00
Daniel Hahler
e69b1255d7
Improve quitting from pdb
...
Regarding tests: it merges ``test_pdb_interaction``,
``test_pdb_print_captured_stdout``, and
``test_pdb_print_captured_stderr`` into
``test_pdb_print_captured_stdout_and_stderr`` (clarity and performance,
especially since pexpect tests are slow).
2019-01-20 00:34:16 +01:00
Bruno Oliveira
57bf9d6740
Merge pull request #4654 from AuHau/fix/#4653-Fix_tmp_path_symlink_resolution
...
Fixes #4653 - tmp_path provides real path
2019-01-19 09:41:47 -02:00
Ronny Pfannschmidt
f28b834426
fix #4649 - also transfer markers to keywordmapping
...
as it turns out it is distinct from nodekeywords and behaves completely different
2019-01-18 23:18:51 +01:00
Adam Uhlir
04bd147d46
Fixes #4653 - tmp_path provides real path
2019-01-18 12:54:00 -08:00
Bruno Oliveira
1a04e8903a
Merge pull request #4537 from chdsbd/master
...
Bugfix: monkeypatch.delattr handles class descriptors
2019-01-16 08:09:59 -02:00
Joseph Hunkeler
8967976443
Ensure xml object is viable before testing family type
2019-01-14 22:58:41 -05:00
Joseph Hunkeler
bcacc40775
Update comment text
2019-01-14 22:58:41 -05:00
Joseph Hunkeler
aaa7d36bc9
Change family behavior:
...
* "legacy" is no longer a copy of "xunit1"
* Attempts to use "legacy" will redirect to "xunit1"
* record_xml_attribute is not compatible outside of legacy family
* Replace call to method/override raw() with to_xml()
2019-01-14 22:58:40 -05:00
Joseph Hunkeler
8937e39afd
Raise TypeError instead of NotImplementedError if not list type
2019-01-14 22:58:40 -05:00
Joseph Hunkeler
343430c537
Replace family "old" with "legacy"
2019-01-14 22:58:40 -05:00
Joseph Hunkeler
335cc5d651
Handle backwards-compatiblity
2019-01-14 22:58:40 -05:00
Joseph Hunkeler
2e551c32b6
Add junit_family config option
2019-01-14 22:58:40 -05:00
Joseph Hunkeler
af2ee1e80a
Emit JUnit compatible XML
...
* Remove non-standard testcase elements: 'file' and 'line'
* Replace testcase element 'skips' with 'skipped'
* Time resolution uses the standard format: 0.000
* Tests use corrected XML output with proper attributes
2019-01-14 22:58:40 -05:00
Daniel Hahler
1a358df998
Merge master into features
2019-01-14 17:15:39 +01:00
Anthony Sottile
5bb0be1e24
Merge pull request #4615 from asottile/some_dead_code
...
Remove some dead code
2019-01-14 07:35:21 -08:00
Bruno Oliveira
42bb0b3904
Use a.item() instead of deprecated np.asscalar(a)
...
np.asscalar() has been deprecated in numpy 1.16:
https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rst#new-deprecations
2019-01-14 08:59:09 -02:00
Anthony Sottile
16546b7342
Remove some dead code
...
- I wrote a thing: https://github.com/asottile/dead
- wanted to try it out, there's lots of false positives and I didn't look
through all the things it pointed out but here's some
2019-01-13 20:41:30 -08:00
Bruno Oliveira
3efb26ae7f
Merge pull request #4632 from AnjoMan/dont-rewrite-objects-with-failing-getattr
...
Assertion rewrite breaks for objects that reimplement `__getattr__`
2019-01-11 14:07:22 -02:00
Anton Lodder
3241fc3103
Don't fail if hasattr fails when rewriting assertions
...
When rewriting assertions, pytest makes a call to
`__name__` on each object in a comparision. If one of
the objects has reimplemented `__getattr__`, they could
fail trying to fetch `__name__` with an error other than
`AttributeError`, which is what `hasattr` catches.
In this case, the stack trace for the failed `__getattr__`
call will show up in the pytest output, even though
it isn't related to the test failing.
This change fixes that by catching exceptions
that `hasattr` throws.
2019-01-10 20:45:15 -05:00
Bruno Oliveira
5f16ff3acc
Merge pull request #4212 from RonnyPfannschmidt/doctest-testmod-has-call
...
Doctest: hack in handling mock style objects
2019-01-10 19:13:45 -02:00
Bruno Oliveira
71a745270a
Merge pull request #4607 from oscarbenjamin/long_output
...
Show full repr with assert a==b and -vv
2019-01-10 12:30:46 -02:00
Bruno Oliveira
0f918b1a9d
xunit-style functions and methods are invoked by autouse fixtures
...
Fix #3094 , Fix #517
2019-01-10 12:10:04 -02:00
Ronny Pfannschmidt
a6988aa0b9
fix doctest module when a mock object is around
...
fixes #3456
2019-01-10 12:50:22 +01:00
Daniel Hahler
7ee03e0996
Punctuation [ci skip]
2019-01-09 15:35:52 +01:00
Victor Maryama
df3b5557d1
Reseting entered state in WarningsRecorder (fixes 4617)
2019-01-09 12:51:04 +01:00
Oscar Benjamin
85055a9efe
Show full repr with assert a==b and -vv
2019-01-08 01:25:05 +00:00
Bruno Oliveira
0c4898670c
Add changelog entry and update docs for importorskip
2019-01-05 12:55:39 -02:00
Pedro Algarvio
8b48621687
Allow providing a custom reason for `importorskip`
2019-01-04 18:05:28 +00:00
Jeffrey Rackauckas
1eef53b6fe
Update --collect-only to display test descriptions when ran in verbose mode.
2018-12-29 22:46:46 -08:00
Ronny Pfannschmidt
102ffc69e8
add issue references to the todos
2018-12-21 14:02:38 +01:00
Ronny Pfannschmidt
3947b859dc
fix hookspec parsing
2018-12-21 14:02:38 +01:00
Ronny Pfannschmidt
9f9f6ee48b
remove most of markertransfer
...
keywords are still a big issue
2018-12-21 14:02:38 +01:00
Bruno Oliveira
c378cb4793
Remove support for applying marks to values in parametrize
...
Fix #3082
2018-12-20 16:16:13 -02:00
Bruno Oliveira
a93f41233a
Raise an error if pytest_plugins is defined in a non-top-level conftest.py file
...
Fix #4548
2018-12-19 18:09:47 -02:00
Bruno Oliveira
9138419379
Remove support for '[pytest]' section in setup.cfg file
...
Fix #3086
2018-12-19 17:43:17 -02:00
Bruno Oliveira
0115766df3
Calling fixtures directly is now an error instead of a warning
...
Fix #4545
2018-12-19 09:26:29 -02:00
Bruno Oliveira
8563364d8b
Merge pull request #4542 from nicoddemus/remove-legacy-warn
...
Remove config.warn, Node.warn and pytest_logwarning
2018-12-18 19:11:36 -02:00
Ronny Pfannschmidt
e63c7a13ff
Merge pull request #4327 from ndevenish/approx
...
Let approx() work on more generic sequences
2018-12-17 15:21:12 +01:00
Bruno Oliveira
b7e8171cf8
Merge branch 'features' into remove-legacy-warn
2018-12-17 10:37:31 -02:00
Bruno Oliveira
75e93e5168
Merge pull request #4556 from nicoddemus/idfunc-failure
...
Errors in parametrize id functions now propagate the error instead of issuing a warning
2018-12-17 10:36:15 -02:00
Bruno Oliveira
c6d27d8224
Merge pull request #4555 from nicoddemus/remove-record-xml-pytest-main-str
...
Remove record_xml_property and support for strings in pytest.main()
2018-12-17 10:08:51 -02:00
Bruno Oliveira
84390acccc
Merge pull request #4553 from nicoddemus/junit-durations
...
Rename "junit_time" to "junit_duration_report" option
2018-12-17 10:08:20 -02:00
Bruno Oliveira
1499778d5e
Errors in parametrize id functions now propagate the error instead of issuing a warning
...
Fix #2169
2018-12-14 21:07:54 -02:00
Bruno Oliveira
a7e401656e
Remove support to pass strings to pytest.main()
...
Fix #3085
2018-12-14 15:45:47 -02:00
Bruno Oliveira
6e1b1abfa7
Remove deprecated record_xml_property
...
Fix #4547
2018-12-14 15:10:08 -02:00
Daniel Hahler
8e287c5c77
Merge master into features
2018-12-14 16:44:43 +01:00
Bruno Oliveira
231863b133
Rename "junit_time" to "junit_duration_report" option
...
Just realized while reading the changelog that "junit_time" is not a very good
name, so I decided to open this PR renaming it to "junit_duration_report" which
I believe conveys the meaning of the option better
2018-12-14 12:56:26 -02:00
Bruno Oliveira
fd48cd57f9
Remove config.warn, Node.warn; pytest_logwarning issues a warning when implemented
...
Fix #3078
2018-12-14 12:50:18 -02:00
Bruno Oliveira
1e80a9cb34
Remove pytest_funcarg__ prefix support for defining fixtures
...
Fix #4543
2018-12-13 21:41:38 -02:00
Bruno Oliveira
26d202a7bd
Merge pull request #4529 from aparamon/jxmlunit-call-time
...
Add --junittime=call option
2018-12-13 13:51:06 -02:00
Bruno Oliveira
b390c66dc4
Merge pull request #4292 from blueyed/exit-outcome
...
Derive outcomes.exit.Exit from SystemExit instead of KeyboardInterrupt
2018-12-13 13:43:39 -02:00
Bruno Oliveira
f96e1b6f3e
Merge pull request #4532 from nicoddemus/failure-summary
...
Change -ra to show errors and failures last, instead of first
2018-12-13 10:30:28 -02:00
Bruno Oliveira
5b83417afc
Deprecate the 'message' parameter of pytest.raises
...
Fix #3974
2018-12-12 22:26:30 -02:00
Anthony Sottile
a254ad0436
Raise `TypeError` for `with raises(..., match=<non-None falsey value>)`.
2018-12-12 14:59:22 -08:00
Daniel Hahler
9b3be870dc
Improve comment
2018-12-12 23:29:43 +01:00
Christopher Dignam
f8d31d2400
Bugfix: monkeypatch.delattr handles class descriptors
...
Correct monkeypatch.delattr to match the correct behavior of
monkeypatch.setattr when changing class descriptors
2018-12-12 15:20:24 -05:00
Bruno Oliveira
e3d30f8ebf
Remove deprecated PyCollector.makeitem
...
Fix #4535
2018-12-12 14:15:52 -02:00
Andrey Paramonov
316cca204f
Switch to ini config parameter
2018-12-12 13:19:39 +03:00
Bruno Oliveira
9839ceffe0
Change -ra to show errors and failures last, instead of first
...
Often in large test suites (like pytest's), the -ra summary is very useful
to obtain a list of failures so we can execute each test at once to fix them.
Problem is the default shows errors and failures first, which leads to a lot
of scrolling to get to them.
2018-12-11 20:36:57 -02:00
Bruno Oliveira
a44776ed48
Fix linting
2018-12-11 15:16:11 -02:00
Andrey Paramonov
cfbd387a5d
Add --junittime=call option
2018-12-11 19:29:31 +03:00
Daniel Hahler
bb363c8ff2
Merge pull request #4528 from blueyed/parser-prog
...
argparsing: Parser: allow to forward prog to argparse
2018-12-11 13:33:40 +01:00
Daniel Hahler
ebe0a88226
Merge pull request #4522 from blueyed/p-no-space
...
Handle missing space with -p
2018-12-11 13:33:18 +01:00
Daniel Hahler
3445eae737
argparsing: Parser: allow to forward prog to argparse
...
Ref: https://github.com/pytest-dev/pytest-xdist/pull/388 .
2018-12-11 06:22:35 +01:00
Daniel Hahler
8152b6837e
Merge pull request #4419 from blueyed/set_trace-kwargs
...
pdb: support kwargs with `pdb.set_trace`
2018-12-11 04:28:24 +01:00
Daniel Hahler
0e4e8e00a9
Merge pull request #4504 from feuillemorte/4278_add_cachedir_tag
...
#4278 Added a CACHEDIR.TAG file to the cache directory
2018-12-11 04:27:35 +01:00
Daniel Hahler
7b1cb885c7
Handle missing space with -p
...
This still does not use an actual argument parser, which only gets
instantiated below, and it does not appear to make sense instantiating
it just for this pre-parsing it seems.
`-p` without the required value is being handled before already though,
so it could potentially be passed down from somewhere already?!
Fixes https://github.com/pytest-dev/pytest/issues/3532 .
2018-12-11 04:27:03 +01:00
Daniel Hahler
fc4aa27cae
Derive outcomes.exit.Exception from SystemExit instead of KeyboardInterrupt
...
This is required for properly getting out of pdb, where
KeyboardInterrupt is caught in py36 at least.
Ref: https://github.com/pytest-dev/pytest/issues/1865#issuecomment-242599949
2018-12-11 04:22:33 +01:00
Daniel Hahler
0db5ccb0dd
Merge master into features
2018-12-10 05:42:07 +01:00
Daniel Hahler
f3babf13ea
Ensure that PYTEST_ADDOPTS are valid by themselves
...
Fixes https://github.com/pytest-dev/pytest/issues/4265 .
2018-12-09 21:57:10 +01:00
Daniel Hahler
5ebacc49c6
Harden tests, fix doc/msg
2018-12-05 19:22:44 +01:00
Tomer Keren
8fd60483ef
Don't insert warnings when not in a module
2018-12-05 19:49:54 +02:00
Tomer Keren
7a7ad0c120
Shorten docstring for warn_about_none_ast
2018-12-05 17:47:34 +02:00
Tomer Keren
41031fce2f
Address code review
2018-12-05 17:18:57 +02:00
Tomer Keren
e1e4b226c6
👌 Address code review
...
Edited the changelog for extra clarity, and to fire off auto-formatting
Oddly enough, keeping `filename='{filename!r}'` caused an error while
collecting tests, but getting rid of the single ticks fixed it
Hopefully closes #3191
2018-12-05 10:52:12 +02:00
Tomer Keren
3e6f1fa2db
Simplify warning creation by using ast.parse
...
in py2 it's a ast.Name where in py3 it's a ast.NamedConstant
Fixes namespace by using import from
2018-12-05 10:42:05 +02:00
Tomer Keren
59a11b6a5d
Check for 'assert None' and warn appropriately
...
🐛 Fix warn ast bugs
🐛 Fix inner-ast imports by using importFrom
Alternetavly ast_call_helper could be retooled to use ast.attribute(...)
2018-12-05 10:41:42 +02:00
feuillemorte
d237197de3
#4278 Added a CACHEDIR.TAG file to the cache directory
2018-12-04 13:49:08 +01:00
Anthony Sottile
b88c3f8f82
Deprecate pytest.config
2018-12-03 09:01:42 -08:00
Pedro Algarvio
f4d3ec6370
Logging done late enough might happen when capture already stopped.
2018-12-01 21:40:11 +00:00
Bruno Oliveira
a131f0acf6
Merge pull request #4490 from nicoddemus/remove-cached-setup-add-call
...
Remove cached_setup and Metafunc.addcall
2018-12-01 18:44:51 -02:00
Bruno Oliveira
40b85d7ee8
Remove Metafunc.addcall
...
Fix #3083
2018-12-01 16:41:59 -02:00
Bruno Oliveira
090f7ff449
Remove request.cached_setup
...
Fix #4489
2018-12-01 15:59:44 -02:00
Bruno Oliveira
b05061dcd2
Change deprecation type of --result-log to PytestDeprecationWarning
...
It was decided to deprecate this on a later date (see discussion in #4447 )
2018-12-01 14:29:50 -02:00
Ronny Pfannschmidt
847eacea19
refactor CallInfo constructor magic into named constructor
2018-11-30 13:21:54 +01:00
Ronny Pfannschmidt
7eb28f9eb7
remove yield tests and compat properties
2018-11-30 10:40:13 +01:00
Anthony Sottile
1bba0a9714
Deprecate `raises(..., 'code(as_a_string)')` / `warns(..., 'code(as_a_string)')
2018-11-29 09:34:51 -08:00
Anthony Sottile
e9b2475e29
Display actual test ids in `--collect-only`
2018-11-25 09:33:18 -08:00
Daniel Hahler
5bee396e4b
Merge master into merge-master-into-features
2018-11-24 13:47:10 +01:00
Anthony Sottile
860bc50772
Merge pull request #4451 from asottile/report_correct_filename_raises_exec
...
Fix `raises(..., "code(string)")` frame filename.
2018-11-23 17:29:09 -08:00
Bruno Oliveira
33b877cc01
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-11-23 23:27:41 -02:00
Anthony Sottile
0d5298475d
Fix `raises(..., "code(string)")` frame filename.
2018-11-23 15:01:35 -08:00
Daniel Hahler
be3b8fc9c1
Fix warnings summary header appearing twice
...
Ref: https://github.com/pytest-dev/pytest/pull/4450#discussion_r236017645
Ref: https://github.com/pytest-dev/pytest/pull/4399
2018-11-23 22:47:58 +01:00
Daniel Hahler
0cf45ee18a
Display "short test summary info" after (main) warnings again
...
Fixes https://github.com/pytest-dev/pytest/issues/3952 .
2018-11-23 20:06:09 +01:00
Bruno Oliveira
63f90a2bcd
Merge pull request #4438 from RonnyPfannschmidt/fix-4386-raises-partial-object
...
fix #4386 - restructure construction and partial state of ExceptionInfo
2018-11-23 12:41:14 -02:00
Bruno Oliveira
0b73d6d4f5
Merge pull request #4444 from RonnyPfannschmidt/fix-4386-2
...
fix #4386 - handle uninitialized exceptioninfo in repr/str
2018-11-23 12:40:41 -02:00
Bruno Oliveira
e4ae33d592
Merge pull request #4394 from blueyed/cache-ensure-files
...
cacheprovider: do not write README/.gitignore to existing dir
2018-11-23 09:07:49 -02:00
Bruno Oliveira
f987b368e8
Merge pull request #3776 from alysivji/attrs-n-dataclasses
...
Detailed assert failure introspection for attrs and dataclasses objects
2018-11-22 21:25:35 -02:00
Bruno Oliveira
2eaf3db6ae
Fix docstring indentation (docs env)
2018-11-22 20:21:22 -02:00
Ronny Pfannschmidt
88bf01a31e
fix #4386 - restructure construction and partial state of ExceptionInfo
2018-11-22 21:20:32 +01:00
Ronny Pfannschmidt
abaf496fe8
Merge pull request #4440 from nicoddemus/config-warning-stacklevel
...
Adjust stacklevel of "config" warnings
2018-11-22 21:02:52 +01:00
Ronny Pfannschmidt
b71bd9b300
fix #4386 - handle uninitialized exceptioninfo in repr/str
2018-11-22 20:52:15 +01:00
Bruno Oliveira
9424d88843
Merge pull request #4427 from RonnyPfannschmidt/fix-4425
...
fix 4425: resolve --basetemp to absolute paths
2018-11-22 17:10:10 -02:00
Bruno Oliveira
aa765cf8c2
Adjust stacklevel of "config" warnings
...
Related to #4439
2018-11-22 14:44:01 -02:00
Anthony Sottile
664257c7a3
Color the setup ERROR red
2018-11-22 00:20:13 -08:00
Bruno Oliveira
f1fe9e41ac
Mention PR# in the comment for future reference
2018-11-21 20:49:17 -02:00
Bruno Oliveira
4f5c153d29
Fix call to os.path.abspath: the argument might already be a Path instance
...
There's Path.absolute(), but it is not public, see https://bugs.python.org/issue25012 .
2018-11-21 20:46:08 -02:00
Bruno Oliveira
f180ab3e69
Use os.path.abspath to get absolute path instead of Path.resolve()
...
Unfortunately it seems there is a difference in resolve() behavior depending
on the platform
2018-11-20 20:08:01 -02:00
Daniel Hahler
9ed63c607e
capture: do not overwrite `sys.__stdin__` etc
...
Ref: https://github.com/pytest-dev/pytest/pull/4398#discussion_r234333053
2018-11-20 16:50:15 +01:00
Ronny Pfannschmidt
fc61bdd907
fix 4425: resolve --basetemp to absolute paths
2018-11-20 16:14:50 +01:00
Ronny Pfannschmidt
45c33c4e05
Merge pull request #4379 from hoylemd/improve_minversion_again
...
Use packaging/pkg_resources to check minversion
2018-11-19 21:38:45 +01:00
Anthony Sottile
95c6d591f7
Properly escape \r \n \t bytes
2018-11-19 11:03:52 -08:00
Anthony Sottile
9ca0ab6e2b
Ensure printable manually-specified param(id=...)
2018-11-19 11:03:52 -08:00
Anthony Sottile
8395b9e25d
Require id=... to be a string
...
This was documented before, but never enforced. Passing non-strings could
have strange side-effects and enforcing a string simplifies other
implementation.
2018-11-19 11:03:52 -08:00
Anthony Sottile
3d92d5a659
Make sure parametrize ids are printable
2018-11-19 11:03:52 -08:00
Anthony Sottile
50e3783f07
Merge pull request #4421 from RonnyPfannschmidt/remove-pytest-namespace
...
remove pytest namespace hook
2018-11-19 09:35:33 -08:00
Michael D. Hoyle
1568e38997
Use pkg_resources.parse_version in minver check
...
Use pkg_resources.parse_version in minver check
Add meself to AUTHORS & changelog
Format CHANGELOG
2018-11-19 11:25:27 -05:00
Ronny Pfannschmidt
ba17363d75
remove pytest namespace hook
2018-11-19 14:04:41 +01:00
Daniel Hahler
92a2884b09
pdb: support kwargs with `pdb.set_trace`
...
This handles `header` similar to Python 3.7 does it, and forwards any
other keyword arguments to the Pdb constructor.
This allows for `__import__("pdb").set_trace(skip=["foo.*"])`.
Fixes https://github.com/pytest-dev/pytest/issues/4416 .
2018-11-19 13:04:14 +01:00
Daniel Hahler
2754a13f86
Merge master into features
2018-11-19 12:55:29 +01:00
Nicholas Devenish
1a8d9bf254
Let approx() work on more generic sequences
...
approx() was updated in 9f3122fe
to work better with numpy arrays,
however at the same time the requirements were tightened from
requiring an Iterable to requiring a Sequence - the former being
tested only on interface, while the latter requires subclassing or
registration with the abc.
Since the ApproxSequence only used __iter__ and __len__ this commit
reduces the requirement to only what's used, and allows unregistered
Sequence-like containers to be used.
Since numpy arrays qualify for the new criteria, reorder the checks so
that generic sequences are checked for after numpy arrays.
2018-11-18 20:01:11 +00:00
Daniel Hahler
cdbe2299ec
Merge pull request #4409 from blueyed/str
...
Add Testdir.__str__ to return str(self.tmpdir)
2018-11-18 12:52:31 +01:00
Daniel Hahler
62967b3110
Merge pull request #4367 from blueyed/determine_setup
...
Optimize/revisit determine_setup
2018-11-18 12:52:07 +01:00
Anthony Sottile
10cdae8e38
Merge pull request #4414 from asottile/starred_with_side_effect
...
Fix assertion rewriting involving Starred + side-effects
2018-11-17 16:17:24 -08:00
Daniel Hahler
5fab0ca312
Merge pull request #4403 from RonnyPfannschmidt/fix-4400
...
Fix #4400 - rearrange the handling of yield test warnings/errors
2018-11-18 00:57:44 +01:00
Anthony Sottile
690a63b921
Fix assertion rewriting involving Starred + side-effects
2018-11-17 10:42:51 -08:00
Daniel Hahler
a252e81ced
Fix collection of testpaths with `--pyargs`
...
Fixes https://github.com/pytest-dev/pytest/issues/4405 .
2018-11-17 13:28:10 +01:00
Daniel Hahler
3acfa3abdc
Add Testdir.__str__ to return str(self.tmpdir)
...
I just expected this with `monkeypatch.setenv("PYTHONPATH", str(testdir))`,
wondering why it was not picked up correctly.
`
2018-11-17 13:18:54 +01:00
Ronny Pfannschmidt
950d30e6e0
fix #4400 - rearrange the handling of yield test warnings/errors
2018-11-16 13:49:46 +01:00
Daniel Hahler
0385c27343
cacheprovider: do not write README/.gitignore to existing dir
...
Fixes https://github.com/pytest-dev/pytest/issues/4393 .
2018-11-14 22:09:09 +01:00
Bruno Oliveira
e025974cbd
Merge remote-tracking branch 'upstream/master' into release-4.0.0
2018-11-13 20:58:24 +00:00
Bruno Oliveira
fea09cda6c
Merge pull request #4383 from nicoddemus/merge-master-into-features
...
Merge master into features (about to prepare 4.0)
2018-11-13 18:57:41 -02:00
Daniel Hahler
ba457f5feb
Optimize/revisit determine_setup
2018-11-13 20:14:24 +01:00
Daniel Hahler
ed91d5f086
config: set invocation_dir in the constructor already
...
This allows to make use of it when determining the rootdir etc.
2018-11-13 20:14:24 +01:00
Aly Sivji
b83e97802e
improve failure output
2018-11-13 09:37:02 -06:00
Daniel Hahler
a72eff5a08
Merge pull request #4382 from blueyed/pytester-pop-TOX_ENV_DIR
...
pytester: pop TOX_ENV_DIR from os.environ
2018-11-13 12:42:51 +01:00
Bruno Oliveira
557cb6cffe
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-11-13 09:01:37 -02:00
Daniel Hahler
a6a96469ca
pytester: pop TOX_ENV_DIR from os.environ
...
Closes: https://github.com/pytest-dev/pytest/pull/4378
Fixes: https://github.com/pytest-dev/pytest/issues/4366
2018-11-13 09:02:52 +01:00
Daniel Hahler
27dab4e05f
Fix CallInfo.__repr__ for unfinished call
...
Fixes https://github.com/pytest-dev/pytest/issues/3554
Ref: https://github.com/pytest-dev/pytest/pull/3560
Ref: https://github.com/pytest-dev/pytest/pull/3562
2018-11-13 08:51:43 +01:00
Bruno Oliveira
dc20dedbc7
Change RemovedInPytest4Warnings to errors by default
...
To keep existing tests which emit RemovedInPytest4Warnings running, decided
to go with a command line option because:
* Is harder to integrate an ini option with tests which already use an ini file
* It also marks tests which need to be removed/updated in 4.1, when
RemovedInPytest4Warning and related functionality are removed.
Fix #3737
2018-11-12 16:10:57 -02:00
Aly Sivji
4e99c80425
have tests pass in python37; move to separate file
2018-11-12 11:24:15 -06:00
Aly Sivji
a663f60b05
cr 2/n -- refactor compare eq class
2018-11-12 09:28:47 -06:00
Aly Sivji
e1e81e315e
code review 1/n -- change hasattr to getattr
2018-11-12 09:28:47 -06:00
Aly Sivji
a3e388a73a
Improve changelog
2018-11-12 09:28:47 -06:00
Aly Sivji
1847cc7420
adding docs and cleaning up
2018-11-12 09:28:47 -06:00
Aly Sivji
d42f1e87c3
Add tests for attrs and dataclasses
2018-11-12 09:28:47 -06:00
Aly Sivji
9769bc05c6
moving plugin inside pytest first pass
2018-11-12 09:20:56 -06:00
Bruno Oliveira
b6f16abfe0
Merge pull request #4369 from blueyed/cleanup
...
Cleanup/follow-up to #4319
2018-11-11 11:38:06 -02:00
Daniel Hahler
a6ff5e6bfc
Cleanup/follow-up to #4319
2018-11-11 01:38:34 +01:00
Daniel Hahler
be15ad8d25
Fix collection of direct symlinked files not in python_files
...
Fixes https://github.com/pytest-dev/pytest/issues/4325 .
2018-11-11 01:37:06 +01:00
Daniel Hahler
f551cb9677
Skip Instances with --collect-only
2018-11-10 23:48:02 +01:00
Daniel Hahler
ac8b9c6e9d
Node: do not add "::()" to nodeid
...
Fixes https://github.com/pytest-dev/pytest/issues/4127 .
2018-11-10 23:46:41 +01:00
Daniel Hahler
bee72a6622
Fix nodes._check_initialpaths_for_relpath for dirs
...
Ref: https://github.com/pytest-dev/pytest/issues/4321#issuecomment-436951894
Hardens some of the not many tests affected by this:
1. `testing/test_session.py::test_rootdir_option_arg` displayed:
> root/test_rootdir_option_arg2/test_rootdir_option_arg.py
2. `test_cmdline_python_namespace_package` displayed "hello/" prefix for:
> hello/test_hello.py::test_hello
> hello/test_hello.py::test_other
2018-11-09 13:16:59 +01:00
Daniel Hahler
1b260a844f
Merge branch 'master' into features
2018-11-09 12:49:55 +01:00
Daniel Hahler
a507f44465
cache_dir: use $TOX_ENV_DIR/ prefix if set
...
Fixes https://github.com/pytest-dev/pytest/issues/4270
2018-11-09 05:29:28 +01:00
Daniel Hahler
feccf532d2
doc: improve runpytest_subprocess
2018-11-09 02:03:44 +01:00
Daniel Hahler
c1bde8e0a2
minor: check bool before function call
2018-11-09 01:37:51 +01:00
Daniel Hahler
560c055b09
Session._collect: use reversed parts
2018-11-09 01:36:20 +01:00
Daniel Hahler
401a3cd1bc
minor: improve FixtureDef.__repr__
...
Ref: https://github.com/pytest-dev/pytest/pull/4105#pullrequestreview-163486766
2018-11-09 01:27:18 +01:00
Bruno Oliveira
423e19909e
Merge pull request #4307 from fzarifian/fzarifian-pr4304
...
#4304 the stepwise plugin must be blocked on cacheprovider plugin block request
2018-11-08 20:42:04 -02:00
Daniel Hahler
3137c89cf1
Fix/improve handling of chdir with no-args and testpaths
...
Fixes https://github.com/pytest-dev/pytest/issues/4332 .
2018-11-08 17:50:45 +01:00
Daniel Hahler
9d838fa861
Merge branch 'master' into features
...
Conflicts:
src/_pytest/main.py
2018-11-08 02:48:59 +01:00
Daniel Hahler
91404db284
Fix TypeError in report_collect with _collect_report_last_write
...
`_collect_report_last_write` might be None, when `pytest_collection` was
not called before. Not sure if this indicates another problem, but it
can be reproduced with `testing/test_collection.py::TestCollector::()::test_getcustomfile_roundtrip`.
Fixes https://github.com/pytest-dev/pytest/issues/4329
2018-11-07 23:42:02 +01:00
Daniel Hahler
827573c049
cleanup, TODO: use _node_cache
2018-11-07 20:14:07 +01:00
Daniel Hahler
6fce1f0ac7
pkg_roots per session
2018-11-07 20:06:35 +01:00
Daniel Hahler
bbb9d72c13
remove paths/parts
2018-11-07 19:36:19 +01:00
Daniel Hahler
f8b944dee0
pkg_roots
2018-11-07 19:35:25 +01:00
Daniel Hahler
134b103605
XXX: revert _collect_seen_pkgdirs
2018-11-07 11:01:39 +01:00
Daniel Hahler
fa35f650b5
Fix handling of duplicate args with regard to Python packages
...
Fixes https://github.com/pytest-dev/pytest/issues/4310 .
2018-11-07 10:06:09 +01:00
Daniel Hahler
cb57159e01
Handle os.chdir() during collection
2018-11-05 23:18:47 +01:00
Anthony Sottile
176d27440c
Merge pull request #4308 from asottile/compare_versions_with_loose_version
...
Don't string-compare version numbers
2018-11-05 12:42:26 -08:00
Ronny Pfannschmidt
f521f5e012
move the _bestrelpathcache to session
2018-11-05 21:07:21 +01:00
Fabien ZARIFIAN
5f61f0d2cb
Update __init__.py
...
As mentionned by @RonnyPfannschmidt, use set_blocked on module stepwise (and it's brother pytest_stepwise like consider_pluginarg method does)
2018-11-05 10:51:15 +01:00
Anthony Sottile
a4819844a4
Use unicode/bytes literals instead of calls
2018-11-04 17:43:24 -08:00
Anthony Sottile
85a3333824
Don't string-compare version numbers
2018-11-04 17:31:48 -08:00
Fabien ZARIFIAN
1793ac38a9
Update __init__.py
2018-11-05 00:21:12 +01:00
Fabien ZARIFIAN
c55ca155e9
Update __init__.py
...
#4304
2018-11-04 21:55:56 +01:00
Bruno Oliveira
d1c9c54571
Merge pull request #4297 from nicoddemus/release-3.10.0
...
Release 3.10.0
2018-11-04 12:25:30 -03:00
Bruno Oliveira
6befdf8b46
Merge remote-tracking branch 'upstream/master' into release-3.10.0
2018-11-03 13:42:20 +00:00
Daniel Hahler
e61e81a7b5
Make debugging's pytest_configure re-entrant
...
This is relevant when using runpytest in-process.
Fixes:
E def test_1(testdir):
E testdir.runpytest()
E > __import__('pdb').set_trace()
E
E ../../test_trace_after_runpytest.py:3:
E …/Vcs/pytest/src/_pytest/debugging.py:81: in set_trace
E tw = _pytest.config.create_terminal_writer(cls._config)
E
E config = None, args = (), kwargs = {}, tw = <py._io.terminalwriter.TerminalWriter object at 0x7f1097088160>
E
E def create_terminal_writer(config, *args, **kwargs):
E """Create a TerminalWriter instance configured according to the options
E in the config object. Every code which requires a TerminalWriter object
E and has access to a config object should use this function.
E """
E tw = py.io.TerminalWriter(*args, **kwargs)
E > if config.option.color == "yes":
E E AttributeError: 'NoneType' object has no attribute 'option'
2018-11-02 18:25:01 +01:00
Daniel Hahler
023e1c78df
paths: use set and isdisjoint
...
Time: 5.36s => 4.85s (before rebase: 4.45s => 3.55s)
2018-11-02 17:43:04 +01:00
Daniel Hahler
6ffa347c77
Handle dirs only once
...
Time: 5.73s/5.88s => 5.36s
(Before rebase: 4.86s => 4.45s)
2018-11-02 17:43:04 +01:00
Anders Hovmöller
2b50911c9d
Minor refactor for readability
...
Time: 5.73s => 5.88s/5.82s
2018-11-02 17:42:53 +01:00
Anders Hovmöller
a41820fbf0
collection: performance: use optimized parts function
...
Time: 8.53s => 5.73s
2018-11-02 17:42:53 +01:00
Bruno Oliveira
21725e9304
Merge pull request #4285 from kchmck/fix-4046
...
Fix problems with running tests in package `__init__` files (#4046 )
2018-11-02 08:26:07 -03:00
Bruno Oliveira
48f52b1be0
Merge pull request #4279 from williamjamir/improve-warning-msg
...
Improve the warning message for the implicitly str conversion
2018-11-02 08:22:15 -03:00
Daniel Hahler
e30f7094f3
python: collect: ignore exceptions with isinstance
...
Fixes https://github.com/pytest-dev/pytest/issues/4266 .
2018-11-01 22:14:13 +01:00
Mick Koch
5ac4eff09b
Fix __init__.py as argument also including other package files
2018-11-01 13:10:52 -04:00
Daniel Hahler
d65f300988
Move handling of duplicate files
...
This removes the hack added in https://github.com/pytest-dev/pytest/pull/3802 .
Adjusts test:
- it appears to not have been changed to 7 intentionally.
- removes XXX comment, likely not relevant anymore since 6dac7743
.
2018-11-01 13:06:36 -04:00
Bruno Oliveira
f2cebce2eb
Merge pull request #4272 from blueyed/cache-non-default
...
cacheprovider: display cachedir also in non-verbose mode if customized
2018-11-01 12:19:21 -03:00
Daniel Hahler
a192e6b430
Merge pull request #4247 from blueyed/lru
...
_getconftestmodules: use functools.lru_cache
2018-11-01 15:55:38 +01:00
Daniel Hahler
ce1cc3dddb
_getconftestmodules: use functools.lru_cache
...
Also renames `_path2confmods` to `_dirpath2confmods` for clarity (it is
expected to be a dirpath in `_importconftest`).
Uses an explicit maxsize, since it appears to be only relevant for a
short period [1].
Removes the lru_cache on _getconftest_pathlist, which makes no
difference when caching _getconftestmodules, at least with the
performance test of 100x10 files (#4237 ).
1: https://github.com/pytest-dev/pytest/pull/4237#discussion_r228528007
2018-10-31 23:17:05 +01:00
William Jamir Silva
5404246e64
Improve the warning message for the implicitly str conversion
...
Signed-off-by: William Jamir Silva <williamjamir@gmail.com>
2018-10-31 16:19:10 -03:00
Daniel Hahler
e0038b82f7
pdb: improve msg about output capturing with set_trace
...
Do not display "IO-capturing turned off/on" when ``-s`` is used to avoid
confusion.
2018-10-31 17:09:01 +01:00
Bruno Oliveira
0fea71a4f5
Merge pull request #4164 from RonnyPfannschmidt/nowarn-session-attributes
...
don`t parse compat properties as fixtures
2018-10-31 12:52:52 -03:00
Ronny Pfannschmidt
da04ff52e4
ignore _CompatProperty when parsing fixtures
...
this avoid triggering the warnings when parsing the session node as session plugin
2018-10-31 15:01:41 +01:00
Daniel Hahler
ff04a1fb09
Merge pull request #4267 from nicoddemus/tmpdir-4262
...
Fix access denied error when deleting a stale temporary directory
2018-10-31 00:25:13 +01:00
Daniel Hahler
1f1d4aaf68
cacheprovider: display cachedir also in non-verbose mode if customized
2018-10-30 23:09:54 +01:00
Bruno Oliveira
f20eeebde9
Fix access denied error when deleting a stale temporary directory
...
Fix #4262
2018-10-30 15:35:53 -03:00
Bruno Oliveira
46ec0ec43a
Merge pull request #4264 from scop/spelling2
...
Spelling and grammar fixes
2018-10-30 08:24:01 -03:00
Ville Skyttä
a035c89ea7
Spelling fix
2018-10-30 09:38:55 +02:00
Daniel Hahler
40228fce5a
collection: _recurse: skip __pycache__
2018-10-30 02:34:32 +01:00
Ville Skyttä
22ab737243
Spelling and grammar fixes
2018-10-29 23:45:45 +02:00
Anthony Sottile
0d1f142b1c
Swallow warnings during anonymous compilation of source
2018-10-29 08:38:10 -07:00
Anthony Sottile
8c475a45bb
Unrelated cleanups of source.py
2018-10-28 16:43:17 -07:00
Bruno Oliveira
3b7fbcd47f
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-27 14:29:01 -03:00
Ronny Pfannschmidt
9fe871016d
Merge pull request #4147 from davidszotten/stepwise
...
Stepwise
2018-10-27 15:05:05 +02:00
Ankit Goel
1d09e1d8ce
Merge pull request #4248 from jdufresne/binary-type
...
Remove use of unnecessary compat shim, six.binary_type
2018-10-27 00:03:16 +05:30
Bruno Oliveira
d59786fcc4
Merge pull request #4222 from RonnyPfannschmidt/pathlib-fixes
...
handle race condition when creation and deletion of a numbered dir overlap
2018-10-26 14:36:43 -03:00
Daniel Hahler
dcdf86ef5b
python: collect: revisit
2018-10-26 16:06:37 +02:00
Jon Dufresne
167e9b954a
Remove use of unnecessary compat shim, six.binary_type
...
The type `bytes` is available on all supported Python versions. On
Python 2.7, it is an alias of str, same as six.binary_type.
Makes the code slightly more forward compatible.
2018-10-26 06:27:50 -07:00
Daniel Hahler
9cde67c09c
Merge pull request #4224 from blueyed/_getconftestmodules
...
_getconftestmodules: avoid isfile()/dirpath()
2018-10-26 14:44:46 +02:00
Ronny Pfannschmidt
ae2fc27799
handle test folder cleanup being unable to create a cleanup lock
2018-10-26 14:31:54 +02:00
Bruno Oliveira
8d0e1a99e4
Merge pull request #4241 from blueyed/move-duplicates
...
Move handling of duplicate files
2018-10-26 08:07:48 -03:00
Ronny Pfannschmidt
ce0b0518c7
fix #4243 - support positional argument stacklevel on python2
2018-10-26 09:01:25 +02:00
Anthony Sottile
777e9e1e17
Merge remote-tracking branch 'origin/master' into merge-master
2018-10-25 18:00:39 -07:00
Daniel Hahler
e041823643
Move handling of duplicate files
...
This removes the hack added in https://github.com/pytest-dev/pytest/pull/3802 .
Adjusts test:
- it appears to not have been changed to 7 intentionally.
- removes XXX comment, likely not relevant anymore since 6dac7743
.
2018-10-25 20:48:08 +02:00
Daniel Hahler
63691f5656
_getconftestmodules: avoid isfile()/dirpath()
...
Ref: https://github.com/pytest-dev/pytest/issues/2206#issuecomment-432623646
2018-10-25 20:25:07 +02:00
Daniel Hahler
0dc6cb298e
Move lru_cache wrapper to compat
...
Ref: https://github.com/pytest-dev/pytest/pull/4227#discussion_r228060373
2018-10-25 18:20:36 +02:00
Daniel Hahler
ede3a4e850
pytest_{enter,leave}_pdb: pass through pdb instance
2018-10-25 13:28:24 +02:00
Daniel Hahler
a4ea66cb1f
pdb: resume capturing after `continue`
...
After `pdb.set_trace()` capturing is turned off.
This patch resumes it after using the `continue` (or `c` / `cont`)
command.
Store _pytest_capman on the class, for pdbpp's do_debug hack to keep it.
Without this, `debug …` would fail like this:
/usr/lib/python3.6/cmd.py:217: in onecmd
return func(arg)
.venv/lib/python3.6/site-packages/pdb.py:608: in do_debug
return orig_do_debug(self, arg)
/usr/lib/python3.6/pdb.py:1099: in do_debug
sys.call_tracing(p.run, (arg, globals, locals))
/usr/lib/python3.6/bdb.py:434: in run
exec(cmd, globals, locals)
/usr/lib/python3.6/bdb.py:51: in trace_dispatch
return self.dispatch_line(frame)
/usr/lib/python3.6/bdb.py:69: in dispatch_line
self.user_line(frame)
/usr/lib/python3.6/pdb.py:261: in user_line
self.interaction(frame, None)
.venv/lib/python3.6/site-packages/pdb.py:203: in interaction
self.setup(frame, traceback)
E AttributeError: 'PytestPdb' object has no attribute '_pytest_capman'
- add pytest_leave_pdb hook
- fixes test_pdb_interaction_capturing_twice: would fail on master now,
but works here
2018-10-25 13:28:24 +02:00
Anthony Sottile
2368fbb63c
Apply reorder-python-imports to all files
2018-10-25 00:01:29 -07:00
Ronny Pfannschmidt
f6dfca7182
Merge pull request #4229 from nicoddemus/fix-warning-location
...
Show node that originated a warning in the warnings summary
2018-10-25 08:26:01 +02:00
Ronny Pfannschmidt
65b97c2f41
Merge pull request #4227 from blueyed/_getconftest_pathlist-lru
...
Use functools.lru_cache with _getconftest_pathlist
2018-10-25 08:12:51 +02:00
Bruno Oliveira
1786ad16a7
functools.lru_cache does not exist on Python 2, apply for Python 3 only
2018-10-24 18:59:54 -03:00
Daniel Hahler
2cf4c67e45
doc: fix caplog: s/methods/properties/
2018-10-24 23:57:11 +02:00
Bruno Oliveira
2ad43ee442
Show node that originated a warning in the warnings summary
...
Fix #4221
2018-10-24 18:49:53 -03:00
Daniel Hahler
57caa4e25e
Fix flake8: os imported, but unused
...
Likely due to b6fa4e24
.
2018-10-24 23:43:41 +02:00
Bruno Oliveira
b6fa4e248f
Merge pull request #4028 from asottile/revert_breakpoint_code
...
Revert patching of breakpointhook as it appears to do nothing
2018-10-24 17:50:19 -03:00
Daniel Hahler
eee8201e4f
Merge remote-tracking branch 'origin/master' into merge-master
2018-10-24 22:36:34 +02:00
Daniel Hahler
d40cd3ec6b
Use functools.lru_cache with _getconftest_pathlist
...
For pytest's own suite the `cache_info()` looks as follows:
> session.config._getconftest_pathlist.cache_info()
CacheInfo(hits=231, misses=19, maxsize=None, currsize=19)
While it does not really make a difference for me this might help with
larger test suites / the case mentioned in
https://github.com/pytest-dev/pytest/issues/2206#issuecomment-432623646 .
2018-10-24 18:22:30 +02:00
Daniel Hahler
f8f4c16020
TerminalWriter: write "collecting" msg only once every 0.1s
...
Running `pytest -k doesnotmatch` on pytest's own tests takes ~3s with
Kitty terminal for me, but only ~1s with `-q`.
It also is faster with urxvt, but still takes 2.2s there.
This patch only calls `report_collect` every 0.1s, which is good enough
for reporting collection progress, and improves the time with both Kitty
and urxvt to ~1.2s for me.
2018-10-24 16:48:35 +02:00
Daniel Hahler
b51ee48f78
minor: remove unused _shutil_rmtree_remove_writable
2018-10-23 17:36:22 +02:00
Daniel Hahler
fadac0ffc0
Fix "Plugin already registered" error with symlinks
...
Fixes https://github.com/pytest-dev/pytest/issues/4174 .
2018-10-23 10:15:23 +02:00
Anthony Sottile
cb39bd0651
Fixes for flake8 master
2018-10-22 08:50:00 -07:00
Ankit Goel
cd72e23f3f
Merge pull request #4207 from nicoddemus/recursive-dep-fixtures
...
Improve error message when a recursive dependency between fixtures is detected
2018-10-20 22:19:21 +05:30
Bruno Oliveira
7bb51b8ceb
Issue a warning when a fixture named 'request' is collected
...
Fix #611
2018-10-20 12:09:44 -03:00
Bruno Oliveira
b9990f77ff
Merge pull request #4204 from vbarbaresi/3340_log_hooks
...
Fix logging usage in hooks pytest_sessionstart/finish
2018-10-20 11:36:06 -03:00
Bruno Oliveira
02ae7d8531
Improve error message when a recursive dependency between fixtures is detected
...
Fix #2909
2018-10-20 09:44:42 -03:00
Bruno Oliveira
f947cb2613
Merge remote-tracking branch 'upstream/features' into davidszotten/stepwise
2018-10-20 09:18:02 -03:00
Vincent Barbaresi
db106d6085
Fix logging usage in hooks pytest_sessionstart/finish #3340
2018-10-20 09:55:10 +02:00
Bruno Oliveira
2abd005cc9
Merge pull request #4195 from nicoddemus/issue-3691
...
Use safe_str() to format warning message about unicode in Python 2
2018-10-19 07:18:29 -03:00
Anthony Sottile
dc0b4efffa
Merge pull request #4196 from nicoddemus/better-signature-error-msg-4026
...
Improve error message when it is not possible to determine a function's signature
2018-10-18 18:56:55 -07:00
Bruno Oliveira
18035211f5
Use safe_str() to format warning message about unicode in Python 2
...
Fix #3691
2018-10-18 21:56:17 -03:00
Anthony Sottile
61080da89d
Merge pull request #4192 from asottile/fix_recwarn_stacklevel
...
Fix filename reported by `warnings.warn` when using `recwarn` under python2.
2018-10-18 16:22:00 -07:00
Bruno Oliveira
ac5704290f
Improve error message when it is not possible to determine a function's signature
...
Fix #4026
2018-10-18 20:06:43 -03:00
Bruno Oliveira
b432f1207c
Merge pull request #4190 from nicoddemus/merge-master-into-features
...
Merge master into features
2018-10-18 19:23:16 -03:00
Anthony Sottile
cdd0e18ca8
Emulate resetting the warnings registry for python 2.x
2018-10-18 10:43:05 -07:00
Ankit Goel
1b51497936
[WIP] Update warning stacklevel when wrapping warnings.warn
2018-10-18 02:36:41 +00:00
Sven-Hendrik Haase
f694d8d6ad
Make --color more colorful
2018-10-18 03:56:58 +02:00
David Szotten
e478f66d8b
cache is set by the cacheprovider
2018-10-17 21:17:54 +01:00
Ronny Pfannschmidt
cc335d44a0
fix #4179 - bring back the current testrun symlink
2018-10-17 20:43:27 +02:00
Anthony Sottile
ab8907f6f5
s/comparision/comparison/g [ci skip]
2018-10-16 17:23:29 -07:00
Bruno Oliveira
ee0a306ee4
Merge remote-tracking branch 'upstream/features' into merge-features-into-master
2018-10-16 17:41:27 -03:00
Ankit Goel
f858177495
Merge pull request #4167 from vbarbaresi/3533_junit_escape_skipped
...
Fix #3533 : properly escape raw XML object
2018-10-16 21:10:42 +05:30
Bruno Oliveira
54b8ad4554
Merge pull request #4159 from thisch/subclassedfile
...
Increase required verbosity level for debug output
2018-10-16 10:41:27 -03:00
Vincent Barbaresi
f55ded20a9
fix #3533 : properly escape raw XML object
...
Using string formatting with the raw escaped object lead to string evaluation
"<py._xmlgen.raw object>"
Format the unescaped string first, then use the XML escape method as a last step.
2018-10-16 14:46:39 +02:00
David Szotten
d67d189d00
grammar
2018-10-15 20:04:39 +01:00
David Szotten
e773c8ceda
linting
2018-10-15 20:04:39 +01:00
David Szotten
63c01d1541
update for builtin plugin
2018-10-15 20:04:39 +01:00
David Szotten
c56d7ac40e
move files into the pytest file structure
2018-10-15 20:04:39 +01:00
Thomas Hisch
e8c220b9bd
Increase required verbosity level for debug output
...
To show the subclassed file in legacy test suits in the runtest output
you have to set the verbosity level to at least "-vv" now.
Closes #3211
2018-10-15 20:38:32 +02:00
Bruno Oliveira
9646a1cd7a
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-15 12:55:28 -03:00
Ankit Goel
141c51f0cb
Merge pull request #4145 from labcodes/4098
...
Add returncode argument to pytest.exit
2018-10-15 11:04:11 +05:30
Anthony Sottile
2e42d937dc
Display the filename when encountering `SyntaxWarning`.
...
```console
$ cd t && rm -rf __pycache__ && pytest t.py -q -c /dev/null; cd ..
. [100%]
=============================== warnings summary ===============================
<unknown>:2: DeprecationWarning: invalid escape sequence \.
-- Docs: https://docs.pytest.org/en/latest/warnings.html
1 passed, 1 warnings in 0.01 seconds
```
```console
$ cd t && rm -rf __pycache__ && pytest t.py -q -c /dev/null; cd ..
. [100%]
=============================== warnings summary ===============================
/tmp/pytest/t/t.py:2: DeprecationWarning: invalid escape sequence \.
'\.wat'
-- Docs: https://docs.pytest.org/en/latest/warnings.html
1 passed, 1 warnings in 0.01 seconds
```
2018-10-14 16:11:47 -07:00
Jose Carlos Menezes
27d932e882
Fix order of parameters when raising Exit exception
2018-10-14 18:48:32 -03:00
Jose Carlos Menezes
40091ec2c7
Update pytest.exit docstring
2018-10-14 18:44:53 -03:00
Jose Carlos Menezes
76fb9970c8
Check if returncode is not None before assigning test return code
2018-10-14 18:43:48 -03:00
Jose Carlos Menezes
d32f2c5c14
Change Exit.__init__ params order to keep backward compatibility
2018-10-14 18:42:55 -03:00
Jose Carlos Menezes
d4dfd526c1
Update pytest.exit docstring
2018-10-14 18:01:47 -03:00
Jose Carlos Menezes
836c9f82f1
Set test session exitstatus value from Exit excetion return code
2018-10-14 16:39:43 -03:00
Jose Carlos Menezes
46d6a3fc27
Pass returncode to Error exception when creating instance
2018-10-14 16:36:53 -03:00
Ronny Pfannschmidt
1dfa303b1e
fix #4135 - handle symlinks in tmp path cleanup
2018-10-14 21:20:34 +02:00
Jose Carlos Menezes
d7be039f1b
Add returncode argument to pytest.exit
...
If the argument is not None, it'll raise a SystemExit exception to
cleanly exit pytest.
2018-10-14 12:26:31 -03:00
Daniel Hahler
d6832a8b56
Merge pull request #4133 from blueyed/pdb-quit
...
pdb: handle quitting in post_mortem
2018-10-14 11:29:09 +02:00
Daniel Hahler
3bfaa8ab84
Merge pull request #4132 from blueyed/pdb-internal-dupe
...
Do not print (duplicate) INTERNALERROR with --pdb.
2018-10-14 11:25:35 +02:00
Bruno Oliveira
9fb305b17b
Merge pull request #4086 from jeffreyrack/4063-exclude-0-durations
...
Exclude durations that are 0.00 seconds long.
2018-10-13 22:16:04 -03:00
Daniel Hahler
86c7dcff68
pdb: handle quitting in post_mortem
...
`help quit` in pdb says:
> Quit from the debugger. The program being executed is aborted.
But pytest would continue with the next tests, often making it necessary
to kill the pytest process when using `--pdb` and trying to cancel the
tests using `KeyboardInterrupt` / `Ctrl-C`.
2018-10-14 00:05:45 +02:00
Daniel Hahler
7268462b33
Resolve symlinks for args
...
This fixes running `pytest tests/test_foo.py::test_bar`, where `tests`
is a symlink to `project/app/tests`: previously
`project/app/conftest.py` would be ignored for fixtures then.
2018-10-13 23:59:05 +02:00
Daniel Hahler
448830e656
Do not print INTERNALERROR with --pdb
...
This gets printed by the terminal reporter already, and currently
results in the same error being displayed twice, e.g. when raising an
`Exception` manually from `pytest.debugging.pytest_exception_interact`.
2018-10-13 23:56:34 +02:00
Bruno Oliveira
3683d92c53
Adjust the 'durations hidden' message
2018-10-13 18:40:32 -03:00
Jeffrey Rackauckas
7a271a91b0
Fix rounding error when displaying durations in non-verbose mode.
2018-10-13 12:55:17 -07:00
Jeffrey Rackauckas
47f5c29002
Update messaging for --durations when not in verbose mode.
2018-10-13 12:51:04 -07:00
Daniel Hahler
ee54fb9a6b
pytester: use EXIT_INTERRUPTED
2018-10-13 17:06:40 +02:00
Daniel Hahler
10ddc466bf
minor: typo and code style
2018-10-13 17:06:40 +02:00
Bruno Oliveira
24c83d725a
Merge pull request #4129 from nicoddemus/merge-master-into-features
...
Merge master into features (prepare for 3.9)
2018-10-13 12:05:54 -03:00
Bruno Oliveira
29d5849519
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-13 08:50:32 -03:00
Bruno Oliveira
ef97121d42
Removed unused ConftestImportFailure.__str__ method
2018-10-12 10:57:13 -03:00
Bruno Oliveira
2cb3534679
Move filter_traceback to _pytest._code
2018-10-12 10:19:50 -03:00
Bruno Oliveira
8e11fe5304
Improve tracebacks for ImportErrors in conftest.py files
...
Fix #3332
2018-10-12 10:10:55 -03:00
Bruno Oliveira
36dc671843
New ExceptionInfo.getrepr 'chain' parameter to be able to suppress chained exceptions
2018-10-12 10:08:55 -03:00
Bruno Oliveira
933de16fe4
Merge pull request #3988 from RonnyPfannschmidt/tmpdir-port-pathlib
...
Tmpdir port pathlib
2018-10-12 08:33:47 -03:00
Bruno Oliveira
e8348a1d12
Merge pull request #4077 from nicoddemus/short-usage-errors
...
Improve internal error messages
2018-10-12 08:18:07 -03:00
Ronny Pfannschmidt
4736b2bdfb
address review comments
2018-10-11 20:48:30 +02:00
Anthony Sottile
8ecdd4e9ff
Merge pull request #4104 from asottile/deprecated_call_match
...
Implement pytest.deprecated_call with pytest.warns
2018-10-11 08:20:13 -07:00
Daniel Hahler
b3940666a7
Merge pull request #4103 from blueyed/conftest
...
conftest: optimize _getconftestmodules
2018-10-11 13:52:48 +02:00
Ronny Pfannschmidt
16e2737da3
implement tmp_path_factory and deprecate pytest.ensuretemp as intended
2018-10-11 09:41:37 +02:00
Ronny Pfannschmidt
36c2a101cb
add missing docstring
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
ebd597b2fd
use the constant for lock timeouts
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
94829c391b
make tmpdir env cleanup idempotent
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
b82d6f7a0b
pytester: use per test tmproot
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
4a436b5470
resolve in code review commments
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
3036914097
sort out rmtree expectations
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
2831cb9ab5
unify paths.py and pathlib.py
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
85cc9b8f12
move all the things into _pytest.pathlib
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
fed4f73a61
ignore rmtree errors
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
d76fa59b35
fix lock timeouts for good this time
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
2532dc1dbb
fix up lock consideration argument
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
642cd86dd1
shape up removal and lock destruction
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
b3a5b0ebe1
remove path from exposure
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
8b4a29357e
fix typo
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
ab3637d486
implement cleanup for unlocked folders
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
66a690928c
bring in purepath and fix an assertion
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
8e00280fc1
fix linting
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
d053cdfbbb
factor out max and iterate on locks and cleanups
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
2e39fd89d1
add python27 support by using reduce instead of max
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
b48e23d54c
port interals of tmpdir to a basic pathlib implementation
...
this is still lacking locking and cleanup of the folders
2018-10-11 07:15:08 +02:00
Bruno Oliveira
c9a85b0e78
Fix linting
2018-10-10 19:54:39 -03:00
Bruno Oliveira
bf265a424d
Minor adjustments found during code review
2018-10-10 19:35:49 -03:00
Bruno Oliveira
5436e42990
Use pytest.fail(..., pytrace=False) when treating user errors
...
This prevents an enormous and often useless stack trace from showing
to end users.
Fix #3867
Fix #2293
2018-10-10 19:16:53 -03:00
Bruno Oliveira
67f40e18a7
Use attr.s(repr=False) because we customize MarkInfo's repr
2018-10-10 19:13:34 -03:00
Daniel Hahler
52ff1eaf37
_getconftestmodules: optimize
2018-10-10 21:30:33 +02:00
Daniel Hahler
602e74c2a7
Merge pull request #4107 from blueyed/__tracebackhide__
...
pytester: fix __tracebackhide__ for {re_,fn}match_lines
2018-10-10 20:55:32 +02:00
Daniel Hahler
4c9015c3b1
Merge pull request #4105 from blueyed/repr
...
Fix trailing whitespace in FixtureDef.__repr__
2018-10-10 19:28:32 +02:00
Niklas JQ
c14a23d4e4
Fix #4093 : multiple string literals on a line
2018-10-10 19:28:31 +02:00
Daniel Hahler
b8fc3e569a
pytester: fix __tracebackhide__ for {re_,fn}match_lines
2018-10-10 19:27:43 +02:00
Anthony Sottile
e0f6fce9e9
In python2, display previously warned warnings
2018-10-10 09:37:21 -07:00
Daniel Hahler
d93de6cc67
Fix trailing whitespace in FixtureDef.__repr__
2018-10-10 18:14:56 +02:00
Anthony Sottile
aeb92accb2
Implement pytest.deprecated_call with pytest.warns
2018-10-10 08:03:23 -07:00
Bruno Oliveira
9a3836a0cf
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-09 19:34:04 -03:00
Anthony Sottile
11a07211b6
re-enable linting tox env on windows
2018-10-09 13:01:51 -07:00
Anthony Sottile
65545d8fb2
Manual fixups of black formatting
2018-10-08 10:12:42 -07:00
Anthony Sottile
1caf6d5907
Upgrade pre-commit hooks
2018-10-08 10:10:46 -07:00
Jeffrey Rackauckas
fc11b81005
Exclude durations that are 0.00 seconds long.
2018-10-07 19:19:48 -07:00
Kyle Altendorf
ccaec8d360
__tracebackhide__ = True
2018-10-06 21:57:03 -04:00
Ronny Pfannschmidt
66609665f2
Merge pull request #4076 from nicoddemus/unittest-param-fixture-msg
...
Improve error message when TestCase functions use a parametrized fixture
2018-10-06 07:43:57 +02:00
Kyle Altendorf
4b36f9aa64
Tidy timeout checking
2018-10-05 16:46:24 -04:00
Kyle Altendorf
ed5556bdac
Add to docstrings
2018-10-05 10:02:59 -04:00
Kyle Altendorf
42422a7f62
Throw away arbitrary args to runpytest_subprocess()
2018-10-05 00:30:25 -04:00
Kyle Altendorf
f3a173b736
Revert "Use signal.alarm() for py2 timeout"
...
This reverts commit 900cef6397
.
2018-10-05 00:05:46 -04:00
Kyle Altendorf
5c38a5160d
Slight diff tidy
2018-10-04 23:33:38 -04:00
Kyle Altendorf
dcf9eb0104
Raise an exception on unexpected kwargs
2018-10-04 23:27:01 -04:00
Kyle Altendorf
dd225e1b9d
Tidy getting of timeout from kwargs
2018-10-04 23:15:30 -04:00
Kyle Altendorf
900cef6397
Use signal.alarm() for py2 timeout
2018-10-04 23:11:26 -04:00
Kyle Altendorf
dcd635ba0c
Correct timeout to check every so often
2018-10-04 23:08:57 -04:00
Kyle Altendorf
33f0338eeb
kill and wait for subprocess before raising TimeoutExpired
2018-10-04 22:52:51 -04:00
Kyle Altendorf
d5e5433553
Add descriptive message for timeout
2018-10-04 21:43:41 -04:00
Kyle Altendorf
d2906950ce
monotonic.monotonic() -> time.time()
2018-10-04 21:26:08 -04:00
Bruno Oliveira
fe7050ba00
Fix lint
2018-10-04 18:45:30 -03:00
Bruno Oliveira
a1208f5631
Merge pull request #4075 from nicoddemus/dynamic-fixturenames
...
Fix request.fixturenames to return fixtures created dynamically
2018-10-04 09:21:23 -03:00
Kyle Altendorf
870a93c37b
Actually construct TimeoutExpired
2018-10-04 01:02:58 -04:00
Kyle Altendorf
96b2ae6654
Initial pass at timeout for subprocessing pytest
...
pytest-dev/pytest#4073
2018-10-03 23:56:57 -04:00
Bruno Oliveira
212937eb3e
Improve error message when TestCase functions use a parametrized fixture
...
Fix #2535
2018-10-03 19:43:46 -03:00
Bruno Oliveira
70c7273640
Fix request.fixturenames to return fixtures created dynamically
...
Fix #3057
2018-10-03 18:50:14 -03:00
Anthony Sottile
e5ab62b1b6
Remove (unused) offset= parameter from deindent()
2018-10-03 13:33:10 -07:00
Anthony Sottile
f102ccc8f0
Fix source reindenting by using `textwrap.dedent` directly.
2018-10-02 16:13:35 -07:00
Bruno Oliveira
1101a20408
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-02 18:13:54 -03:00
Bruno Oliveira
1a323fbd3c
Show a warning when non-str is given to Monkeypatch.setenv
2018-10-01 20:07:07 -03:00
Bruno Oliveira
9d971d33be
Hide internal pytest.warns traceback
2018-10-01 18:45:08 -03:00
Bruno Oliveira
d24a7e6c5a
Issue warning if Monkeypatch.setenv/delenv receive non-strings in Python 2
...
Fixes the bug described in:
https://github.com/tox-dev/tox/pull/1025#discussion_r221273830
Which is more evident when using `unicode_literals`.
2018-10-01 17:05:30 -03:00
Ronny Pfannschmidt
5d2d64c190
Merge pull request #4057 from jeffreyrack/4051-improve-error-messaging
...
Improve error messaging when invalid syntax is passed to the -m option
2018-10-01 07:16:59 +02:00
Jeffrey Rackauckas
c2179c3127
Improve error messaging when invalid syntax is passed to the -m option
2018-09-30 18:34:56 -07:00
Bruno Oliveira
d8d7f73e1c
Merge pull request #4045 from nicoddemus/root-conftest-warning-workaround-4039
...
Do not issue non-top-level conftest warning when --pyargs is used
2018-09-27 09:26:11 -03:00
Ronny Pfannschmidt
3c23b5b010
Merge pull request #4037 from nicoddemus/deprecate-item-warnings-captured-hook
...
Document that item parameter of pytest_warning_captured hook is deprecated
2018-09-27 13:20:26 +02:00
Bruno Oliveira
d2fc7ca6e0
Merge pull request #4041 from Zac-HD/user-properties-type
...
Ensure user_properties is a list
2018-09-27 08:04:30 -03:00
Bruno Oliveira
32c5a113e2
Do not issue non-top-level conftest warning when --pyargs is used
...
Fix #4039
2018-09-26 12:02:08 -03:00
Zac-HD
a089a9577e
Succinct definition of user_properties
2018-09-26 22:40:11 +10:00
Zac-HD
6be2136f20
Ensure user_properties is a list
2018-09-26 22:04:50 +10:00
Denis Otkidach
f9ab81a493
Exclude empty reports for passed tests
2018-09-26 11:55:39 +03:00
Bruno Oliveira
1636522563
Document that item parameter of pytest_warning_captured hook is deprecated
...
Our policy is to not deprecate features during bugfix releases, but in this
case I believe it makes sense as we are only documenting it as deprecated,
without issuing warnings which might potentially break test suites.
This will get the word out that hook implementers should not use this parameter
at all.
Fix #4036
2018-09-25 17:38:22 -03:00
Anthony Sottile
956b3aca97
Revert patching of breakpointhook as it appears to do nothing
2018-09-23 18:39:50 -07:00
iwanb
c61ff31ffa
Fix #3539 : reload module with assertion rewrite import hook
2018-09-23 13:05:55 +02:00
Ronny Pfannschmidt
e03a19f88d
Merge pull request #4021 from nicoddemus/merge-master-into-features
...
Merge master into features
2018-09-23 11:57:05 +02:00
Bruno Oliveira
56d0b5a7e2
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-09-22 18:14:36 -03:00
Bruno Oliveira
c30184709d
Show deprecation warnings even if filters are customized
...
Fix #4013
2018-09-22 10:25:57 -03:00
Maximilian Albert
9b382ed16c
Fix typo in docstring
2018-09-21 17:11:15 +01:00
Ronny Pfannschmidt
f02dbaf97f
Merge pull request #4010 from nicoddemus/package-len-error-3749
...
Fix 'Package has no len()' error during collection
2018-09-21 07:40:20 +02:00
Bruno Oliveira
41f6ea13ce
Fix 'Package has no len()' error during collection
...
Fix #3749
2018-09-20 17:53:21 -03:00
Ronny Pfannschmidt
f6eb39df33
Merge pull request #4001 from asottile/fix_bytes_repr_text_mix_python_2
...
Fix UnicodeDecodeError in assertion with mixed non-ascii bytes repr + text
2018-09-20 22:16:37 +02:00
Anthony Sottile
7122fa5613
Fix UnicodeDecodeError in assertion with mixed non-ascii bytes repr + text
2018-09-19 20:24:00 -07:00
Bruno Oliveira
7aff81739e
Merge pull request #3998 from blueyed/logging-del
...
logging: del item.catch_log_handler only in teardown
2018-09-19 20:07:19 -03:00
Bruno Oliveira
27772f67c0
Merge pull request #3987 from nicoddemus/fix-find-scope-3941
...
Fix scope determination with indirect parameters
2018-09-19 20:06:45 -03:00
Daniel Hahler
e7eb7e799b
logging: del item.catch_log_handler only in teardown
...
Without this caplog.record_tuples etc is not available anymore when using
`--pdb`.
2018-09-19 17:17:47 +02:00
Thomas Hisch
18cc74b8d0
Remove useless comment
2018-09-19 15:18:37 +02:00
Bruno Oliveira
7f48f552c1
Fix linting
2018-09-19 10:18:05 -03:00
Bruno Oliveira
1e2e65f0fa
Add references to the relevant Python issues
2018-09-19 08:20:23 -03:00
Thomas Hisch
e967d4587a
Add support for logging in collection-phase
...
The logging plugin does not output log messages generated during the
collection-phase when live-logging is enabled. This fixes this.
Fixes #3964
2018-09-18 20:18:24 +02:00
Bruno Oliveira
a79dc12f1e
Merge pull request #3970 from sambarluc/raise_on_empty_parameterset
...
Raise exception if parametrize collects an empty parameter set
2018-09-18 08:11:34 -03:00
Bruno Oliveira
37d2469266
Use a PurePath instance to do matching against patterns in assertion rewrite
...
This way we don't need to have real file system path, which prevents the
original #3973 bug.
2018-09-17 20:29:09 -03:00
Bruno Oliveira
1df6d28080
Fix assertion rewriter crash if cwd changes mid-testing
...
Unfortunately we need to get a `py.path.local` object to perform the fnmatch
operation, it is different from the standard `fnmatch` module because it
implements its own custom logic. So we need to use `py.path` to perform
the fnmatch for backward compatibility reasons.
Ideally we should be able to use a "pure path" in `pathlib` terms (a path
not bound to the file system), but we don't have those in pylib.
Fix #3973
2018-09-17 20:04:44 -03:00
Andrea Cimatoribus
05155e4db0
Fail at parametrize option for empty parameter set
...
Optionally raise an exception when parametrize collects no arguments.
Provide the name of the test causing the failure in the exception
message.
See: #3849
2018-09-15 09:18:03 +02:00
Bruno Oliveira
86a14d007d
Fix scope determination with indirect parameters
...
Fix #3941
2018-09-14 21:33:59 -03:00
Bruno Oliveira
ae8f3695b5
Move UnformattedWarning to _pytest.warning_types
2018-09-14 15:31:20 -03:00
Bruno Oliveira
9aa6b0903b
.pytest_cache is now automatically ignored by Git
2018-09-14 15:16:40 -03:00
Bruno Oliveira
da6830f19b
Introduce UnformattedWarning to keep warning types and messages in _pytest.deprecated
2018-09-14 14:49:05 -03:00
Bruno Oliveira
32ee0b9c88
Move warning messages to _pytest.deprecated
2018-09-13 15:56:50 -03:00
Bruno Oliveira
feb8240410
Use self.Function again during collection
2018-09-13 15:44:02 -03:00
Bruno Oliveira
b7dd9154c3
Deprecate custom node types during collection by using special names
2018-09-13 14:55:28 -03:00
Bruno Oliveira
482bd5efd2
Show deprecation warning for cached_setup
2018-09-13 14:25:46 -03:00
Bruno Oliveira
bf074b37a3
Show deprecation warnings for compat properties
...
Fix #3616
2018-09-13 14:10:30 -03:00
Ronny Pfannschmidt
a0ce9a4441
remove the legacy code about im_func and generalize using fix and compat.getimfunc
2018-09-13 15:38:36 +02:00
Bruno Oliveira
ab40696007
-W now takes precedence over filters in ini files
...
Fix #3946
2018-09-11 19:00:42 +02:00
Bruno Oliveira
69b34f7658
Merge remote-tracking branch 'upstream/master' into release-3.8.0
2018-09-05 18:02:02 -03:00
Bruno Oliveira
531b76a513
Merge pull request #3931 from nicoddemus/internal-warnings
...
Use standard warnings for internal pytest warnings
2018-09-05 14:05:52 -03:00
Bruno Oliveira
f63c683faa
No longer escape regex in pytest.mark.filterwarnings
...
Fix #3936
2018-09-05 10:20:25 -03:00
Ronny Pfannschmidt
410d5762c0
Merge pull request #3919 from fabioz/master
...
Improve import performance of assertion rewrite. Fixes #3918 .
2018-09-05 14:33:40 +02:00
Bruno Oliveira
f42b5019ec
Make code_or_warning parameter private for backward-compatibility
2018-09-04 18:53:58 -03:00
Bruno Oliveira
2e0a7cf78d
Revert to having just "runtest" as "when" parameter of the pytest_warning_captured hook
2018-09-04 17:01:23 -03:00
Bruno Oliveira
5a52acaa92
Make config no longer optional in parametrize id functions
2018-09-04 16:55:52 -03:00
Bruno Oliveira
6d497f2c77
Fix stacklevel for warning about Metafunc.addcall
2018-09-04 16:50:24 -03:00
Bruno Oliveira
b7560a8808
Keep backward compatibility for code as kw in Node.warn
2018-09-04 16:48:21 -03:00
Bruno Oliveira
d3ca739c00
Use explicit instances when calling warnings.warn_explicit
2018-09-04 16:29:48 -03:00
Bruno Oliveira
3db76ccf3d
Fix Cache.warn function to issue a "config" warning
2018-09-04 15:53:17 -03:00
Bruno Oliveira
438f7a1254
Add "setup", "call" and "teardown" values to "when" parameter of pytest_warning_captured hook
2018-09-04 15:53:17 -03:00
Bruno Oliveira
47bf58d69e
Make Node.warn support two forms, new and deprecated
...
As suggested during review, it now accepts two forms:
Node.warn(warning_instance) (recommended)
Node.warn(code, message) (deprecated)
2018-09-04 15:53:17 -03:00
Bruno Oliveira
a054aa4797
Issue assert rewrite warning if tuple >=1 as suggested in review
2018-09-04 14:45:48 -03:00
Bruno Oliveira
022c58bf64
Revert pytest_terminal_summary(tryfirst) in warnings module as this breaks tests
2018-09-04 14:26:34 -03:00
Bruno Oliveira
b42518acd5
Change std_warn to receive a single warning instance, addressed review suggestions
2018-09-04 14:20:42 -03:00
Bruno Oliveira
284a2d110f
Move warnings import to top level
2018-09-04 13:46:33 -03:00
Bruno Oliveira
9ae0a3cd85
Do not trigger warning about tuples being always True if the tuple has size != 2
2018-09-04 13:41:11 -03:00
Bruno Oliveira
615c671434
Connect string literals
2018-09-04 13:34:05 -03:00
Bruno Oliveira
016f8f1536
Improve get_fslocation_from_item's docstring
2018-09-04 11:48:11 -03:00
Bruno Oliveira
e9417be9df
Add comment about deprecation warnings being shown by default
2018-09-04 11:35:35 -03:00
Bruno Oliveira
c304998ed7
Remove commented out code
2018-09-04 11:35:35 -03:00
Bruno Oliveira
415a62e373
Fix typo in PytestExperimentalApiWarning
2018-09-04 11:35:35 -03:00
Bruno Oliveira
8ce3aeadbf
Move PytestExerimentalApiWarning to warning_types
2018-09-04 11:35:35 -03:00
Bruno Oliveira
56d414177a
Remove nodeid from messages for warnings generated by standard warnings
...
Standard warnings already contain the proper location, so we don't need
to also print the node id
2018-09-04 11:35:34 -03:00
Bruno Oliveira
0fffa6ba2f
Implement hack to issue warnings during config
...
Once we can capture warnings during the config stage, we can
then get rid of this function
Related to #2891
2018-09-04 11:35:34 -03:00
Bruno Oliveira
9965ed84da
Show deprecation warnings by default if no other filters are configured
...
Fix #2908
2018-09-04 11:35:34 -03:00
Bruno Oliveira
208dd3aad1
Add docs for internal warnings and introduce PytestDeprecationWarning
...
Fix #2477
2018-09-04 11:35:34 -03:00
Bruno Oliveira
19a01c9849
Make PytestWarning and RemovedInPytest4Warning part of the public API
2018-09-04 11:35:34 -03:00
Bruno Oliveira
78ac7d99f5
Deprecate Config.warn and Node.warn, replaced by standard warnings
2018-09-04 11:35:34 -03:00
Bruno Oliveira
0c8dbdcd92
Fix existing tests now that we are using standard warnings
2018-09-04 11:35:34 -03:00
Bruno Oliveira
8e4501ee29
Use std_warn for warning about applying marks directly to parameters
2018-09-04 11:35:34 -03:00
Bruno Oliveira
0100f61b62
Start the laywork to capture standard warnings
2018-09-04 11:35:15 -03:00
Bruno Oliveira
1a9d913ee1
Capture and display warnings during collection
...
Fix #3251
2018-09-04 11:35:06 -03:00
Bruno Oliveira
51e32cf7cc
Remove Python 2.6 specific warning
2018-09-04 11:35:06 -03:00
Bruno Oliveira
3fcc4cdbd5
Make terminal capture pytest_warning_capture
...
pytest_logwarning is no longer emitted by the warnings plugin,
only ever emitted from .warn() functions in config and item
2018-09-04 11:35:06 -03:00
Bruno Oliveira
ffd47ceefc
Implement new pytest_warning_captured hook
2018-09-04 11:35:00 -03:00
Bruno Oliveira
10f21b423a
Remove assert for "reprec" because this is no longer set on the pluginmanager
...
It seems this has no effect since `pluggy` was developed as a separate
library.
2018-09-04 11:35:00 -03:00
Bruno Oliveira
eec7081b8d
Make AssertionRewritingrHook use imp_find_module
2018-09-03 10:18:25 -03:00
CrazyMerlyn
b01704cce1
Fix exit code for command line errors
...
Fixes #3913
2018-09-03 04:16:35 +00:00
Bruno Oliveira
a13c6a84df
Mention explicitly when pytest.skip and pytest.xfail can be called
...
Fix #3219
2018-09-02 10:42:05 -03:00
Bruno Oliveira
90c00dfd54
Use EXIT_USAGEERROR instead of magic number
2018-09-01 12:03:28 -03:00
Bruno Oliveira
4675912d89
Add tests for early rewrite bailout code and handle patterns with subdirectories
2018-09-01 10:59:21 -03:00
Fabio Zadrozny
d53e449296
Improve performance of assertion rewriting. Fixes #3918
2018-08-31 12:27:08 -03:00
Bruno Oliveira
96aad2983b
Move code to get width of current line to a function
2018-08-30 21:16:35 -03:00
wim glenn
c18a5b5179
try to be backwards compat
2018-08-30 19:06:20 -05:00
wim glenn
29c5ac71bc
improve line width estimate
2018-08-30 18:59:58 -05:00
Bruno Oliveira
11e591e442
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-08-30 19:55:23 -03:00
dhirensr
3035b2724d
T3853:removed needless message printed with --failed-first,--last-failed and no failed tests
2018-08-30 16:01:42 +05:30
Steve Piercy
103d980b2d
Use https, save a redirect
2018-08-28 14:41:13 -07:00
Steve Piercy
28c3ef1c77
Use https, save a redirect, fix hostname
2018-08-28 14:40:20 -07:00
Steve Piercy
67c3c28877
Use https, save a redirect
2018-08-28 14:39:32 -07:00
Steve Piercy
e040fd20a3
Use https, save a redirect
2018-08-28 14:38:55 -07:00
Bruno Oliveira
10c1c7c41a
Merge pull request #3895 from nicoddemus/issue-3506
...
Avoid possible infinite recursion when writing pyc files in assert rewrite
2018-08-28 18:16:10 -03:00
Bruno Oliveira
b77e533693
Merge pull request #3893 from jirikuncar/3892-macos
...
travis: run tests on macOS
2018-08-28 17:06:17 -03:00
Bruno Oliveira
a605ad4d11
Merge pull request #3880 from jeffreyrack/3829-progress_display_mode
...
#3829 -- Add the ability to show test progress as number of tests completed instead of a percent.
2018-08-28 16:54:14 -03:00
Jeffrey Rackauckas
4b94760c8e
Removed spacing in count display.
2018-08-27 20:23:17 -07:00
Bruno Oliveira
82a7ca9615
Avoid possible infinite recursion when writing pyc files in assert rewrite
...
What happens is that atomic_write on Python 2.7 on Windows will try
to convert the paths to unicode, but this triggers the import of
the encoding module for the file system codec, which in turn triggers
the rewrite, which in turn again tries to import the module, and so on.
This short-circuits the cases where we try to import another file when
writing a pyc file; I don't expect this to affect anything because
the only modules that could be affected are those imported by
atomic_writes.
Fix #3506
2018-08-27 21:29:45 -03:00
Bruno Oliveira
2a059b1c1b
Merge pull request #3885 from nicoddemus/bad-output-classic
...
Fix bad console output when using console_output_style=classic
2018-08-27 19:07:02 -03:00
Jiri Kuncar
ab5af524a4
Fix macOS specific code that uses capturemanager.
...
https://github.com/pytest-dev/pytest/issues/3888#issuecomment-416206606
closes #3888
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2018-08-27 16:07:59 +02:00
Jeffrey Rackauckas
8f4685e024
Move count display style to be part of console_output_style, fixed test progress for count console output style.
2018-08-26 19:21:00 -07:00
Bruno Oliveira
47bb53f5cb
Cache now obeys -q when showing summary for --lf and --ff
...
Related to #3853
2018-08-26 18:08:19 -03:00
Bruno Oliveira
6991a16edb
Fix bad console output when using console_output_style=classic
...
Fix #3883
2018-08-26 17:12:55 -03:00
Bruno Oliveira
2f2d5861bb
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-08-26 16:45:00 -03:00
Bruno Oliveira
de6f2c0336
Collect tests from __init__.py files if they match 'python_files'
...
Fix #3773
2018-08-25 11:18:52 -03:00
turturica
c336449729
Make linting happy. Argh.
2018-08-24 18:05:35 -07:00
turturica
1e4ecda884
Fix the package fixture ordering in Windows.
2018-08-24 18:01:38 -07:00
turturica
3396225f74
Merge branch 'master' of github.com:pytest-dev/pytest into fix-3854
2018-08-24 11:47:24 -07:00
turturica
72e6482994
Make linting happy.
2018-08-23 22:58:36 -07:00
Jeffrey Rackauckas
93f783228c
Add the progress_display_mode ini option
2018-08-23 22:56:25 -07:00
turturica
5f8b50c094
Address #3796 and add a test for it.
2018-08-23 22:48:44 -07:00
Anthony Sottile
99e31f6fb1
Use `bytes` directly instead of `binary_type`
...
`bytes` is an alias for `str` in python2.6+
2018-08-23 18:55:21 -07:00
Anthony Sottile
f2e35c8c4f
Merge pull request #3859 from asottile/pyupgrade_1_4
...
Some pyupgrade 1.4.x changes
2018-08-23 18:32:53 -07:00
wim glenn
d54aa8ce13
Merge pull request #3848 from wimglenn/pytester_unicode_bugfixes
...
fixed a bunch of unicode bugs in pytester.py
2018-08-23 13:45:49 -05:00
Anthony Sottile
7099ea9bb0
py.builtin._reraise -> six.reraise
2018-08-22 23:00:58 -07:00
Anthony Sottile
c2cd337886
py.builtin.exec_ => six.exec_
2018-08-22 23:00:06 -07:00
Anthony Sottile
0fc4a806e5
py.builtins._totext -> string literals or six.text_type
2018-08-22 23:00:04 -07:00
turturica
4d3c1ab4f0
Fixes #3854
2018-08-22 21:42:59 -07:00
turturica
e4f76f6350
Merge branch 'master' of github.com:pytest-dev/pytest into fix-3854
2018-08-22 20:36:52 -07:00
Anthony Sottile
0d65783dce
Fix unicode errors when changing to .format(...)
2018-08-22 19:00:43 -07:00
wim glenn
917b99e438
More unicode whack-a-mole
...
It seems pytest's very comprehensive CI sniffed out a few other places with similar bugs. Ideally we should find all the places where args are not stringy and solve it at the source, but who knows how many people are relying on the implicit string conversion. See [here](https://github.com/pytest-dev/pytest/blob/master/src/_pytest/config/__init__.py#L160-L166 ) for one such problem area (args with a single py.path.local instance is converted here, but a list or tuple containing some are not).
2018-08-22 13:40:21 -05:00
Bruno Oliveira
2137e2b15b
Merge pull request #3846 from nicoddemus/issue-3843
...
Fix collection error when tests is specified with --doctest-modules
2018-08-22 08:17:07 -03:00
wim glenn
89446af51e
fixed a bunch of unicode bugs in pytester.py
2018-08-22 01:30:23 -05:00
Ronny Pfannschmidt
3b521bedf8
Merge pull request #3841 from sankt-petersbug/fix-3816
...
Fix '--show-capture=no' capture teardown logs
2018-08-22 07:16:53 +02:00
Bruno Oliveira
07a560ff24
Fix collection error when tests is specified with --doctest-modules
...
The problem was that _matchnodes would receive two items: [DoctestModule, Module]. It would then collect the first one, *cache it*, and fail to match against the name in the command line. Next, it would reuse the cached item (DoctestModule) instead of collecting the Module which would eventually find the "test" name on it.
Added the type of the node to the cache key to avoid this problem, although I'm not a big fan of caches that have different key types.
Fix #3843
2018-08-21 21:02:46 -03:00
Bruno Oliveira
f1079a8222
Merge pull request #3832 from Sup3rGeo/bugfix/capsys-with-cli-logging
...
Bugfix/capsys with cli logging (again)
2018-08-21 20:12:31 -03:00
Bruno Oliveira
044d2b8e6e
Merge pull request #3838 from wimglenn/runresult_xfail
...
Support xfailed and xpassed outcomes in RunResult.
2018-08-20 20:01:51 -03:00
Sankt Petersbug
223eef6261
Fix '--show-capture=no' capture teardown logs
...
Add a check before printing teardown logs.
'print_teardown_sections' method does not check '--show-capture' option
value, and teardown logs are always printed.
Resolves : #3816
2018-08-20 15:01:21 -05:00
Bruno Oliveira
43657f252f
Merge pull request #3830 from nicoddemus/capfd-fixture-capture
...
Fixtures during teardown can use capsys and capfd to get output from tests
2018-08-20 15:32:45 -03:00
Victor
70ebab3537
Renamed snap_global_capture to read_global_capture.
2018-08-20 17:48:14 +02:00
wim glenn
539a22c750
Added support for xfailed and xpassed outcomes to the ``pytester.RunResult.assert_outcomes`` signature.
2018-08-20 01:24:19 -05:00
wim glenn
e620798d33
more autodocs for pytester
2018-08-19 23:21:45 -05:00
victor
7ea4992f16
Fixed linting.
2018-08-19 15:46:02 +02:00
victor
0564b52c0e
Fixed integration with other modules/tests
2018-08-19 15:26:57 +02:00
victor
8b2c91836b
Fixed activation and used just runtest_protocol hook
2018-08-19 14:30:50 +02:00
victor
7d9b198f73
Refactoring: Separated suspend from snapping (stopped always snapping when suspending - solves bug but still missing tests), reorganized functions and context managers.
2018-08-19 02:32:36 +02:00
Bruno Oliveira
c64a8c9c7f
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-08-18 15:54:53 -03:00
Bruno Oliveira
f4c5994d27
Fixtures during teardown can use capsys and capfd to get output from tests
...
Fix #3033
2018-08-18 14:46:24 -03:00
Tyler Richard
273670b2a2
Fixes capfd so data is available after teardown.
2018-08-18 14:11:04 -03:00
Bruno Oliveira
28aff051ab
Merge pull request #3822 from Sup3rGeo/bugfix/capsys-with-cli-logging
...
Bugfix/capsys with cli logging
2018-08-18 14:06:27 -03:00
Bruno Oliveira
5cf7d1dba2
"suspend" method of capture fixture private
...
Also change the context-manager to global_and_fixture_disabled to
better convey its meaning
2018-08-18 11:38:08 -03:00
Bruno Oliveira
f674217c43
Moved dummy_context_manager to compat module
2018-08-18 11:15:58 -03:00
Bruno Oliveira
9f7345d663
Avoid leaving a reference to the last item on CaptureManager
2018-08-18 11:08:03 -03:00
victor
eb2d074530
Black changes.
2018-08-18 14:27:09 +02:00
victor
9fa7745795
Refactor, tests passing.
2018-08-18 13:40:08 +02:00
victor
14db2f91ba
Fixed global not called if no capsys fixture. Using now capsys context manager as well.
2018-08-18 12:16:47 +02:00
Vlad Shcherbina
c3e494f6cf
Replace broken type annotations with type comments
...
Fixes #3826 .
2018-08-18 01:05:30 +03:00
Victor
090f67a980
Refactored implementation and updated tests.
2018-08-17 13:41:26 +02:00
Victor
2b71cb9c38
Added activation/deactivation of capture fixture in logging emit.
2018-08-17 00:26:12 +02:00
Ronny Pfannschmidt
7d4c4c66d4
Merge pull request #3805 from asottile/cause_cycles
...
Fix traceback reporting for exceptions with `__cause__` cycles.
2018-08-16 07:16:51 +02:00
Ronny Pfannschmidt
939a792c41
Merge pull request #3798 from jonozzz/fix-3751
...
Fix #3751
2018-08-16 06:52:16 +02:00
Anthony Sottile
17644ff285
Fix traceback reporting for exceptions with `__cause__` cycles.
2018-08-15 18:15:07 -07:00
Bruno Oliveira
64faa41d06
Merge pull request #3802 from jonozzz/fix-3768
...
Fix test collection from packages mixed with directories. #3768 and #3789
2018-08-15 21:42:25 -03:00
Sankt Petersbug
6367f0f5f1
fix `filterwarnings` mark not registered
2018-08-14 16:13:15 -05:00
Ronny Pfannschmidt
22ee2093b8
Merge pull request #3801 from nicoddemus/improve-warning-addoption
...
Improve warning messages when addoption is called with string as `type`
2018-08-14 09:30:17 +02:00
Josh Holland
abbd7c30a4
Unhide documentation for metafunc.config
...
Fixes #3746 .
2018-08-11 20:48:55 +01:00
turturica
bfd0addaeb
Fix test collection from packages mixed with directories. #3768 and #3789
2018-08-10 12:56:08 -07:00
Bruno Oliveira
be11d3e195
Improve warning messages when addoption is called with string as `type`
...
Encountered the warning myself and to me the message was not clear about
what should be done to fix the warning
2018-08-10 12:49:06 -03:00
turturica
266f05c4c4
Fix #3751
2018-08-09 18:28:22 -07:00
turturica
d0bd01beca
Collect any tests from a package's __init__.py
2018-08-09 18:06:38 -07:00
Bruno Oliveira
4d8903fd0b
Merge pull request #3780 from nicoddemus/mock-integration-fix
...
Fix issue where fixtures would lose the decorated functionality
2018-08-09 12:26:09 -03:00
Bruno Oliveira
67106f056b
Use a custom holder class so we can be sure __pytest_wrapper__ was set by us
2018-08-09 09:22:00 -03:00
Wes Thomas
aa358433b0
Fix AttributeError bug in TestCaseFunction.teardown by creating TestCaseFunction._testcase as attribute of class with a None default.
2018-08-08 18:13:21 -05:00
Virgil Dupras
126896f69d
Add option to disable plugin auto-loading
...
If `PYTEST_DISABLE_PLUGIN_AUTOLOAD` is set, disable auto-loading of
plugins through setuptools entrypoints. Only plugins that have been
explicitly specified are loaded.
ref #3784 .
2018-08-07 13:16:28 -04:00
Bruno Oliveira
e723069165
Merge pull request #3771 from nicoddemus/package-infinite-recursion-bug
...
Fix infinite recursion collection bug with pytest_ignore_collect hook
2018-08-06 10:09:31 -03:00
Bruno Oliveira
2c0d2eef40
Only consider actual functions when considering hooks
...
Fix #3775
2018-08-04 16:37:07 -03:00
Bruno Oliveira
ef8ec01e39
Fix issue where fixtures would lose the decorated functionality
...
Fix #3774
2018-08-04 15:14:00 -03:00
Bruno Oliveira
fe0a76e1a6
Fix recursion bug if a pytest_ignore_collect returns False instead of None
2018-08-03 15:40:33 -03:00
Ronny Pfannschmidt
ca0476953e
Merge pull request #3751 from nicoddemus/collect-file-bug
...
Workaround for #3742
2018-08-02 07:35:46 +02:00
Ronny Pfannschmidt
7e92930fa9
Merge pull request #3764 from asottile/fix_3763
...
Fix `TypeError` when the assertion message is `bytes` in python 3.
2018-08-02 07:19:51 +02:00
Ronny Pfannschmidt
33769d0328
Merge pull request #3754 from nicoddemus/fix-function-call-warning
...
Refactor direct fixture call warning to avoid incompatibility with plugins
2018-08-02 07:17:15 +02:00
Bruno Oliveira
5db2e6c7a1
Merge pull request #3761 from nicoddemus/numpy-recursion-error
...
Fix recursion in pytest.approx() with arrays in numpy<1.13
2018-08-01 23:40:30 -03:00
Bruno Oliveira
804fc4063a
Merge pull request #3741 from kalekundert/approx_misc_tweaks
...
Miscellaneous improvements to approx()
2018-08-01 23:40:21 -03:00
Anthony Sottile
452e5c1cf0
Fix `TypeError` when the assertion message is `bytes` in python 3.
2018-08-01 15:09:25 -07:00
Bruno Oliveira
c6b11b9f62
Refactor direct fixture call warning to avoid incompatibility with plugins
...
This refactors the code so we have the real function object right during
collection. This avoids having to unwrap it later and lose attached information
such as "async" functions.
Fix #3747
2018-08-01 16:38:43 -03:00
Kale Kundert
b8255308d6
Make the infinite-recusrion fix more explicit.
...
So we remember what happened and don't accidentally regress in the
future.
2018-08-01 12:11:03 -07:00
Bruno Oliveira
a5c0fb7f6b
Rename recursive_map -> _recursive_list_map as requested in review
2018-08-01 15:17:58 -03:00
Bruno Oliveira
7d13599ba1
Fix recursion in pytest.approx() with arrays in numpy<1.13
2018-08-01 08:04:09 -03:00
Bruno Oliveira
2a2f888909
Move recursive_map from local to free function
2018-08-01 07:30:40 -03:00
Bruno Oliveira
ad5ddaf55a
Simplify is_numpy_array as suggested in review
2018-08-01 07:28:39 -03:00
Bruno Oliveira
5003bae0de
Fix 'at' string for non-numeric messages in approx()
2018-08-01 07:07:37 -03:00
Bruno Oliveira
611d254ed5
Improve error checking messages: add position and use pprint
2018-08-01 07:01:00 -03:00
Ronny Pfannschmidt
fcdc1d867e
fix #3745 - display absolute cache_dir if necessary
2018-08-01 08:25:37 +02:00
Bruno Oliveira
098dca3a9f
Use {!r} for a few other messages as well
2018-07-31 21:14:51 -03:00
Bruno Oliveira
bf7c188cc0
Improve error message for invalid types passed to pytest.approx()
...
* Hide the internal traceback
* Use !r representation instead of !s (the default for {} formatting)
2018-07-31 21:08:24 -03:00
Bruno Oliveira
8c9efd8608
Only call _collectfile on package instances
...
As discussed in #3751 , this feels like a hack, pushing it only so we can
see how it fares on CI and if there are better solutions out there
2018-07-31 19:06:30 -03:00
Kale Kundert
d02491931a
Fix the unused import.
2018-07-31 11:33:46 -07:00
Kale Kundert
032db159c9
Let black reformat the code...
2018-07-31 11:23:23 -07:00
Kale Kundert
cd2085ee71
approx(): Detect type errors earlier.
2018-07-31 00:26:35 -07:00
Kale Kundert
ad305e71d7
Improve docstrings for Approx classes.
2018-07-30 23:26:57 -07:00
Kale Kundert
7d8688d54b
Reflect dimension in approx repr for numpy arrays.
2018-07-30 23:23:17 -07:00
Bruno Oliveira
eada0b1fd7
Merge remote-tracking branch 'upstream/master' into release-3.7.0
2018-07-30 20:12:30 +00:00
Bruno Oliveira
8609f8d25a
Move warning definition to deprecated module
2018-07-30 14:25:29 -03:00
Bruno Oliveira
cf6d8e7e53
Fix test and update warning in pytest_namespace docs
2018-07-30 12:16:42 -03:00
Bruno Oliveira
e3d412d1f4
Warn when implementations exist for pytest_namespace hook
...
This hook has been deprecated and will be removed in the future.
Fix #2639
2018-07-29 22:20:23 -03:00
Kale Kundert
bf127a63b2
Need to iterate over the flattened array.
2018-07-27 11:24:42 -07:00
Bruno Oliveira
d0ba242c46
Implement change suggested by @kalekundert in PR
2018-07-27 15:07:20 -03:00
Bruno Oliveira
57b0c60cb4
Remove Testdir.run_example as recommended
2018-07-26 20:10:40 -03:00
Bruno Oliveira
011f88f7e7
Deprecate calling fixture functions directly
...
This will now issue a RemovedInPytest4Warning when the user calls
a fixture function directly, instead of requesting it from test
functions as is expected
Fix #3661
2018-07-26 19:58:42 -03:00
abrammer
f0db64ac2e
drop the duplicate approx call
...
update test to include both np.array(actual) and np.array(expected)
2018-07-24 21:18:44 -04:00
Bruno Oliveira
f5165064ee
Make yield_fixture just call fixture to do its work
...
Since fixture and yield_fixture are identical, they should call
the same code; as it was, the code inside them was already starting
to deviate.
2018-07-22 09:41:03 -03:00
Bruno Oliveira
c9a0881309
Isolate the code that resolves the fixturefunc to a separate function
...
pytest_fixture_setup was somewhat convoluted because it was trying
to do too many things.
2018-07-22 09:37:41 -03:00
Bruno Oliveira
5167933395
Move teardown code of yield fixtures to a partial to avoid leaks
...
As it were before, it was keeping a reference to fixturefunc and it
alive when an error occurred
2018-07-22 09:27:34 -03:00
Alan
7bff5866b1
bugfix in ApproxNumpy initialisation, use keywords for arguments now
2018-07-18 17:29:55 -04:00
Bruno Oliveira
0bb29d5649
Merge pull request #3685 from nicoddemus/merge-master-into-features
...
Merge master into features
2018-07-15 16:53:39 -03:00
Bruno Oliveira
ac9ceaacd8
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-07-15 11:54:14 -03:00
Tadek Teleżyński
d2fe619120
Fix truncated locals in verbose mode
2018-07-15 11:30:26 -03:00
Vlad Shcherbina
58e77f58bd
Replace broken type annotations with type comments
...
Fixes #3635 .
2018-07-15 16:58:39 +03:00
Bruno Oliveira
f6ceedd15b
Merge pull request #3636 from RonnyPfannschmidt/fixturetest-examples
...
[RFC] Fixturetest examples - move test contents to use example scripts for contents
2018-07-11 23:29:33 -03:00
Bruno Oliveira
3e599dc149
Check that param sets match number of args during _for_parametrize
...
It makes sense to validate them during creation of the parameter set
2018-07-11 22:57:53 -03:00
Bruno Oliveira
54fbc6f6e1
Refactor parametrize() code for readability
...
Extract the parametrize() block of code into methods for better
readability
2018-07-11 21:29:21 -03:00
Anthony Sottile
61301d934e
Remove some extraneous `# noqa` comments
...
This was partially automated with https://github.com/asottile/yesqa
_with a few caveats_:
- it was run under python2 (chosen arbitrarily, when run under python3 other
things were changed)
- I used `git checkout -p` to revert the removal of `noqa` comments from
`cmp()` lines.
2018-07-08 17:05:52 -07:00
Anthony Sottile
4ae93a7a07
Remove obsolete __future__ imports
2018-07-08 08:37:02 -07:00
Anthony Sottile
42bbb4fa8a
Use -mpytest when invoking pytest in pytester
2018-07-07 17:18:44 -07:00
Bruno Oliveira
303133f013
Merge pull request #3647 from jeffreyrack/3610-add-trace-option
...
3610 add trace option
2018-07-07 10:05:34 -03:00
Bruno Oliveira
027d2336b8
Add minimal docs for package-scoped fixtures (experimental)
2018-07-05 21:56:31 -03:00
Bruno Oliveira
3c19370cec
Merge remote-tracking branch 'upstream/features' into jonozzz/features
2018-07-05 18:15:17 -03:00
Bruno Oliveira
7696d5371a
Merge remote-tracking branch 'upstream/master' into features
2018-07-04 18:49:35 -03:00
Jean-Paul Calderone
55ebf261ce
Switch to new API
2018-07-03 13:37:03 -04:00
Jeffrey Rackauckas
4afb8c428b
Fix python 2 issues
2018-07-02 20:20:42 -07:00
Jeffrey Rackauckas
10a8691eca
Add support for yielded functions.
2018-07-02 19:46:26 -07:00
Jeffrey Rackauckas
b75320ba95
Fix --trace option with yield tests.
2018-07-02 19:08:41 -07:00
T.E.A de Souza
a43205b4bc
Fix monkeypatch doc
...
`delenv` is incorrectly documented.
2018-07-02 21:01:41 +08:00
Jeffrey Rackauckas
0b70477930
Fix linting issues.
2018-07-01 20:18:00 -07:00
Jeffrey Rackauckas
66fa6bb42e
Fix flake8 issues.
2018-07-01 18:50:57 -07:00
Jeffrey Rackauckas
a46b94950c
Properly set immediately_break value
2018-06-30 21:32:25 -07:00
Jeffrey Rackauckas
54d3cd587d
Adding the --trace option.
2018-06-30 18:09:06 -07:00
Bruno Oliveira
2b75a311a7
Merge pull request #3637 from RonnyPfannschmidt/fix-3631
...
fix #3631 - don't store legacy markinfo when its impossible
2018-06-30 17:48:46 -03:00
Victor
342f2cdc17
Fixes #3630
2018-06-29 16:09:39 +02:00
Ronny Pfannschmidt
5bd5b8c68a
fix #3631 - don't store legacy markinfo when its impossible
2018-06-29 14:01:20 +02:00
Ronny Pfannschmidt
0fd86ec8a8
move some fill fixture acceptance tests contents to the examples script folder
2018-06-29 10:58:33 +02:00
Bruno Oliveira
8680dfc939
Merge pull request #3629 from egnartsms/issue-2220-param-breaks-dep
...
Make test parametrization override indirect fixtures
2018-06-28 21:43:21 -03:00
Ronny Pfannschmidt
3c73d6298a
merge from master to features
2018-06-28 17:32:41 +02:00
Serhii Mozghovyi
c220fb235a
Minor fix (code improvement)
2018-06-28 14:53:06 +03:00
Serhii Mozghovyi
1dc5e97ac2
Make test parametrization override indirect fixtures
2018-06-28 14:32:29 +03:00
Bruno Oliveira
e9371a58a0
Merge pull request #3622 from RonnyPfannschmidt/builtin-serialize
...
move report classes to own file to prepare for serialisazion
2018-06-27 15:17:09 -03:00
Ronny Pfannschmidt
17e01993d9
regendoc and invocation fixes
2018-06-27 08:28:21 +02:00
Ronny Pfannschmidt
581d49635e
add docs and changelog
2018-06-27 06:52:36 +02:00
Ronny Pfannschmidt
e860ff7299
port some acceptance tests over to copy_example
2018-06-26 22:59:40 +02:00
Ronny Pfannschmidt
0672bc633f
enable pytester to run examples copied from the cwd
2018-06-26 22:48:33 +02:00
Ronny Pfannschmidt
2dfb52f7e0
fix rebase artifacts
2018-06-26 22:10:26 +02:00
Ronny Pfannschmidt
cc6eb9f83c
move test reports to own file
2018-06-26 22:09:15 +02:00
Ronny Pfannschmidt
643e5a9c44
fix docs
2018-06-26 21:57:31 +02:00
Ronny Pfannschmidt
b8486037d3
fix #3605 - unpack markdecorators from parameterization
2018-06-26 21:57:31 +02:00
Ronny Pfannschmidt
89e0a3ec27
merge from master to features
2018-06-26 17:01:05 +02:00
Anthony Sottile
cbaa7dd56a
Upgrade pre-commit hooks except pyupgrade
2018-06-26 06:35:27 -07:00
Marcelo Duarte Trevisani
0030ceb11c
Bug fix #3593 - approx method in a single element of numpy array
...
If the user pass as a expected value a numpy array created like
numpy.array(5); it will creates an array with one element without shape,
when used with approx it will raise an error
'TypeError: iteration over a 0-d array'
2018-06-25 22:55:16 +02:00
Anthony Sottile
1d55c49a9a
Fix `ImportWarning` triggered by explicit relative imports
2018-06-23 07:55:49 -07:00
Ronny Pfannschmidt
95f00de0df
use paths for config.cache.get key
2018-06-23 00:14:06 +02:00
Ronny Pfannschmidt
c4c666cbc4
use Pathlib instead of path splitting
2018-06-23 00:07:57 +02:00
Ronny Pfannschmidt
ee30bf45c9
rebase onto readme addition
2018-06-23 00:03:10 +02:00
Ronny Pfannschmidt
603df1ea1c
whops, its supported starting with python 3.6, not python 3.5
2018-06-22 23:56:22 +02:00
Ronny Pfannschmidt
abbf73ad1a
use pathlib2 up to python3.4 - damn the stdlib
2018-06-22 23:56:22 +02:00
Ronny Pfannschmidt
1226cdab47
fix warnings and json dumping of cacheprovider
2018-06-22 23:56:22 +02:00
Ronny Pfannschmidt
ab80e0fba0
sort compat flake8 mess correctly
2018-06-22 23:56:22 +02:00
Ronny Pfannschmidt
fb992a0c81
reorder attr.ib specs
2018-06-22 23:56:22 +02:00
Ronny Pfannschmidt
23581d44bd
add missed file
2018-06-22 23:56:22 +02:00
Ronny Pfannschmidt
c7eb53317b
port cache plugin internals to pathlib
...
warning logging got broken by detanglement from config
2018-06-22 23:56:22 +02:00
Bruno Oliveira
0d3914b626
Remove extra '\' left at the end of a line in cache's readme contents
2018-06-21 20:12:50 -03:00
Anthony Sottile
8b4c59e606
Silence usage of `reduce` warning in python 2
2018-06-21 13:27:00 -07:00
avirlrma
c672bfa32e
added changelog entry
...
moved cache readme tests to test_cacheprovider.py
2018-06-21 17:43:10 +05:30
avirlrma
8f1d8ac970
fixed linting errors
...
ran black
removed unused imports and variables
2018-06-21 15:15:55 +05:30
avirlrma
53d4710c62
added tests for .pytest_cache README
...
Helper class to check if readme exists in .pytest_cache directory
Tests to check for readme when tests pass and when they fail
2018-06-21 14:25:00 +05:30
avirlrma
31f089db6a
add reamde for .pytest_cache
...
method - `ensure_readme()`
2018-06-21 13:14:58 +05:30
Bruno Oliveira
93e55ad2fa
Remove unused attribute and parameter in CallSpec2
2018-06-18 21:48:49 -03:00
Bruno Oliveira
2925f3057f
Merge pull request #3584 from jwodder/fix-3583
...
Fix encoding error with `print` statements in doctests
2018-06-18 08:03:07 -03:00
Hynek Schlawack
acb8f23311
Fix 2 DeprecationWarnings about invalid escape seq
2018-06-16 10:37:33 +02:00
Anthony Sottile
b285078db4
Merge pull request #3535 from RonnyPfannschmidt/config-split
...
begin to turn config into package
2018-06-15 10:28:06 -07:00
John T. Wodder II
d382f3e77f
[ #3583 ] Fix encoding error with `print` statements in doctests
...
This fix was suggested by Stack Overflow user phd in
<https://stackoverflow.com/a/50863820/744178 >.
2018-06-15 17:23:54 +00:00
Wil Cooley
3615977608
Add `messages` property to `caplog` fixture.
2018-06-14 12:22:33 -07:00
Ronny Pfannschmidt
8d072205e9
fix whitespace
2018-06-13 22:00:22 +02:00
Bruno Oliveira
b5102d03a6
Fix add_marker docs
2018-06-13 14:57:10 -03:00
Ronny Pfannschmidt
eb0c6a8287
fix addmarker - extract mark from markdecorator
2018-06-13 17:27:00 +02:00
Ronny Pfannschmidt
b0ec442d24
rework Node.add_marker parameter list and docstring
2018-06-12 17:55:58 +02:00
Ronny Pfannschmidt
37793d4cdb
fix addmarker - extract mark from markdecorator
2018-06-12 15:50:58 +02:00
Anthony Sottile
ef88251573
Merge pull request #3570 from sangongs/fix_stack_finalizer
...
Continue to call finalizers in the stack when a finalizer raises an exception
2018-06-11 19:07:59 -07:00
Guoqiang Zhang
a888bf182e
Continue to call finalizers in the stack when a finalizer in a former scope raises an exception
2018-06-11 18:01:18 -04:00
Ronny Pfannschmidt
61471df8da
Merge pull request #3562 from nicoddemus/revert-callinfo-result
...
Revert change of Callinfo.result default value
2018-06-11 19:03:01 +02:00
Anthony Sottile
49f621de76
Print <undetermined location> instead of None for warnings
2018-06-10 10:51:36 -07:00
Bruno Oliveira
10b0b81346
Revert change of Callinfo.result default value
...
As discussed in #3560 , this should not go to master because this breaks
the API.
Reverts commits:
1a7dcd73cf
198e993969
2018-06-10 11:47:58 -03:00
Alan Velasco
1a7dcd73cf
Add a default value to CallInfo.result
2018-06-09 16:58:23 -07:00
Daniel Hahler
c30c137a95
Improve display of hint about --fulltrace with KeyboardInterrupt
...
- display the location first
- display hint about --fulltrace in parenthesis
2018-06-07 23:50:24 +02:00
Ronny Pfannschmidt
1459cbe01f
put config path finding and exceptions into own modules
2018-06-05 10:07:02 +02:00
Ronny Pfannschmidt
c9df77cbd6
move argument parser to own file
2018-06-05 09:55:28 +02:00
Ronny Pfannschmidt
026cd36237
make builtin plugins a list
2018-06-05 09:40:50 +02:00
Ronny Pfannschmidt
bc2247219f
turn config into package
...
this prepares the splitting
2018-06-05 09:08:53 +02:00
Anthony Sottile
04f08b67a4
__code__ and __self__ are attributes in python2.6+
2018-06-03 13:12:46 -07:00
Ronny Pfannschmidt
eaa882f3d5
switch to src layout
2018-05-26 09:10:38 +02:00