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
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
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
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
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
ed01dc6567
Merge pull request #4652 from blueyed/RunResult-repr
...
Add __repr__ for RunResult
2019-02-09 01:26:24 +01: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
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
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
4c7ddb8d9b
Fix `parametrize(... ids=<function>)` when the function returns non-strings.
2019-02-07 12:25:59 -08: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
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
Anthony Sottile
315374008b
Remove workaround for docstrings for py38+
2019-02-05 12:48:18 -08: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
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
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
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
5567c772cd
quick&dirty fix fixture tests that rely on tmppath fixture structure
2019-01-27 14:19:23 +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
8cf097635e
Fixed one weird test that creates a class instead of using mocks.. ¯\_(ツ)_/¯
2019-01-24 12:59:36 -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
6d38868950
fix tests by adding additional output to expected responses
2019-01-24 00:08:43 +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
Thomas Hisch
a2954578aa
Remove stdlib test
2019-01-22 20:25:51 +01:00
Anthony Sottile
92a2c1a9c4
remove and ban py.io.BytesIO, py.process, py.path.local.sysfind
2019-01-21 19:51:16 -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
4ecf29380a
Adds xunit2 version of test_record_attribute
2019-01-14 22:58:41 -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
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
acb3e8e8a7
Test rewriting assertion when __name__ fails
...
Pytest rewrites assertions so that the items on each
side of a comoparison will have easier-to-read names
in case of an assertion error.
Before doing this, it checks to make sure the object
doesn't have a __name__ attribute; however, it uses
`hasattr` so if the objects __getattr__ is broken then
the test failure message will be the stack trace
for this failure instead of a rewritten assertion.
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
Bruno Oliveira
e4a21b11d5
Change test_warningschecker_twice to a unittest
2019-01-09 18:58:51 -02:00
Victor Maryama
948a5d5ac6
Added test for Issue 4617
2019-01-09 12:31:26 +01:00
Oscar Benjamin
85055a9efe
Show full repr with assert a==b and -vv
2019-01-08 01:25:05 +00:00
Pedro Algarvio
be7eb22e88
Add test case for `importorskip` custom reason
2019-01-04 19:06:23 +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
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
Ronny Pfannschmidt
d888d5c933
Merge pull request #4565 from nicoddemus/flaky-test
...
Use mocking to make test_junit_duration_report deterministic
2018-12-20 08:52:34 +01: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
197fd69ddc
Use mocking to make test_junit_duration_report deterministic
...
Fix #4563
2018-12-19 17:13:12 -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
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
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
Daniel Hahler
6af674a3ac
Merge pull request #4520 from blueyed/PYTEST_DISABLE_PLUGIN_AUTOLOAD-del
...
tests: fix tests that require PYTEST_DISABLE_PLUGIN_AUTOLOAD to be unset
2018-12-12 18:40:46 +01:00
Bruno Oliveira
e3d30f8ebf
Remove deprecated PyCollector.makeitem
...
Fix #4535
2018-12-12 14:15:52 -02:00
Andrey Paramonov
5d79baf3f8
Fix flaky test attempt 2
2018-12-12 15:33:29 +03:00