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
Bruno Oliveira
486ded3fca
Fix flaky durations test
...
Unfortunately due to fluctuations in runtime "test_something"
might still appear in the final message.
Example failure:
https://ci.appveyor.com/project/pytestbot/pytest/builds/19494829/job/8lx847u0c78m63wf
2018-10-14 12:22:56 -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
Bruno Oliveira
e3bf9cede4
Fix linting
2018-10-13 22:13:25 -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
Daniel Hahler
d3d8d53e41
tests: test_pdb: fix print statements
2018-10-13 23:33:52 +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
Daniel Hahler
6bf4692c7d
acceptance_test: clarify/document/fix tests
...
Ref: e2e6e31711 (r30863971)
2018-10-13 14:41:17 +02:00
Daniel Hahler
81426c3d19
tests: harden test_cmdline_python_package_symlink
2018-10-13 14:41:12 +02: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
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
Bruno Oliveira
0f5263cdc3
Merge pull request #4109 from njonesu/master
...
Fix multiple string literals on a line #4093
2018-10-11 15:50:08 -03:00
Ronny Pfannschmidt
b82d6f7a0b
pytester: use per test tmproot
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
00716177b4
fix missed Path import
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
d76fa59b35
fix lock timeouts for good this time
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
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
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
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
Daniel Hahler
be511c1a05
tests: add missing expect before sendeof for pdbpp
...
With pdb++ this additional `expect` is required, otherwise `sendeof()`
will block forever.
2018-10-10 20:50:49 +02:00
Daniel Hahler
f36f9d2698
tests: fix/clarify expect for Pdb
...
`expect()` expects an regular expression, so "Pdb" is equivalent to
"(Pdb)".
But instead of escaping the parenthesis this patch removes them, to
allow for matching "(Pdb++)", too.
2018-10-10 20:50:49 +02:00
Niklas JQ
c14a23d4e4
Fix #4093 : multiple string literals on a line
2018-10-10 19:28:31 +02:00
Anthony Sottile
e0f6fce9e9
In python2, display previously warned warnings
2018-10-10 09:37:21 -07: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
Ronny Pfannschmidt
8393fdd51d
Merge pull request #4089 from asottile/upgrade_hooks
...
Upgrade pre-commit hooks
2018-10-09 07:43:28 +02:00
Kyle Altendorf
4071c8a4a8
Correct timing in test_pytester.test_testdir_run_with_timeout()
2018-10-08 21:03:42 -04:00
Anthony Sottile
a86035625c
Increase recursion limit (broke xdist tests)
2018-10-08 12:57:45 -07:00
Anthony Sottile
4f631440be
Use RuntimeError for py27 + py34 compat
2018-10-08 11:47:06 -07:00
Anthony Sottile
3901569f26
Improve performance of ~3 of the slowest tests
2018-10-08 11:12:55 -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
48dcc67274
Increase timeout in test_testdir_run_with_timeout to decrease false failures
2018-10-06 22:02:33 -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
8e0e862c84
Stretch out the time assertion for slow AppVeyor
2018-10-05 01:38:01 -04:00
Kyle Altendorf
0d095fc978
Up timeout to 1 second for test
2018-10-04 23:09:07 -04:00
Kyle Altendorf
dcd635ba0c
Correct timeout to check every so often
2018-10-04 23:08:57 -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
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
b8b9e8d41c
Remove duplicate test (tested above)
2018-10-03 10:01:06 -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
bc009a8582
Fix test to comply with pypy 6.0
2018-10-01 18:37:27 -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
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
Bruno Oliveira
ba5630e0f8
Simplify test_pytest_plugins_in_non_top_level_conftest_deprecated
2018-09-26 10:49:14 -03:00
Denis Otkidach
808df48ee8
Test for excluding empty reports for passed tests
2018-09-26 16:44:00 +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
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
048342817b
Add testcase for logging to file
2018-09-18 21:47:42 +02: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
87ddb2dbd5
Change flaky test_request_garbage to provide more debug information
...
This test fails *very* rarely when running in xdist.
2018-09-14 15:25:45 -03:00
Bruno Oliveira
9aa6b0903b
.pytest_cache is now automatically ignored by Git
2018-09-14 15:16:40 -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
Daniel Hahler
7537e94ddf
tests: use unittest.mock with py34+
...
Fixes https://github.com/pytest-dev/pytest/issues/3965 .
Has to work around https://github.com/tox-dev/tox/issues/706 .
No coverage for pluggymaster builds is OK though anyway.
2018-09-12 23:21:47 +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
c00d934b21
Merge pull request #3933 from nicoddemus/idval-hypothesis-flaky-3707
...
Use -n auto now that xdist behaves well in Travis and AppVeyor
2018-09-06 15:15:55 -03:00
Bruno Oliveira
5eb85efa14
Use -n auto now that xdist behaves well in Travis and AppVeyor
...
This hopefully fixes the flaky test_idval_hypothesis on AppVeyor
Fix #3707
2018-09-06 09:22:13 -03: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
Bruno Oliveira
ddb308455a
Make sure warn is called in test_parameterset_extractfrom
2018-09-05 09:01:29 -03:00
Bruno Oliveira
adc9ed85bc
Fix test_idval_hypothesis
2018-09-04 18:49:20 -03:00
Bruno Oliveira
4592def14d
Improve test_rewarn_functional
2018-09-04 17:02:56 -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
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
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
5ef51262f7
Fix reference to PytestWarning in warningsfilter mark
2018-09-04 15:06:14 -03:00
Bruno Oliveira
f1cfd10c94
Handle cache warnings in tests
2018-09-04 14:44:02 -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
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
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
60499d221e
Add test to ensure that users can suppress internal warnings
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
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
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
CrazyMerlyn
b01704cce1
Fix exit code for command line errors
...
Fixes #3913
2018-09-03 04:16:35 +00:00
Bruno Oliveira
4675912d89
Add tests for early rewrite bailout code and handle patterns with subdirectories
2018-09-01 10:59:21 -03:00
Bruno Oliveira
2256f2f04d
Remove test which is no longer required and improve test_lf_and_ff_prints_no_needless_message
...
* test_lf_and_ff_obey_verbosity is no longer necessary because
test_lf_and_ff_prints_no_needless_message already checks if the proper messages
are displayed when -q is used.
* Improve test_lf_and_ff_prints_no_needless_message so we also check that
the correct message is displayed when there are failures to run
2018-08-31 08:01:55 -03: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
8ef21f56d3
Fix 404
2018-08-28 14:42:16 -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
29e114b463
Try to fix test in MacOS-X
2018-08-27 19:27:51 -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
Bruno Oliveira
9620b167d9
Merge pull request #3887 from asottile/improve_test_code
...
Improve the coverage of testing/code
2018-08-27 07:20:45 -03: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
Anthony Sottile
1e8e17c01e
Improve the coverage of testing/code
2018-08-26 16:13:22 -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
2577a6ce8a
Merge pull request #3873 from nicoddemus/sys-path-fix
...
Remove dangerous sys.path manipulations in test_pluginmanager
2018-08-26 08:53:57 -03:00
Jeffrey Rackauckas
2a917a582e
Removing accidental change to test
2018-08-25 22:21:50 -07:00
Jeffrey Rackauckas
325319dc3b
Fixing xdist test to properly configure an ini file.
2018-08-25 22:18:29 -07:00
Bruno Oliveira
b0541e9d31
Correctly restore sys.path in test and remove dead code in test_pytester
...
The code in test_pytester has been refactored into a class right
above the dead code, and the code has been left there by mistake
apparently.
2018-08-25 18:17:52 -03:00
Bruno Oliveira
f872fcb5d0
Remove dangerous sys.path manipulations in test_pluginmanager
...
Noticed these while working in something else
2018-08-25 17:33:29 -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
8cf0e46bbf
test_package_ordering: Collect *.py, but keep a mix of case for filenames. The test doesn't make sense for Windows, because of its case-insensitivity.
2018-08-24 16:23:50 -07:00
Bruno Oliveira
f0226e9329
Fix test_package_ordering on Windows
2018-08-24 20:15:33 -03:00
turturica
dce8df45d5
Added changelog items.
2018-08-24 15:51:42 -07:00
turturica
e3df1031ca
Add encoding: utf8 for python 2.7
2018-08-24 12:26:18 -07:00
turturica
459b040d21
Fix dedent after merge.
2018-08-24 11:54:04 -07:00
turturica
3396225f74
Merge branch 'master' of github.com:pytest-dev/pytest into fix-3854
2018-08-24 11:47:24 -07:00
Jeffrey Rackauckas
5fefc48f33
Fixing pre-commit hooks
2018-08-23 23:00:02 -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
Bruno Oliveira
d10d59c013
Merge pull request #3858 from mimi1vx/test_mock
...
Use unittest.mock if is only aviable
2018-08-23 19:02:39 -03: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
85482d575e
Replace Source with dedent where possible
2018-08-23 09:06:17 -07:00
Anthony Sottile
7099ea9bb0
py.builtin._reraise -> six.reraise
2018-08-22 23:00:58 -07:00
Anthony Sottile
dccac69d82
py.builtin.text -> six.text_type
2018-08-22 23:00:06 -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
Anthony Sottile
8bb8b91357
pyupgrade 1.4: tests
2018-08-22 18:47:21 -07:00
Ondřej Súkup
cd07c4d4ff
Use unittest.mock if is only aviable
...
from Python 3.3 is mock part of python standard library in unittest namespace
2018-08-22 23:49:40 +02:00
wim glenn
b08e156b79
strip trailing whitespace
2018-08-22 11:27:36 -05:00
wim glenn
8e2c7b4979
Add a failing testcase for PR #3848
2018-08-22 11:00:51 -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
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
Victor
70ebab3537
Renamed snap_global_capture to read_global_capture.
2018-08-20 17:48:14 +02:00
Victor
d611b03589
Parametrized tests for capfd as well. Separated global capture test.
2018-08-20 12:23:59 +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
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
9e382e8d29
Fixed test.
2018-08-19 14:29:57 +02:00
victor
2255892d65
Improved test to cover more cases.
2018-08-19 13:44:12 +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
c24c7e75e2
Added regression test for capfd in a fixture
2018-08-18 14:11:04 -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
Victor
090f67a980
Refactored implementation and updated tests.
2018-08-17 13:41:26 +02:00
Victor
3059bfb1b3
Update test with another problem.
2018-08-17 13:00:27 +02:00
Victor
e391c47ed8
Update capture suspend test for logging.
2018-08-17 00:44:15 +02:00
Victor
da9d814da4
Added test.
2018-08-17 00:20:51 +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
212ee450b7
simplified test function
2018-08-14 20:29:42 -05:00
Sankt Petersbug
6367f0f5f1
fix `filterwarnings` mark not registered
2018-08-14 16:13:15 -05:00
turturica
e92893ed24
Add test for packages mixed with modules.
2018-08-10 17:29:30 -07:00
Bruno Oliveira
27b5435a40
Fix docs formatting and improve test a bit
2018-08-10 18:19:07 -03:00
turturica
50db718a6a
Add a test description.
2018-08-10 13:57:29 -07:00
turturica
266f05c4c4
Fix #3751
2018-08-09 18:28:22 -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
051db6a33d
Trimming Trailing Whitespace
2018-08-08 18:18:18 -05: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
dcafb8c48c
Add example for package recursion bug
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
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
Bruno Oliveira
43664d7841
Use ids for parametrized values in test_expected_value_type_error
2018-08-01 07:34:08 -03:00
Bruno Oliveira
6e32a1f73d
Use parametrize in repr test for nd arrays
2018-08-01 07:04:25 -03:00
Ronny Pfannschmidt
fcdc1d867e
fix #3745 - display absolute cache_dir if necessary
2018-08-01 08:25:37 +02: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
Bruno Oliveira
e1ad1a14af
Add example script and failure for #3742
2018-07-31 17:50:55 -03: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
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
cf6d8e7e53
Fix test and update warning in pytest_namespace docs
2018-07-30 12:16:42 -03:00
abrammer
535fd1f311
may as well include inf test while we're at it
2018-07-29 23:12:04 -04:00
abrammer
330640eb96
update tests to check tolerance args and expecing nan in numpy arrays
2018-07-29 22:47:38 -04:00
Bruno Oliveira
57b0c60cb4
Remove Testdir.run_example as recommended
2018-07-26 20:10:40 -03:00
Bruno Oliveira
6e57d123bb
Mark test_idval_hypothesis as flaky on Windows ( #3707 )
2018-07-26 19:58:42 -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
abrammer
514ca6f4ad
add test wrt #3695 checking numpy array tolerance args
2018-07-23 23:40:06 -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
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
593b451373
Merge pull request #3670 from asottile/remove_unused_fix_lint
...
Remove unused fix-lint tox environment
2018-07-10 19:08:31 -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
af0059079c
Remove unused fix-lint tox environment
2018-07-08 17:05:01 -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
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
Jeffrey Rackauckas
067de257e1
Fix test_pdb.py with pexpect
2018-07-02 21:03:21 -07:00
Jeffrey Rackauckas
4a925ef5e9
Fixing bug in test.
2018-07-02 20:29:59 -07:00
Jeffrey Rackauckas
2f1a2cf07f
Fixing --trace test.
2018-07-02 19:55:08 -07:00
Jeffrey Rackauckas
6cc4fe2412
Fixing bad indentation
2018-07-02 19:53:46 -07:00
Jeffrey Rackauckas
10a8691eca
Add support for yielded functions.
2018-07-02 19:46:26 -07:00
Jeffrey Rackauckas
bc268a58d1
Adding needed newline
2018-07-01 20:22:50 -07:00
Jeffrey Rackauckas
0b70477930
Fix linting issues.
2018-07-01 20:18:00 -07:00
Jeffrey Rackauckas
533f4cc10c
Fix test to pass
2018-06-30 21:36:27 -07:00
Jeffrey Rackauckas
952bbefaac
Add initial test.
2018-06-30 18:26:58 -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
dad3e77319
Improve test readability.
2018-06-30 18:57:24 +02:00
Victor
3a1c15316b
Updated test for python 2.7
2018-06-30 16:11:20 +02:00
Victor
a6636fddcd
Fixed open function with encoding in python 2.7
2018-06-29 17:04:30 +02: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
Ronny Pfannschmidt
4ae7e9788c
fix quotes in scope order test
2018-06-29 07:13:18 +02:00
Ronny Pfannschmidt
5582ad0445
remove use of formatting in test_func_closure_module_auto
...
this makes it apparent that pytester should supply some kind of variable support
2018-06-29 07:07:03 +02:00
Ronny Pfannschmidt
982b614010
remove format calls for most fixture tests
2018-06-29 07:07:03 +02:00
Ronny Pfannschmidt
7845ab4bc3
remove test file formatting from TestContextManagerFixtureFuncs
2018-06-29 07:07:03 +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
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
e860ff7299
port some acceptance tests over to copy_example
2018-06-26 22:59:40 +02:00
Ronny Pfannschmidt
cc6eb9f83c
move test reports to own file
2018-06-26 22:09:15 +02:00
Ronny Pfannschmidt
b8486037d3
fix #3605 - unpack markdecorators from parameterization
2018-06-26 21:57:31 +02:00
Ronny Pfannschmidt
78a82c05ef
consistent failure on all python versions for test_markers_from_parametrize
2018-06-26 21:57:31 +02:00
Ronny Pfannschmidt
853975d93b
add failing test for #3605
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
f940967e23
Fix test offset after black moved code
2018-06-26 06:35:48 -07: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
Ondřej Súkup
deff54aae0
Try import mock, but on python 3.3+ can use also stdlib unittest.mock
...
From Python 3.3 is mock part of python standard library in unittest namespace
2018-06-23 23:27:07 +02:00
Ronny Pfannschmidt
ee30bf45c9
rebase onto readme addition
2018-06-23 00:03:10 +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
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
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
Bruno Oliveira
9e32b6ae48
Small typo and grammar fix
2018-06-15 15:05:00 -03:00
Ronny Pfannschmidt
99402cf1c0
add a readme to the example scripts
2018-06-15 20:02:01 +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
5221a14764
Failing test case for #3583
2018-06-15 17:23:49 +00:00
Ronny Pfannschmidt
3ac2ae3c8c
black
2018-06-15 18:13:45 +02:00
Ronny Pfannschmidt
ea906056fa
add the actually expected fixtureorder for #519
2018-06-15 18:04:24 +02:00
Ronny Pfannschmidt
c081c5ee23
add example scripts for issue #519
2018-06-15 18:04:24 +02:00
Wil Cooley
3615977608
Add `messages` property to `caplog` fixture.
2018-06-14 12:22:33 -07:00
Ronny Pfannschmidt
eb0c6a8287
fix addmarker - extract mark from markdecorator
2018-06-13 17:27:00 +02:00
Ronny Pfannschmidt
321f66f711
mark test_wrapped_getfuncargnames_patching as xfail
2018-06-12 22:25:05 +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
Bruno Oliveira
41125968d9
Check the exception matches the message for completeness
2018-06-11 20:33:13 -03:00
Bruno Oliveira
4fd66e8a42
Run black on test file
2018-06-11 20:32:08 -03: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
Bruno Oliveira
04b65cfba0
Merge pull request #3565 from nicoddemus/xfail-test-request-garbage
...
Attempt to fix test_request_garbage on Windows
2018-06-11 15:23:47 -03: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
Bruno Oliveira
5ea647a245
Attempt to fix flaky test_request_garbage on Windows
...
Fix #3564
2018-06-10 19:18:44 -03: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
464117b472
fix imports in tests
2018-06-05 10:20:36 +02:00
Ronny Pfannschmidt
7f5cb46835
Merge pull request #3531 from hroncok/370b5
...
Module docstrings in 3.7 are not part of Module node anymore
2018-06-05 01:16:14 +02:00
Miro Hrončok
39ebdab1bc
DRY in TestAssertionRewrite
2018-06-04 14:03:13 +02:00
Miro Hrončok
9a6fa33c69
Module docstrings in 3.7 are not part of Module node anymore
...
Fixes https://github.com/pytest-dev/pytest/issues/3530
2018-06-04 13:58:35 +02:00
Anthony Sottile
ff19f273a9
Use six to import queue instead of py.builtin._tryimport
2018-06-03 13:12:49 -07:00
Anthony Sottile
3d0717813a
bytes() is a builtin in python2.6+
2018-06-03 11:54:36 -07:00
Bruno Oliveira
1b16d649f9
Fix formatting of merged files
2018-05-25 18:21:48 -03:00
Bruno Oliveira
6f8547cc1a
Merge branch 'master' into pre-commit-hook
2018-05-25 18:14:43 -03:00
Bruno Oliveira
93fdad28aa
Merge pull request #3499 from jeffreyrack/3491-junit-logging
...
3491 - Fixed a bug where stdout and stderr were logged twice by junitxml for xfail tests.
2018-05-24 20:50:16 -03:00
Ronny Pfannschmidt
9ed1289b01
run black on test_source_multiline_block.py
2018-05-24 12:12:12 +02:00
Ronny Pfannschmidt
da2c2e8492
more debugging for #3498
2018-05-24 09:58:36 +02:00
Ronny Pfannschmidt
74cfdc5feb
add failing test for #3498
2018-05-24 07:30:38 +02:00
Jeffrey Rackauckas
b4e0265622
Removed whitespace from empty line.
2018-05-23 20:15:28 -07:00
Jeffrey Rackauckas
6c519b1280
Fixed a bug where stdout and stderr were logged twice by junitxml.
2018-05-23 19:34:45 -07:00
Ronny Pfannschmidt
57a55cd0a3
restore formatting of test_source_multiline_block
2018-05-23 20:26:13 +02:00
Ronny Pfannschmidt
d4bf2ff8f5
fix test_source
2018-05-23 18:22:18 +02:00
Ronny Pfannschmidt
3e08c4ee64
sort out flake8 issues and unicode name usage
2018-05-23 18:12:04 +02:00
Ronny Pfannschmidt
703e4b11ba
run black
2018-05-23 16:48:46 +02:00
Ronny Pfannschmidt
3e1590bcfc
sort out pyupgrade fallout
2018-05-23 16:45:58 +02:00
Ronny Pfannschmidt
3b9e063fe8
fix line endings
2018-05-23 16:45:23 +02:00
Ronny Pfannschmidt
9aacb4635e
run pyupgrade
2018-05-23 16:45:09 +02:00
Bruno Oliveira
7d0c9837ce
Merge pull request #3459 from RonnyPfannschmidt/mark-iter-name-filter
...
introduce name filtering for marker iteration again
2018-05-21 13:24:39 -03:00
Bruno Oliveira
674879976f
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-05-18 12:30:08 -03:00
Bruno Oliveira
94e62dfc50
Increase hypothesis deadline
...
The value is pretty close to the new default that will come out in
future hypothesis versions, which is generating a deprecation error
on CI.
Using a loose deadline because CI boxes are not reliable in how much
CPU power they have available
2018-05-16 07:34:53 -03:00
Ville Skyttä
aa51fcb2b6
Spelling and grammar fixes
2018-05-13 12:06:09 +02:00
Ronny Pfannschmidt
4914135fdf
introduce name filtering for marker iteration again
2018-05-11 21:48:15 +02:00
Bruno Oliveira
fa76a5c8fe
Attempt to fix flaky test on Python 2
...
This test sometimes fails on AppVeyor with:
```
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.0 = <listiterator object at 0x0549DC50>
leaked_types = sum(1 for _ in gc.garbage
> if 'PseudoFixtureDef' in str(_))
E UnicodeEncodeError: 'ascii' codec can't encode character u'\u263a' in position 23: ordinal not in range(128)
test_request_garbage.py:19: UnicodeEncodeError
====================== 1 passed, 1 error in 1.39 seconds ======================
```
Use our internal "safe_repr" function to handle Encode errors: who knows
what objects are in garbage after all.
2018-05-04 17:56:51 -03:00
Bruno Oliveira
dca77b2273
Escape whitespace only strings when diffing them on failed assertions
...
Fix #3443
2018-05-03 20:38:00 -03:00