Daniel Hahler
e032904413
Merge master into features
2019-05-28 01:46:16 +02:00
Bruno Oliveira
2b9ca34280
Unroll calls to any #5062 ( #5103 )
...
Unroll calls to any #5062
2019-05-27 20:17:44 -03:00
Anthony Sottile
13f02af97d
Switch to importlib-metadata
2019-05-27 13:24:08 -07:00
Daniel Hahler
f2ed796c41
pdb: import pdbcls lazily
...
Fixes https://github.com/pytest-dev/pytest/issues/2064 .
2019-05-26 15:56:38 +02:00
Anthony Sottile
b3f8fabac8
Merge pull request #5308 from blueyed/minor
...
Minor fixes
2019-05-25 21:58:39 -07:00
Tomer Keren
852fb6a4ae
Change basic test case to be consistent with existing assertion rewriting
...
The code
```
x = 0
assert x == 1
```
will give the failure message 0 == 1, so it shouldn't be different as
part of an unroll
2019-05-25 19:34:08 +03:00
Tomer Keren
437d6452c1
Expand list comprehensions as well
2019-05-25 19:34:08 +03:00
Tomer Keren
ecd2de25a1
Revert "Displaying pip list command's packages and versions #5062"
...
This reverts commit 043fdb7c4065e5eb54f3fb5776077bb8fd651ce6.
These tests were part of the PR #5155 but weren't relevant to #5602
2019-05-25 19:34:08 +03:00
danielx123
c607697400
Fixed test case
2019-05-25 19:34:08 +03:00
danielx123
0996f3dbc5
Displaying pip list command's packages and versions #5062
2019-05-25 19:34:08 +03:00
danielx123
a0dbf2ab99
Adding test cases for unrolling an iterable #5062
2019-05-25 19:34:08 +03:00
Tomer Keren
6b5152ae13
Sanity tests for loop unrolling
2019-05-25 19:34:08 +03:00
Daniel Hahler
10ca84ffc5
Merge pull request #5119 from blueyed/reportopts-A-order
...
reportopts: A: put "Pp" in front
2019-05-24 18:28:43 +02:00
Daniel Hahler
ec6d0fa4d7
Merge pull request #5268 from blueyed/harden-test
...
tests: harden test_nonascii_text
2019-05-24 01:51:35 +02:00
Daniel Hahler
fa8a658458
Merge pull request #4908 from blueyed/pdb-pm-enter-hook
...
pdb: trigger pytest_enter_pdb hook with post-mortem
2019-05-24 01:50:24 +02:00
Bruno Oliveira
66f20b6f5e
Fix invalid Python file encoding "utf8" ( #5252 )
...
Fix invalid Python file encoding "utf8"
2019-05-23 20:24:23 -03:00
Bruno Oliveira
6ba5e3c071
tests: fix test_trace_after_runpytest ( #5245 )
...
tests: fix test_trace_after_runpytest
2019-05-23 19:58:33 -03:00
Daniel Hahler
6c56070df1
Merge pull request #5278 from blueyed/disable-python-plugin
...
Allow disabling of python plugin
2019-05-23 15:52:19 +02:00
Daniel Hahler
f9f41e69a8
reportopts: A: put "Pp" in front
2019-05-23 09:40:16 +02:00
Daniel Hahler
a0ff5deabf
pdb: trigger pytest_enter_pdb hook with post-mortem
...
This is required for pytest-pdb to be called with `--pdb`.
TODO:
- [ ] test
- [ ] pass mode to hook, e.g. "post_mortem" in this case?
2019-05-23 09:09:53 +02:00
Akiomi Kamakura
8a498700da
Add tests for #5286
2019-05-22 03:56:52 +09:00
Daniel Hahler
d19df5efa2
importorskip: display/include ImportError
...
This can provide useful information, e.g.
> could not import 'pyrepl.readline': curses library not found
2019-05-20 14:13:33 +02:00
Daniel Hahler
93fd9debe3
Allow disabling of python plugin
...
Fixes https://github.com/pytest-dev/pytest/issues/5277 .
2019-05-17 18:17:14 +02:00
Daniel Hahler
ff428bfee1
tests: harden test_nonascii_text
2019-05-17 18:06:32 +02:00
Anthony Sottile
dc75b6af47
Use fix-encoding-pragma pre-commit hook
2019-05-14 15:56:31 -07:00
Bruno Oliveira
7573747cda
Normalize all source encoding declarations
2019-05-14 19:42:44 -03:00
Anthony Sottile
4318698bae
Remove 'b' from sys.stdout.mode
2019-05-14 15:00:59 -07:00
Daniel Hahler
c081c01eb1
minor: s/no covers/no cover/
2019-05-14 06:51:49 +02:00
Daniel Hahler
f8e1d58e8f
minor: settrace != set_trace
2019-05-14 06:51:30 +02:00
Raul Tambre
18024467ff
Fix invalid Python file encoding "utf8"
...
Since Python 3 it must be "utf-8", which is the official name.
This is backwards compatible with Python 2.
2019-05-12 19:14:06 +03:00
Daniel Hahler
dda21935a7
tests: fix test_trace_after_runpytest
...
It was not really testing what it was supposed to test (e.g. the inner
test was not run in the first place).
2019-05-12 09:33:34 +02:00
Bruno Oliveira
465b2d998a
Further "unknown marks warning" improvements ( #5178 )
...
Further "unknown marks warning" improvements
2019-05-11 13:28:10 -03:00
Bruno Oliveira
73bbff2b74
Introduce record_testsuite_property fixture
...
This exposes the functionality introduced in fa6acdc
as a session-scoped fixture.
Plugins that want to remain compatible with the `xunit2`
standard should use this fixture instead of `record_property`.
Fix #5202
2019-05-10 19:44:27 -03:00
Bruno Oliveira
0594dba5ce
Remove unused markers and enable --strict-markers
2019-05-09 19:36:39 -03:00
Bruno Oliveira
f1183c2422
Remove the 'issue' marker from test suite
...
It doesn't seem to add much value (why would one execute tests
based on that marker?), plus using the docstring for that
encourages one to write a more descriptive message about the test
2019-05-09 19:36:38 -03:00
Bruno Oliveira
685ca96c71
Change ``--strict`` to ``--strict-markers``, preserving the old one
...
Fix #5023
2019-05-09 19:36:38 -03:00
Bruno Oliveira
ccf6c3cb46
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2019-05-09 19:22:40 -03:00
Daniel Hahler
73b74c74c9
pdb: only use outcomes.exit via do_quit
...
Fixes https://github.com/pytest-dev/pytest/issues/5235 .
2019-05-09 14:55:55 +02:00
Daniel Hahler
5eeb5ee960
Merge pull request #5013 from blueyed/short-summary-message
...
Display message from reprcrash in short test summary
2019-05-08 22:01:04 +02:00
Pulkit Goyal
7e08e09473
logging: improve default logging format (issue5214)
...
We improve the following things in the logging format:
* Show module name instead of just the filename
* show level of logging as the first thing
* show lineno attached to module:file details
Thanks to @blueyed who suggested this on the github issue.
It's my first contribution and I have added myself to AUTHORS.
I also added to a changelog file.
2019-05-08 21:37:59 +03:00
Bruno Oliveira
6d040370ed
Show fixture scopes with ``--fixtures``, except for "function" scope
...
Fix #5220
2019-05-07 14:32:20 -03:00
Bruno Oliveira
1d466d0aa7
Use exec directly ( #5224 )
...
Use exec directly
2019-05-07 10:02:12 -03:00
Bruno Oliveira
ef4dec0bcf
Skip test_source_mtime_long_long on 32bit and lower platforms ( #5045 )
...
Skip test_source_mtime_long_long on 32bit and lower platforms
2019-05-07 09:42:18 -03:00
Anthony Sottile
d1a48ad68f
Use exec directly
2019-05-06 23:07:39 -07:00
Bruno Oliveira
32a5e80a6d
Add encoding: header and fix rep mock in test_line_with_reprcrash on py27
2019-05-05 09:33:37 -03:00
Bruno Oliveira
0e8a8f94f6
Add encoding header to test_terminal.py
2019-05-05 09:14:07 -03:00
Bruno Oliveira
8f23e19bcb
Emit a warning for record_property when used with xunit2
...
"property" elements cannot be children of "testsuite" according to the schema, so it is incompatible with xunit2
Related to #5202
2019-05-05 09:01:13 -03:00
Bruno Oliveira
fc2ad1dbed
Warning subclasses ( #5179 )
...
Warning subclasses
2019-04-29 17:57:49 -03:00
Bruno Oliveira
fb6dad60a0
terminal: use pytest_collection_finish for reporting ( #5113 )
...
terminal: use pytest_collection_finish for reporting
2019-04-29 08:00:48 -03:00
Daniel Hahler
ff5317a7f3
terminal: use pytest_collection_finish for reporting
2019-04-29 05:20:04 +02:00
Bruno Oliveira
08734bdd18
--lf now skips colletion of files without failed tests
...
Fix #5172
2019-04-28 20:23:46 -03:00
Bruno Oliveira
53cd7fd2ea
Introduce new warning subclasses
...
Fix #5177
2019-04-28 10:38:25 -03:00
Daniel Hahler
65133018f3
Terminal plugin is not semi-essential anymore
...
Thanks to https://github.com/pytest-dev/pytest/pull/5138 .
2019-04-27 03:39:00 +02:00
Daniel Hahler
308b733b9d
Revert "Merge pull request #4854 from blueyed/pdb-skip"
...
This reverts commit e88aa957ae
, reversing
changes made to 1410d3dc9a
.
I do not think it warrants an option anymore, and there is a way to
achieve this via `--pdbcls` if needed.
2019-04-27 02:25:38 +02:00
Daniel Hahler
7f519f8ab7
Merge master into features
2019-04-27 00:43:00 +02:00
Nikolay Kondratyev
bc00d0f7db
Fix handle repr error with showlocals and verbose output
2019-04-19 18:54:21 +03:00
Daniel Hahler
e3e57a755b
Merge pull request #5083 from blueyed/capture-_suspended
...
capture: store _state
2019-04-19 17:32:54 +02:00
Daniel Hahler
79d5fc3a0b
Merge pull request #5144 from blueyed/sessionfinish-exitstatus
...
pytest_sessionfinish: preset exitstatus with UsageErrors
2019-04-19 17:30:01 +02:00
Daniel Hahler
f75f7c1925
conftest: use a hookwrapper with sorting faster tests first
2019-04-19 01:23:34 +02:00
Daniel Hahler
698c4e75fd
capture: track current state in _state attributes
...
This is meant for debugging, and making assertions later.
2019-04-19 00:35:15 +02:00
Daniel Hahler
649d23c8a8
pytest_sessionfinish: preset exitstatus with UsageErrors
...
Previously it would be 0. Setting it to the expected outcome
(EXIT_USAGEERROR) here already helps `pytest_sessionfinish` hooks.
2019-04-18 23:18:59 +02:00
Ilya Konstantinov
d67d68f6d3
Eliminate core dependency on 'terminal' plugin
2019-04-17 11:19:19 -07:00
Daniel Hahler
c3178a176d
move test
2019-04-17 15:30:34 +02:00
Daniel Hahler
df1d1105b0
Merge remote-tracking branch 'origin/features' into short-summary-message
...
Conflicts:
src/_pytest/skipping.py
2019-04-17 15:30:19 +02:00
Bruno Oliveira
b64d9402ca
Merge pull request #5108 from blueyed/summary
...
terminal summary: display passes after warnings
2019-04-15 14:49:01 -03:00
Daniel Hahler
ea79eb5c3f
terminal summary: display passes after warnings
...
This displays passes (with output, `-rP`) before the short summary, and
before any other output from other plugins also.
2019-04-15 16:31:42 +02:00
Bruno Oliveira
852ca7ad59
Merge pull request #5114 from blueyed/fixtest
...
test_pytest_exit_returncode: ignore ResourceWarnings
2019-04-15 11:25:16 -03:00
Daniel Hahler
45ba736c81
Merge pull request #5128 from blueyed/mark-is
...
Fix error message with unregistered markers
2019-04-15 16:23:54 +02:00
Daniel Hahler
cc005af47e
Fix error message with unregistered markers
2019-04-15 10:15:37 +02:00
Daniel Hahler
f1f1862b19
Update testing/test_runner.py
2019-04-14 23:26:56 +02:00
Daniel Hahler
6f0a5789fb
Merge master into features
2019-04-14 23:22:21 +02:00
Daniel Hahler
1dd5f088fa
test_pytest_exit_returncode: ignore ResourceWarnings
...
Fixes https://github.com/pytest-dev/pytest/issues/5088 .
2019-04-14 21:55:15 +02:00
Daniel Hahler
8fd5a658eb
monkeypatch.syspath_prepend: invalidate import cache
...
This was done with testdir only, and uses the fixed monkeypatch method
there now.
2019-04-13 16:15:44 +02:00
Anthony Sottile
43e7401c91
Produce a warning when unknown arguments are passed to pytest.param()
2019-04-12 13:00:39 -07:00
Anthony Sottile
da2e092163
pre-commit autoupdate
2019-04-12 04:52:47 -07:00
Bruno Oliveira
19035f4b55
Merge pull request #5068 from blueyed/reportchars
...
Add support for reportchars=A (`-rA`)
2019-04-12 08:13:22 -03:00
Samuel Searles-Bryant
a37d1df089
Show XFail reason as part of JUnitXML message field
...
Fixes #4907
2019-04-11 22:26:05 +01:00
Daniel Hahler
8b2fcf517c
Merge master
2019-04-11 13:28:36 +02:00
Daniel Hahler
b3759372ad
Merge pull request #5082 from blueyed/pytester-raise_on_kwargs
...
pytester: improve/fix kwargs validation
2019-04-11 00:46:18 +02:00
Bruno Oliveira
f5d2b199e2
Merge pull request #5069 from blueyed/cleanup-summary-to-terminal
...
cleanup: move terminal summary code to terminal plugin
2019-04-10 19:32:01 -03:00
Daniel Hahler
148f2fc72c
Fix test_error_during_readouterr: syspathinsert is unused
2019-04-10 21:57:45 +02:00
Daniel Hahler
10fa66e5b5
Merge pull request #5059 from blueyed/pytester-popen-run-stdin
...
pytester: allow passing in stdin to run/popen
2019-04-10 20:32:22 +02:00
Daniel Hahler
fcbfdef11b
Merge pull request #5071 from blueyed/prefer-fast
...
Add a conftest to prefer faster tests
2019-04-10 01:22:24 +02:00
Daniel Hahler
b84f826fc8
test_run_stdin: add sleep
2019-04-10 00:03:49 +02:00
Daniel Hahler
4fb7a91a5e
pdb: add test for --trace with --pdbcls
...
Ensures that https://github.com/pytest-dev/pytest/issues/4111 is fixed,
which happened in 92a2884b
as a byproduct.
2019-04-08 03:49:03 +02:00
Daniel Hahler
06029d11d3
Refactor into TerminalReporter.short_test_summary
2019-04-07 19:49:18 +02:00
Daniel Hahler
4c0ba6017d
Add a conftest to prefer faster tests
...
This uses pytest_collection_modifyitems for pytest's own tests to order
them, preferring faster ones via quick'n'dirty heuristics only for now.
2019-04-07 19:11:17 +02:00
Daniel Hahler
c70ecd49ca
cleanup: move terminal summary code to terminal plugin
...
Fixes https://github.com/pytest-dev/pytest/issues/5067 .
2019-04-07 18:22:04 +02:00
Daniel Hahler
50edab8004
Add tests for reportchars=a
...
Ref: https://github.com/pytest-dev/pytest/issues/5066
2019-04-07 18:05:33 +02:00
Daniel Hahler
b4b9f788af
Support reportchars=A (really all, including passed)
2019-04-07 18:05:33 +02:00
Daniel Hahler
2b1ae8a66d
__tracebackhide__ for check
2019-04-06 15:00:23 +02:00
Daniel Hahler
2ebb69b50a
py2 fixes
2019-04-06 15:00:12 +02:00
Daniel Hahler
4fca86e2af
testdir.popen: use kwargs with defaults for stdout/stderr
2019-04-06 12:13:48 +02:00
Daniel Hahler
9ad00714ba
pytester: allow passing in stdin to run/popen
2019-04-06 12:13:28 +02:00
Daniel Hahler
377888140f
Merge master into features
...
Conflicts:
testing/test_pdb.py
2019-04-05 17:50:32 +02:00
Daniel Hahler
df377b589f
use wcwidth
2019-04-05 17:43:11 +02:00
Daniel Hahler
f599172add
test with 😄 in message
2019-04-05 16:08:11 +02:00
Bruno Oliveira
4f33f46a02
Merge pull request #5026 from blueyed/compare-len-diff
...
Display number of different items with sequence/dict comparisons
2019-04-05 08:53:48 -03:00
Daniel Hahler
159704421e
change separator to hyphen
2019-04-05 12:21:24 +02:00
Daniel Hahler
8011ff5bda
Add _sys_snapshot fixture and use it with more tests
2019-04-05 11:55:23 +02:00
Daniel Hahler
899e74aa14
tests: harden test_immediate_initialiation_and_incremental_are_the_same
2019-04-05 11:55:23 +02:00
Daniel Hahler
66f743c45a
Fix test_conftest when run via pytest-randomly
2019-04-05 11:55:23 +02:00
Jeffrey Rackauckas
da3f836ee3
Added the junit_log_passing_tests ini flag.
2019-04-04 20:26:48 -07:00
Daniel Hahler
37ecca3ba9
factor out _get_line_with_reprcrash_message
2019-04-04 22:13:28 +02:00
Daniel Hahler
3d0ecd03ed
Display message from reprcrash in short test summary
...
This is useful to see common patterns easily, but also for single
failures already.
2019-04-04 18:49:13 +02:00
Daniel Hahler
eb5b2e0db5
Support glob argument with ``--cache-show``
2019-04-04 18:10:39 +02:00
Daniel Hahler
47d92a0d96
Add tests and improve messages
2019-04-04 17:53:39 +02:00
Bruno Oliveira
e04936fc29
Merge pull request #5042 from blueyed/merge-regen-master-into-features
...
Merge master into features (with regen)
2019-04-04 10:44:30 -03:00
Ondřej Súkup
77526f412c
Skip test_source_mtime_long_long on 32bit and lower platforms
2019-04-04 13:14:46 +02:00
Daniel Hahler
0d4636b056
Merge pull request #5034 from blueyed/run-last-failure-report
...
run-last-failure: improve reporting
2019-04-04 00:40:40 +02:00
Daniel Hahler
a65edf6711
Merge pull request #5028 from blueyed/fix-wrap_session-exit-code
...
wrap_session: restore old behavior for initstate=1
2019-04-04 00:39:38 +02:00
Daniel Hahler
757ada2fd2
pdb: try to import --pdbcls in pytest_configure only
...
Fixes https://github.com/pytest-dev/pytest/issues/5039 .
2019-04-03 22:35:18 +02:00
Daniel Hahler
e88aa957ae
Merge pull request #4854 from blueyed/pdb-skip
...
pdb: add option to skip `pdb.set_trace()`
2019-04-03 22:25:38 +02:00
Daniel Hahler
8907fedc79
Merge master into features (with regen branch)
2019-04-03 22:11:00 +02:00
Daniel Hahler
1f5a61e4ef
run-last-failure: improve reporting
2019-04-03 16:27:12 +02:00
Daniel Hahler
d91527599a
pytester: use monkeypatch with Testdir
2019-04-03 15:02:53 +02:00
Daniel Hahler
cc90bcce4c
wrap_session: restore old behavior for initstate=1
2019-04-03 05:09:21 +02:00
Daniel Hahler
8c734dfc2f
Split out list of essential plugins
...
Fixes https://github.com/pytest-dev/pytest/issues/4976 .
2019-04-02 14:39:56 +02:00
Zac-HD
00810b9b2a
Register "issue" mark for self-tests
2019-03-31 14:22:30 +11:00
Bruno Oliveira
278b289f37
Merge pull request #4968 from blueyed/pdb-do_debug-quit
...
pdb: do not raise outcomes.Exit with quit in debug
2019-03-29 16:22:02 -03:00
Daniel Hahler
e7ade066b6
Merge pull request #5011 from blueyed/merge-master-into-features
...
Merge master into features
2019-03-29 18:35:13 +01:00
Daniel Hahler
adebfd0a84
pdb: add option to skip `pdb.set_trace()`
2019-03-29 11:13:38 +01:00
Daniel Hahler
4e931b258d
Merge master into features
2019-03-29 11:05:46 +01:00
Daniel Hahler
4011021823
pdb: do not raise outcomes.Exit with quit in debug
2019-03-29 11:02:34 +01:00
Daniel Hahler
bfda2a0050
setup.cfg: use existing [tool:pytest] (ignoring [pytest])
2019-03-29 10:59:27 +01:00
Bruno Oliveira
6b5cddc48a
Merge pull request #4951 from blueyed/fix-pdb-capfix
...
pdb: handle capturing with fixtures only
2019-03-28 20:34:28 -03:00
Bruno Oliveira
a9fe1e159a
Merge pull request #4965 from nicoddemus/serialization-hooks
...
Serialization hooks
2019-03-28 20:22:19 -03:00
Bruno Oliveira
65c8e8a09e
Rename hooks: to/from_serializable
2019-03-28 13:41:56 -03:00
Daniel Hahler
d53209956b
test_pdb_continue_with_recursive_debug: mock pdb.set_trace
2019-03-28 11:49:01 +01:00
Daniel Hahler
ae067df941
add test_pdb_continue_with_recursive_debug
2019-03-28 11:49:01 +01:00
Daniel Hahler
40718efacc
Fix/revisit do_continue with regard to conditions
2019-03-28 11:49:01 +01:00
Daniel Hahler
d406786a8d
pdb: handle capturing with fixtures only
2019-03-28 11:49:01 +01:00
Daniel Hahler
d17ea7a9c0
tests: ensure cleanup with configs via get_config()
...
Also done in test_pluginmanager, although no resource warnings are
there at least.
Fixes https://github.com/pytest-dev/pytest/issues/4355 .
2019-03-28 00:14:13 +01:00
Daniel Hahler
c92021fc4f
Merge pull request #5003 from blueyed/off
...
Fix off-by-one error with lineno in mark collection error
2019-03-28 00:09:53 +01:00
Daniel Hahler
76c70cbf4c
Fix off-by-one error with lineno in mark collection error
2019-03-27 17:44:52 +01:00
Bruno Oliveira
241b7433cd
Merge pull request #4978 from blueyed/exit-from-from_assertrepr_compare
...
Do not swallow outcomes.Exit in assertrepr_compare
2019-03-26 18:39:13 -03:00
Bruno Oliveira
057c97812b
Merge pull request #4975 from blueyed/verbose-fixes
...
Fix usages of "verbose" option
2019-03-26 18:38:39 -03:00
Bruno Oliveira
02188e399d
Merge pull request #4987 from blueyed/collect-tbstyle-repr_failure
...
CollectError.repr_failure: honor explicit tbstyle option
2019-03-26 18:37:49 -03:00
Bruno Oliveira
9311d822c7
Fix assertion in pytest_report_unserialize
2019-03-26 12:47:31 -03:00
Daniel Hahler
e1ae469504
Merge master into features
2019-03-26 10:23:21 +01:00
Daniel Hahler
0d00be4f4f
Do not swallow outcomes.Exit in assertrepr_compare
2019-03-26 10:20:00 +01:00
Daniel Hahler
23146e7527
Fix usages of "verbose" option
...
With `-qq` `bool(config.getoption("verbose"))` is True; it needs to be
checked for `> 0`.
2019-03-26 10:11:25 +01:00
Daniel Hahler
4148663706
Merge pull request #4979 from blueyed/minor
...
Minor: whitespace, typo, docs
2019-03-26 10:01:13 +01:00
Bruno Oliveira
3e1971eb16
Merge pull request #4994 from blueyed/test_as_errors-subprocess
...
test_as_errors: use subprocess with `-W`
2019-03-25 20:50:15 -03:00
Bruno Oliveira
bcdb86ee7e
Merge pull request #4991 from blueyed/fix-tests
...
Fix pytest's own tests with `-W error::ResourceWarning`
2019-03-25 20:47:51 -03:00
Bruno Oliveira
2d77018d1b
Improve coverage for _report_unserialization_failure
2019-03-25 20:16:59 -03:00
Bruno Oliveira
ceef0af1ae
Improve coverage for to_json() with paths in reports
2019-03-25 20:16:59 -03:00
Bruno Oliveira
e4eec3416a
Note that tests from xdist reference the correct xdist issues
2019-03-25 20:16:59 -03:00
Bruno Oliveira
7b9a414524
Add pytest_report_serialize and pytest_report_unserialize hooks
...
These hooks will be used by pytest-xdist and pytest-subtests to
serialize and customize reports.
2019-03-25 20:16:59 -03:00
Bruno Oliveira
0c63f99016
Add experimental _to_json and _from_json to TestReport and CollectReport
...
This methods were moved from xdist (ca03269).
Our intention is to keep this code closer to the core, given that it
might break easily due to refactorings.
Having it in the core might also allow to improve the code by moving
some responsibility to the "code" objects (ReprEntry, etc) which
are often found in the reports.
Finally pytest-xdist and pytest-subtests can use those functions
instead of coding it themselves.
2019-03-25 20:16:59 -03:00
Daniel Hahler
6eff3069da
Merge pull request #4851 from blueyed/addopts-vv
...
ci: PYTEST_ADDOPTS=-vv
2019-03-25 23:41:33 +01:00
Daniel Hahler
58a14b6b99
Merge pull request #4986 from blueyed/fnmatch_lines-list
...
tests: fnmatch_lines: use list
2019-03-25 23:31:04 +01:00
Daniel Hahler
b53bf44139
Merge pull request #4985 from blueyed/assert-from_current
...
ExceptionInfo.from_current: assert current exception
2019-03-25 23:28:58 +01:00
Daniel Hahler
51f64c2920
Merge pull request #4980 from blueyed/fixup_namespace_packages
...
monkeypatch.syspath_prepend: call fixup_namespace_packages
2019-03-25 23:10:00 +01:00
Daniel Hahler
de44293d59
CollectError.repr_failure: honor explicit tbstyle option
2019-03-24 11:24:19 +01:00
Daniel Hahler
5efe6ab93c
test_log_cli_auto_enable: get stdout once
2019-03-24 11:22:07 +01:00
Daniel Hahler
ce59f42ce1
revisit test_root_logger_affected
2019-03-24 11:21:13 +01:00
Daniel Hahler
7da7b9610c
minor: whitespace
2019-03-24 11:20:24 +01:00
Daniel Hahler
0ea1889265
test_as_errors: use subprocess with `-W`
...
Ref: https://github.com/pytest-dev/pytest/pull/4981
2019-03-24 11:17:55 +01:00
Daniel Hahler
6352cf2374
test_implicit_bad_repr1: harden/cleanup
2019-03-24 11:15:40 +01:00
Daniel Hahler
3127ec737b
Fix pytest's own tests with `-W error::ResourceWarning`
2019-03-24 11:05:00 +01:00
Daniel Hahler
d0f3f26fff
test_collect_capturing: cover captured stderr
2019-03-23 23:17:07 +01:00
Daniel Hahler
08f3b02dfc
tests: fnmatch_lines: use list
...
For strings fnmatch_lines converts it into a Source objects, splitted on
newlines. This is not necessary here, and it is more consistent to use
lists here in the first place.
2019-03-23 11:36:18 +01:00
Daniel Hahler
2d690b83bf
ExceptionInfo.from_current: assert current exception
2019-03-23 00:29:36 +01:00
Daniel Hahler
afa985c135
Revisit coverage in some tests
2019-03-22 17:26:16 +01:00
Daniel Hahler
fd64fa1863
Revisit test_importplugin_error_message
...
Should be more helpful in case of errors than before:
> assert re.match(expected_message, str(excinfo.value))
E _pytest.warning_types.PytestWarning: asserting the value None, please use "assert is None"
https://travis-ci.org/pytest-dev/pytest/jobs/509970576#L208
2019-03-22 17:02:26 +01:00
Daniel Hahler
05d55b86df
tests: minor sys.path cleanup
2019-03-22 16:20:55 +01:00
Daniel Hahler
475119988c
monkeypatch.syspath_prepend: call fixup_namespace_packages
...
Without the patch the test fails as follows:
# Prepending should call fixup_namespace_packages.
monkeypatch.syspath_prepend("world")
> import ns_pkg.world
E ModuleNotFoundError: No module named 'ns_pkg.world'
2019-03-22 15:29:08 +01:00
Daniel Hahler
7a6bcc3639
Add reference to test_cmdline_python_namespace_package
2019-03-22 13:23:44 +01:00
Daniel Hahler
ade773390a
minor: rename inner test
2019-03-22 13:23:44 +01:00
Daniel Hahler
2e7d6a6202
Fix test_assertrewrite in verbose mode
...
Fixes https://github.com/pytest-dev/pytest/issues/4879 .
2019-03-22 13:00:35 +01:00
Daniel Hahler
15d608867d
Merge pull request #4966 from blueyed/fix-preparse
...
config: fix consider_preparse with missing argument to -p
2019-03-21 19:12:57 +01:00
Daniel Hahler
ea2c6b8a88
config: fix consider_preparse with missing argument to -p
...
This is only required after/with 415899d4
- otherwise argparse ensures
there is an argument already.
2019-03-21 17:05:22 +01:00
Daniel Hahler
553951c443
Fix some issues related to "-p no:X" with default_plugins
2019-03-21 17:01:50 +01:00
Daniel Hahler
cc6e5ec345
tests: add test_report_collect_after_half_a_second
...
This is meant for stable coverage with "collecting X item(s)".
2019-03-20 22:13:11 +01:00
Daniel Hahler
7939e5327c
Merge pull request #4957 from blueyed/config-handle-pno-with-default-plugins
...
config: handle `-p no:plugin` with default plugins
2019-03-20 03:32:03 +01:00
Daniel Hahler
c7c120fba6
terminal: handle "capture" option not being available
...
This is the case with `-p no:capture` now.
2019-03-20 03:01:26 +01:00
Daniel Hahler
415899d428
config: handle `-p no:plugin` with default plugins
...
`-p no:capture` should not load its fixtures in the first place.
2019-03-20 02:47:13 +01:00
Daniel Hahler
8dda5613ef
Merge pull request #4956 from blueyed/home2
...
pytester: set HOME only with inline_run/popen
2019-03-20 02:29:29 +01:00
Daniel Hahler
714f2113bb
Merge pull request #4929 from blueyed/fix-_factorytraceback-offset
...
Fix line offsets with `ScopeMismatch` errors
2019-03-20 01:30:58 +01:00
Daniel Hahler
a50b92ea67
pytester: set HOME only with inline_run/popen
...
Ref: https://github.com/pytest-dev/pytest/issues/4955
2019-03-20 01:15:51 +01:00
Daniel Hahler
da81c1e49a
Merge pull request #4950 from blueyed/capture
...
Revisit capturing module: repr, doc fixes, minor
2019-03-20 01:12:22 +01:00
Bruno Oliveira
23ab43233e
Merge pull request #4920 from nicoddemus/subtests-pytest-1367
...
Internal refactorings required for *external* pytest-subtests plugin
2019-03-19 18:57:11 -03:00
Bruno Oliveira
1a119a22d1
Internal refactorings in order to support the new pytest-subtests plugin
...
Related to #1367
2019-03-19 18:20:41 -03:00
Daniel Hahler
920bffbfbb
Revisit _pytest.capture: repr, doc fixes, minor
2019-03-19 01:17:21 +01:00
Daniel Hahler
751c061d9a
Merge master into features
2019-03-19 01:07:10 +01:00
Daniel Hahler
a624b84097
Merge pull request #4941 from blueyed/testdir-home
...
pytester: testdir: set $HOME to tmpdir
2019-03-18 23:02:15 +01:00
Daniel Hahler
c75dd10671
pytester: testdir: set $HOME to tmpdir
...
This avoids loading user configuration, which might interfere with test
results, e.g. a `~/.pdbrc.py` with pdb++.
Also sets USERPROFILE, which will be required with Python 3.8 [1].
1: https://bugs.python.org/issue36264
2019-03-18 20:55:39 +01:00
Daniel Hahler
98981276a0
capture: fix FDCapture.__repr__ without targetfd_save
2019-03-18 02:33:03 +01:00
Daniel Hahler
15fe8c6e90
Handle `-p plug` after `-p no:plug`.
...
This can be used to override a blocked plugin (e.g. in "addopts") from the
command line etc.
2019-03-16 15:58:00 +01:00
Daniel Hahler
5e27ea5528
pytester: LineMatcher: assert Sequence when matching in order
...
This can be helpful when passing a set accidentally.
2019-03-15 23:07:08 +01:00
Bruno Oliveira
33d4c96aa2
Merge pull request #4830 from nicoddemus/warn-on-coroutine
...
Emit a warning when a coroutine test function is encountered
2019-03-15 09:51:34 -03:00
Takafumi Arakaki
fa3cca51e1
Test pytest.skip in doctest
2019-03-15 11:06:57 +09:00
Daniel Hahler
d441fa66fe
Fix line offsets with `ScopeMismatch` errors
...
Fixes https://github.com/pytest-dev/pytest/issues/4928 .
2019-03-15 02:47:33 +01:00
Daniel Hahler
7afe17740f
Merge master into features
2019-03-15 00:52:12 +01:00
Bruno Oliveira
40072b9511
Emit a warning when a async def function is not handled by a plugin
...
Fix #2224
2019-03-14 20:22:23 -03:00
Daniel Hahler
bdac9d3dd0
tests: improve test_pdb_interaction_doctest
...
- ignore pdbrc (might be done in general, but this was the only affected
test)
- fail faster in case of unexpected failure
2019-03-14 19:16:34 +01:00
Daniel Hahler
37158f5303
tests: fix test_pdb_interaction_continue_recursive with pdbpp
2019-03-14 19:16:34 +01:00
Bruno Oliveira
bd70f5c148
Add test for mtime issue in #4903
2019-03-14 10:16:08 -03:00
Miro Hrončok
d32ab6029f
Fix pytest tests invocation with custom PYTHONPATH
...
Fixes https://github.com/pytest-dev/pytest/issues/4913
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2019-03-12 17:31:42 +01:00
Daniel Hahler
76687030f0
Merge branch 'master' into merge-master-into-features
...
Conflicts:
appveyor.yml
setup.py
2019-03-05 19:07:36 +01:00
Daniel Hahler
8481e438bd
ci: revisit coverage reporting
...
This brings coverage back that got missing with 9dcd6f2
.
Continuation of #4839 / #4846 .
2019-03-05 13:34:46 +01:00
Daniel Hahler
83558a0ba3
tests: make test_crash_on_closing_tmpfile_py27 more reliable
...
It fails reliable for me now without the fix from 9517c3a2a
.
Ref: #2370
2019-03-04 15:04:55 +01:00
Bruno Oliveira
23ea04f910
Merge pull request #4860 from nicoddemus/getfixturevalue-cleanup-1895
...
getfixturevalue does not correctly declare dependency with the calling fixture
2019-03-03 15:56:45 -03:00
Daniel Hahler
c334adc78f
Apply suggestions from code review
...
Co-Authored-By: nicoddemus <nicoddemus@gmail.com>
2019-03-03 11:20:00 -03:00
Bruno Oliveira
0deb7b1696
Do not show "inifile:" string if there's no configuration file
2019-03-02 11:45:08 -03:00
Bruno Oliveira
53b8aa065c
Show testpaths option in the header if it has been used for collection
...
Fix #4875
2019-03-02 11:35:32 -03:00
Bruno Oliveira
6a2d122a50
Remove code debugging leftovers
2019-03-02 09:56:15 -03:00
Bruno Oliveira
d97473e551
Add test and CHANGELOG for #1895
2019-03-02 09:39:30 -03:00
Bruno Oliveira
525639eaa0
Rename fixtures testing file to be consistent with the module name
2019-03-02 09:37:30 -03:00
Bruno Oliveira
7dceabfcb2
Ensure fixtures obtained with getfixturevalue() are finalized in the correct order
...
Fix #1895
2019-03-02 09:36:16 -03: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
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
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
Daniel Hahler
ccab469a0c
Fix test_argcomplete: use python -m pytest
...
Previously it was not run with a) xdist ("-c"), and b) "python -m
pytest" ("…/pytest.py", not executable).
2019-02-27 16:52:46 +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
Bruno Oliveira
a68f4fd2b9
Fix test failures after pluggy 1.8 release
...
pluggy now calls iter_entry_points with different arguments, and tests
which mocked that call need to be updated accordingly.
2019-02-22 18:58:54 -03:00
Bruno Oliveira
5b35241470
Merge pull request #4812 from mitzkia/logging_from_runtest_logreport
...
Logging: Make pytest_runtest_logreport() hook available for logging
2019-02-22 18:47:06 -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
9cb504ca9a
Add same environments to Azure as have in AppVeyor, except py37-freeze
...
py37-freeze will be tackled in https://github.com/pytest-dev/pytest/issues/4807
2019-02-18 17:23:39 -03:00
Bruno Oliveira
f0a9f9042f
Merge pull request #4805 from nicoddemus/release-4.3.0
...
Release 4.3.0
2019-02-18 17:18:50 -03:00
Anthony Sottile
5505826db9
Fix python3.8 / pypy failures
2019-02-16 11:23:23 -08: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
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
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
Andrey Paramonov
316cca204f
Switch to ini config parameter
2018-12-12 13:19:39 +03:00
Andrey Paramonov
0bccfc44a7
Fix flaky test
2018-12-12 12:14:14 +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
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
539d3dc34d
Merge branch 'fix-test_raises_exception_looks_iterable' into merge-master
2018-12-10 06:30:36 +01:00
Daniel Hahler
5ecbb02ace
tests: fix test_raises_exception_looks_iterable
...
Started to fail on py37-xdist between
https://travis-ci.org/pytest-dev/pytest/jobs/465498973 and
https://travis-ci.org/pytest-dev/pytest/jobs/465792343 , but could not
find a diff in versions (from the tox header), and both commits failed
locally.
2018-12-10 06:26:32 +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
64ee1ee81b
tests: fix tests that require PYTEST_DISABLE_PLUGIN_AUTOLOAD to be unset
...
Fix pytest's own tests with PYTEST_DISABLE_PLUGIN_AUTOLOAD=1.
2018-12-09 12:06:18 +01:00
Daniel Hahler
5ebacc49c6
Harden tests, fix doc/msg
2018-12-05 19:22:44 +01: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
e0c2ab1901
Fix tests not to assert a function that already asserts
...
Maybe there should be a warning about that too?
2018-12-05 10:41:30 +02:00
Tomer Keren
9fc9b2926f
Fix tests and add aditional cases
...
As requested by review.
👌 Address code review for tests
2018-12-05 10:41:30 +02:00
Tomer Keren
1654b77ca0
[ #3191 ] Set up tests to confirm warnings
2018-12-05 10:41:18 +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
6da8befc74
Black suggestions
2018-12-03 12:58:22 +00:00
Pedro Algarvio
14024c7fc1
Test case for #4500 bug and respective fix #4487
2018-12-03 12:17:14 +00:00
Pedro Algarvio
517b8bc69e
Stop using the deprecated `\.warn()` log handler method
2018-12-03 11:52:33 +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
Bruno Oliveira
9e522c97fa
Try to fix/improve reporting of test_request_garbage
...
* Run it in a subprocess to reduce possible intereference from the outer pytest
* Print the leaked objects to see if they provide any hints
2018-11-24 08:29:39 -02: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
c5c728c8bc
Fix test/improve tests a bit in py27
2018-11-22 21:38:33 -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
9ae8429a21
Use a more specific exception type in test_raises_repr_inflight
...
As requested during review
2018-11-22 20:24:46 -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
Ronny Pfannschmidt
94d032a6de
Merge pull request #4436 from asottile/print_function
...
Fix formatting of print() calls
2018-11-22 20:17:19 +01:00
Bruno Oliveira
aa765cf8c2
Adjust stacklevel of "config" warnings
...
Related to #4439
2018-11-22 14:44:01 -02:00
Ronny Pfannschmidt
5f1d692072
use Path.resolve in test to sort out osx temporary folder being a symlink
2018-11-22 16:10:12 +01:00
Anthony Sottile
b3700f61ba
Fix formatting of print() calls
2018-11-22 00:15:14 -08:00
Ronny Pfannschmidt
fc61bdd907
fix 4425: resolve --basetemp to absolute paths
2018-11-20 16:14:50 +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
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
Nicholas Devenish
4eddf634e7
Rename and split out the testing, and reword the changelog.
2018-11-18 20:01:11 +00: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
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
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
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
Aly Sivji
2bffd6829e
Move dataclass tests for 3.7 to separate file
2018-11-12 15:36:16 -06:00
Bruno Oliveira
f8f22d29ee
Use a custom cache directory for test_stepwise tests
...
Otherwise the tests will use tox's env cache which makes them flaky
2018-11-12 16:57:39 -02: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
025d160dfc
Update tests to pass in py27
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
1184db8273
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
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
87254ca593
Add test for --deselect without "::()"
...
Closes: https://github.com/pytest-dev/pytest/issues/4127 .
2018-11-10 23:46:41 +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
b51c1c3b8d
tests: fix equal_with_bash for .coverage files
...
Fixes https://github.com/pytest-dev/pytest/issues/4162 .
2018-11-10 03:24:02 +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
Bruno Oliveira
e00f3a2fb7
Merge pull request #4353 from blueyed/test_fileimport
...
tests: test_fileimport: improve reporting on failure
2018-11-09 08:32:49 -02: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
4a74d455de
minor: typos
2018-11-09 02:03:44 +01:00
Daniel Hahler
a0890f98d8
tests: harden test_config_error
2018-11-09 01:31:53 +01:00
Daniel Hahler
b494d3d1c1
tests: test_fileimport: improve reporting on failure
2018-11-09 01:17:36 +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
Bruno Oliveira
17b8e2d45b
Fix linting
2018-11-07 18:32:23 -02:00
Daniel Hahler
f840521854
harden test_collect_init_tests
2018-11-07 19:29:55 +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
a4819844a4
Use unicode/bytes literals instead of calls
2018-11-04 17:43:24 -08:00
Anthony Sottile
4bf6a07fe2
Merge pull request #4305 from RonnyPfannschmidt/cleanup-tobytes
...
replace byte/unicode helpers in test_capture with python level syntax
2018-11-04 17:29:41 -08:00
Fabien ZARIFIAN
a447dc86fb
Add test to branch
2018-11-05 00:14:35 +01:00
Ronny Pfannschmidt
7cb271b46f
replace byte/unicode helpers in test_capture with python level syntax
2018-11-04 22:01:01 +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
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
320e41b142
Add failing test for __init__.py also including other package files
2018-11-01 13:10:52 -04:00
Mick Koch
70976b04be
Add test for __init__.py collection with package directory as argument
2018-11-01 13:10:17 -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
Anthony Sottile
948fd7b8b0
fixup pyupgrade crlf incorrect fixes
2018-11-01 08:40:35 -07: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
f20eeebde9
Fix access denied error when deleting a stale temporary directory
...
Fix #4262
2018-10-30 15:35:53 -03: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
Bruno Oliveira
ebba3ebe67
Merge pull request #4240 from RonnyPfannschmidt/perf-example-collect-files
...
add script to generate a example folder for collecting many files
2018-10-26 19:19:02 -03:00
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
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
Ronny Pfannschmidt
bfa1993840
add script to generate a example folder for collecting many files
2018-10-25 22:07:20 +02: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
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
Bruno Oliveira
2ad43ee442
Show node that originated a warning in the warnings summary
...
Fix #4221
2018-10-24 18:49:53 -03: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
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
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
Ankit Goel
1b51497936
[WIP] Update warning stacklevel when wrapping warnings.warn
2018-10-18 02:36:41 +00:00
Ronny Pfannschmidt
56dd7bc551
TestNumberedDir: ignore that symlinks arent created on windows
2018-10-17 21:39:23 +02:00
Ronny Pfannschmidt
8dca8f3c9f
fix test_cleanup_keep for expecting symlinks
2018-10-17 21:16:44 +02:00
Ronny Pfannschmidt
cc335d44a0
fix #4179 - bring back the current testrun symlink
2018-10-17 20:43:27 +02: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
c25310d34f
fix cacheprovider test
2018-10-15 21:51:15 +01:00
David Szotten
8187c148d9
now pinned to pytest version
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
Bruno Oliveira
ced62f30ba
Attempt to create symlinks even on Windows, skipping when not possible
2018-10-14 18:21:04 -03:00
Jose Carlos Menezes
766d2daa06
Update returncode exit test to check exitstatus returrned from test session
2018-10-14 16:41:16 -03:00
Ronny Pfannschmidt
1dfa303b1e
fix #4135 - handle symlinks in tmp path cleanup
2018-10-14 21:20:34 +02:00
Bruno Oliveira
4808145846
test_request_garbage is flaky when running with xdist
...
Example failure:
https://travis-ci.org/pytest-dev/pytest/jobs/441305926#L545
2018-10-14 15:17:08 -03:00
Jose Carlos Menezes
ce55dcf64c
Add test for calling pytest.exit with statuscode
...
It checks that a SystemError was raised and the SystemError code
is the same as the returncode argument.
2018-10-14 12:29:19 -03:00