Bruno Oliveira
05cfdcc8cb
Revert making TerminalWriter public in TerminalReporter plugin
...
We eventually want to replace py.io.TerminalWriter (exposed as
"_tw" in TerminalReporter) by something else, so deprecating access
to "_tw" and making it public as "writer" is contrary to that.
2017-11-23 19:53:12 -02:00
Bruno Oliveira
f50ace7c0a
Merge remote-tracking branch 'upstream/master' into release-3.3.0
2017-11-23 20:20:40 +00:00
Bruno Oliveira
1d26f3730f
Fix docstrings in pytester
2017-11-22 17:15:59 -02:00
Sviatoslav Abakumov
5e71ffab87
Handle marks without description
2017-11-22 15:47:15 +03:00
Bruno Oliveira
f05333ab75
Fix rewrite to not write past the edge of the screen
2017-11-22 00:00:02 -02:00
Bruno Oliveira
c8d52b633b
Fix assertion rewrite to match module names correctly
...
Fix #2939
2017-11-21 23:06:47 -02:00
Bruno Oliveira
3a5dbabf60
Add tests for progress output and docs for ``console_output_style``
...
Fix #2657
2017-11-21 21:01:51 -02:00
Bruno Oliveira
3441084bd2
Add progress output for verbose mode with xdist
2017-11-21 21:01:51 -02:00
Bruno Oliveira
8b92527d7d
Add re_match_lines and re_match_lines_random to pytester fixture
2017-11-21 21:01:51 -02:00
Bruno Oliveira
dab889304e
Implement progress percentage reporting while running tests
...
Fix #2657
2017-11-21 21:01:41 -02:00
Anthony Sottile
219b758949
Add capsysbinary fixture
...
`capsysbinary` works like `capsys` but produces bytes for `readouterr()`.
2017-11-17 09:02:46 -08:00
Bruno Oliveira
6161bcff6e
Merge pull request #2925 from asottile/capfdbinary
...
Add capfdbinary fixture
2017-11-17 08:00:10 -02:00
Bruno Oliveira
1f08d990d5
Deprecate metafunc.addcall
...
Fix #2876
2017-11-15 15:16:00 -02:00
Anthony Sottile
8f90812481
Add capfdbinary fixture
...
`capfdbinary` works like `capfd` but produces bytes for `readouterr()`.
2017-11-14 14:50:00 -08:00
Bruno Oliveira
a6f2d2d2c9
Rename FixtureDef.finalizer to FixtureDef.finalizers
2017-11-12 11:35:46 -02:00
Bruno Oliveira
6d3fe0b826
Explicitly clear finalizers list in finalize to ensure cleanup
2017-11-12 11:28:57 -02:00
Bruno Oliveira
bdad345f99
Fix passing request to finish() in FixtureDef
2017-11-12 11:28:26 -02:00
Bruno Oliveira
f074fd9ac6
Merge remote-tracking branch 'upstream/features' into malinoff/fix-2124
2017-11-12 11:16:08 -02:00
Bruno Oliveira
6550b9911b
pytest_fixture_post_finalizer now receives a request argument
2017-11-12 11:14:55 -02:00
Bruno Oliveira
258031afe5
Merge remote-tracking branch 'upstream/master' into malinoff/fix-2124
2017-11-12 10:34:47 -02:00
Ronny Pfannschmidt
f0f2d2b861
Merge branch 'master' into fix-missing-nodeid-with-pyargs
2017-11-11 14:33:55 +01:00
Ronny Pfannschmidt
d1af369800
Merge pull request #2913 from nicoddemus/merge-master-into-features
...
Merge master into features
2017-11-11 10:09:49 +01:00
Ronny Pfannschmidt
b671c5a8bf
Merge pull request #2914 from nicoddemus/addfinalizer-refactor
...
Make SubRequest.addfinalizer an explicit method
2017-11-11 09:26:24 +01:00
Bruno Oliveira
f320686fe0
Make SubRequest.addfinalizer an explicit method
...
This implicit definition really tripped me while debugging #2127 ,
unfortunately hidden as it was in the middle of all the variable
declarations.
I think the explicit definition is much easier for the eyes and IDEs
to find.
2017-11-11 03:07:34 -02:00
Bruno Oliveira
742f9cb825
Merge pull request #2911 from RonnyPfannschmidt/remove-nodeinfo
...
remove unused _pytest.runner.NodeInfo class
2017-11-10 18:57:14 -02:00
Bruno Oliveira
983a09a2d4
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2017-11-10 18:33:02 -02:00
Ronny Pfannschmidt
76f3be452a
remove unused _pytest.runner.NodeInfo class
2017-11-10 17:48:52 +01:00
Ronny Pfannschmidt
c47dcaa713
switch a special case in scope node lookup to a general one
2017-11-10 17:35:42 +01:00
Bruno Oliveira
b11640c1eb
Fix linting E722: do not use bare except
2017-11-04 13:59:10 -02:00
Bruno Oliveira
03829fde8a
Fix linting E741: ambiguous variable name
2017-11-04 13:59:10 -02:00
Bruno Oliveira
e351976ef4
Merge remote-tracking branch 'upstream/features' into RonnyPfannschmidt/introduce-attrs
2017-11-04 12:32:27 -02:00
Ronny Pfannschmidt
b18a9deb4c
Merge pull request #2892 from nicoddemus/merge-master-into-features
...
Merge upstream/master into features
2017-11-04 08:15:28 +01:00
Bruno Oliveira
d7e8eeef56
Merge pull request #2878 from RonnyPfannschmidt/collector-makeitem-deprecate
...
deprecate the public internal PyCollector.makeitem method
2017-11-03 17:13:18 -02:00
Bruno Oliveira
7d43225c36
Merge pull request #2877 from RonnyPfannschmidt/extract-extract-parameterset
...
move responsibility for parameterset extraction into parameterset class
2017-11-03 16:52:28 -02:00
Bruno Oliveira
f3a119c06a
Merge upstream/master into features
2017-11-03 16:37:18 -02:00
Ronny Pfannschmidt
07b2b18a01
introduce attrs as dependency and use it
...
for FixtureFunctionMarker and marks
2017-10-30 17:04:42 +01:00
Bruno Oliveira
766de67392
Fix linting error in deprecated.py
2017-10-30 16:35:34 +01:00
Ronny Pfannschmidt
821f9a94d8
deprecate the public internal PyCollector.makeitem method
2017-10-30 16:35:23 +01:00
Thomas Hisch
2f993af54a
Fix context output handling for doctests
...
Show full context of doctest source in the pytest output, if the lineno of
failed example in the docstring is < 9.
2017-10-29 20:06:10 +00:00
Samuel Dion-Girardeau
b27dde24d6
Use a nametuple for `readouterr()` results
...
This allows accessing `out` and `err` directly by attribute,
while preserving tuple unpacking.
Also added tests, one for the `capsys` fixture, and one for the
`MultiCapture` class itself.
2017-10-28 14:53:19 -04:00
Ronny Pfannschmidt
4a436f2255
move responsibility for parameterset extraction into parameterset class
2017-10-27 17:55:07 +02:00
Sviatoslav Abakumov
fd7bfa30d0
Put imports on the last line unless there are other exprs
2017-10-25 11:05:07 +03:00
Sviatoslav Abakumov
3427d27d5a
Try to get docstring from module node
2017-10-25 10:54:43 +03:00
Ronny Pfannschmidt
def471b975
Merge pull request #2869 from nicoddemus/merge-master-into-features
...
Merge master into features
2017-10-25 09:08:08 +02:00
Ronny Pfannschmidt
f743e95cfc
Merge pull request #2791 from OfirOshir/features
...
bugfix for issue #2491
2017-10-25 09:04:01 +02:00
Bruno Oliveira
4e581b637f
Use zip and map from six
2017-10-24 22:13:32 -02:00
Bruno Oliveira
6b86b0dbfe
Fix additional linting issues
2017-10-24 21:01:00 -02:00
Bruno Oliveira
bdab29fa3d
Merge pull request #2867 from Perlence/ini-markers-whitespace
...
Strip whitespace from markers in INI config
2017-10-24 20:11:20 -02:00
Bruno Oliveira
6821d36ca5
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2017-10-24 19:57:14 -02:00
Sviatoslav Abakumov
52aadcd7c1
Strip whitespace from markers in INI config
...
Resolves #2856 .
2017-10-24 14:18:39 +03:00
Tom Dalton
f5e72d2f5f
Unused import / lint
2017-10-24 11:25:42 +01:00
Tom Dalton
a5ac19cc5e
Merge branch 'issue-2836-fixture-collection-bug' of github.com:tom-dalton-fanduel/pytest into issue-2836-fixture-collection-bug
2017-10-24 10:45:06 +01:00
Tom Dalton
14e3a5fcb9
Move the generic separator to a constant
2017-10-24 10:42:16 +01:00
Bruno Oliveira
a3ec3df0c8
Add E722 and E741 flake errors to the ignore list
...
Also fixed 'E704 multiple statements on one line (def)' in python_api
2017-10-23 18:19:15 -02:00
Tom Dalton
655ab0bf8b
Address more review comments, fix massive bug I reintroduced in the node-splitting code :-/
2017-10-23 17:49:49 +01:00
Tom Dalton
a7199fa8ab
Docstring typo
2017-10-23 16:59:56 +01:00
Tom Dalton
d714c196a5
Shorter code, longer docstring
2017-10-23 16:55:35 +01:00
Tom Dalton
ee7e1c94d2
Remove redundant if, tidy if-body
2017-10-23 16:12:07 +01:00
Tom Dalton
1e6dc6f8e5
Working (I think) fix for #2836
2017-10-23 13:26:42 +01:00
Ronny Pfannschmidt
083084fcbc
Merge pull request #2842 from ceridwen/features
...
Use funcsigs and inspect.signature to do function argument analysis
2017-10-20 07:49:08 +02:00
Ceridwen
3da28067f3
Replace introspection in compat.getfuncargnames() with inspect/funcsigs.signature
2017-10-19 16:01:26 -07:00
Ronny Pfannschmidt
3f9f4be070
Merge pull request #2845 from jespino/fix/2832
...
Adding Failed exception to manage maxfail behavior
2017-10-19 09:12:11 +02:00
Bruno Oliveira
537fc3c315
Merge pull request #2824 from dirk-thomas/pytest_addopts_before_initini
...
get PYTEST_ADDOPTS before calling _initini
2017-10-18 18:35:12 -02:00
Matty G
11b391ff49
Update mark.py
2017-10-17 14:11:07 -07:00
Jesús Espino
00d3abe6dc
Adding Failed exception to manage maxfail behavior
2017-10-17 21:32:20 +02:00
je
eaf38c7239
call path.read(), add tests, add news fragment
2017-10-14 00:49:54 +08:00
je
b29a9711c4
ignore valid setup.py during --doctest-modules
2017-10-14 00:49:45 +08:00
Ronny Pfannschmidt
c750a5beec
Merge pull request #2794 from thisch/catchlog
...
Merge pytest-catchlog plugin
2017-10-12 09:02:46 +02:00
Ronny Pfannschmidt
df37cdf51f
Merge pull request #2808 from georgeyk/allow-module-level-skip
...
Allow module level skip
2017-10-12 06:50:53 +02:00
Thomas Hisch
af75ca435b
Fix some coding-style issues in the logging plugin
2017-10-12 02:19:24 +02:00
Thomas Hisch
775f4a6f2f
Fix flake8 issue
2017-10-12 02:19:24 +02:00
Thomas Hisch
0e83511d6d
Rename name of registered logging plugin
2017-10-12 02:19:24 +02:00
Thomas Hisch
1f3ab118fa
Remove usage of get_logger_obj
2017-10-12 02:19:24 +02:00
Thomas Hisch
0ec72d0745
Improve get_option_ini and get_actual_log_level
2017-10-12 02:19:24 +02:00
Dirk Thomas
66e9a79472
get PYTEST_ADDOPTS before calling _initini
2017-10-11 09:38:44 -07:00
hugovk
ef732fc51d
Remove code for unsupported Python versions
2017-10-10 08:54:56 +03:00
Ronny Pfannschmidt
dd45f8ba6c
Merge pull request #2822 from RonnyPfannschmidt/nomore-py26
...
Nomore py26
2017-10-10 07:00:08 +02:00
Ronny Pfannschmidt
c486598440
remove some support code for old python versions
2017-10-09 17:25:13 +02:00
Bruno Oliveira
059455b45d
Merge pull request #2773 from RonnyPfannschmidt/fix-markeval-2767
...
refactor mark evaluators
2017-10-09 12:17:15 -03:00
Ronny Pfannschmidt
9b0ce535c9
Merge pull request #2801 from nicoddemus/capture-fixture
...
Allow fixtures to use capsys and capfd
2017-10-09 15:26:50 +02:00
Leonard Lausen
e89abe6a40
Defensive fallback in case of kwargs not being present
2017-10-09 00:37:27 +09:00
Leonard Lausen
c24ffa3b4c
Fix pytest.parametrize when argnames are specified as kwarg
2017-10-08 12:23:26 +09:00
Ronny Pfannschmidt
459cc40192
skipping: cleanup
...
remove dead comments
fix naming
remove dead code
2017-10-06 10:44:49 +02:00
Ronny Pfannschmidt
e3b73682b2
flake8 fix
2017-10-06 10:44:49 +02:00
Ronny Pfannschmidt
8480075f01
resuffle markevaluator internal structure
2017-10-06 10:44:49 +02:00
Ronny Pfannschmidt
9ad2b75038
skipping: replace _evalskip with a more consistent _skipped_by_mark
2017-10-06 10:44:49 +02:00
Ronny Pfannschmidt
a33650953a
remove unused import
2017-10-06 10:44:49 +02:00
Ronny Pfannschmidt
667e70f555
switch out the placeholder MarkEvaluator in unittest plugin
2017-10-06 10:44:49 +02:00
George Y. Kussumoto
03ce0adb79
Fix: handle CollectReport in folded_skips function
2017-10-04 19:18:55 -03:00
Bruno Oliveira
e7a4d3d8cf
Merge remote-tracking branch 'upstream/master' into features
2017-10-04 17:28:34 -03:00
Bruno Oliveira
df6d5cd4e7
Use ascii_escaped to escape unicode warnings
2017-10-03 12:19:37 -03:00
Bruno Oliveira
fbb9e9328b
Fix warning about non-ascii warnings even when they are ascii
...
Fix #2809
2017-10-03 07:39:53 -03:00
George Y. Kussumoto
c1aa63c0bb
Fix docstring alignment and typos
2017-10-02 21:24:52 -03:00
George Y. Kussumoto
79d3353081
Add allow_module_level kwarg to skip helper
2017-10-02 21:07:21 -03:00
Xuan Luong
7093d8f65e
Add example of -k 'not test' in help text
2017-09-30 18:43:20 -04:00
Bruno Oliveira
f9589f7b64
Resume output capturing after capsys/capfd.disabled() context manager
...
Fix #1993
2017-09-29 17:24:31 -03:00
Christian Boelsen
794d4585d3
Remove unnecessary complexity in _check_initialpaths_for_relpath().
2017-09-28 20:53:50 +01:00
Bruno Oliveira
3b30c93f73
Deprecate TerminalReporter._tw
...
Fix #2803
2017-09-27 17:16:34 -03:00
Bruno Oliveira
22f338d74d
Refactor some names for better understanding and consistency
2017-09-26 20:09:42 -03:00
Bruno Oliveira
9919269ed0
Allow to use capsys and capfd in other fixtures
...
Fix #2709
2017-09-26 20:09:36 -03:00
Thomas Hisch
ad21d5cac4
Remove pytest-capturelog backward compat code
2017-09-26 23:24:27 +02:00
Thomas Hisch
2559ec8bdb
use 'formatter' kwarg of catching_logs
2017-09-22 22:27:50 +02:00
Thomas Hisch
207f153ec1
Remove logging_at_level ctx manager
2017-09-22 22:27:50 +02:00
Thomas Hisch
3a4011585f
catching_logs: Remove usage of 'closing' ctx manager
...
The 'closing' context manager is only needed for the log_file_handler.
2017-09-22 22:27:50 +02:00
Thomas Hisch
57f66a455a
catching_logs: Remove unused 'filter' kwarg
2017-09-22 22:27:50 +02:00
Thomas Hisch
e41fd52e8c
Introduce live_logs context manager
2017-09-22 22:27:50 +02:00
Thomas Hisch
08f6b5f4ea
Use pytest.hookimpl instead of pytest.mark.hookwrapper
...
pytest.mark.hookwrapper seems to be used nowhere in the _pytest package.
2017-09-22 22:27:50 +02:00
Thomas Hisch
d13e17cf51
Don't modify the 'config' object in __init__
2017-09-22 22:27:50 +02:00
Thomas Hisch
f1f6109255
Remove _catchlog_ prefix
2017-09-22 22:27:50 +02:00
Thomas Hisch
87b8dc5afb
Move 'config' handling from pytest_configure to __init__
2017-09-22 22:27:50 +02:00
Thomas Hisch
fc965c1dc5
Remove outdated docstring
2017-09-22 22:27:50 +02:00
Thomas Hisch
a1bd54e4ea
Clean-up LogCaptureHandler
2017-09-22 22:27:50 +02:00
Thomas Hisch
36cceeb10e
Set type of log_print ini-variable to 'bool'
2017-09-22 22:27:50 +02:00
Thomas Hisch
98209e92ee
Remove superfluous whitespace in docstring
2017-09-22 22:27:50 +02:00
Thomas Hisch
1bea7e6985
Cleanup pytest_addoption
2017-09-22 22:27:50 +02:00
Thomas Hisch
6607478b23
Add unittests for LoggingPlugin (excluding perf tests)
2017-09-22 22:27:49 +02:00
Thomas Hisch
8eafbd05ca
Merge the pytest-catchlog plugin
2017-09-22 22:27:49 +02:00
Ofir
062a0e3e68
If an exception happens while loading a plugin, PyTest no longer hides the original traceback.
...
In python2 it will show the original traceback with a new message that explains in which plugin.
In python3 it will show 2 canonized exceptions, the original exception while loading the plugin in addition to an exception that PyTest throws about loading a plugin.
2017-09-19 15:14:08 +03:00
Oliver Bestwalter
2802135741
fix 'DoctestItem' object has no attribute '_fixtureinfo'
...
* doxtests don't seem to have this attribute, so nothing will be written in that case.
* tried to be a good boy scout and tidied up surrounding code a bit (comments, shadowed/unused names, removed random new lines, naming things)
2017-09-19 12:41:12 +02:00
Bruno Oliveira
3ebfb881c9
Merge remote-tracking branch 'upstream/master' into features
2017-09-18 19:10:31 -03:00
Bruno Oliveira
ac5c5cc1ef
Merge pull request #2750 from evanunderscore/fix-filescompleter
...
Fix crash in FastFilesCompleter with no prefix
2017-09-14 20:11:43 -03:00
Christian Boelsen
14b6380e5f
Fix #2775 - running pytest with "--pyargs" will result in Items with empty "parent.nodeid" if run from a different root directory
2017-09-13 17:15:32 +01:00
Xuan Luong
1e93089165
[bugfix] Checking MarkDecorator equality returns False for non-MarkDecorator object
2017-09-09 01:31:08 -04:00
Bruno Oliveira
9273e11f21
Merge branch 'master' into features
2017-09-07 13:59:10 -03:00
Evan
6cf515b164
Fix crash in FastFilesCompleter with no prefix
2017-09-08 00:14:56 +10:00
Ronny Pfannschmidt
6967f3070e
Merge pull request #2711 from massich/mimic_raises_signature_in_warns
...
[MRG][feature] Change warns signature to mimic the raises call
2017-09-07 13:19:09 +02:00
Joan Massich
80d165475b
Add documentation
2017-09-07 10:28:52 +02:00
Joan Massich
aa6a67044f
Add match_regex functionality to warns
2017-09-07 09:58:03 +02:00
Bruno Oliveira
d01f08e96f
Merge branch 'features' into pluggy-master
2017-09-06 13:13:35 -03:00
Ronny Pfannschmidt
ad36407747
Merge pull request #2700 from nicoddemus/staticmethods-fixtures
...
Allow tests declared as @staticmethod to use fixtures
2017-09-06 08:24:00 +02:00
Bruno Oliveira
e1f2254fc2
Merge pull request #2734 from RonnyPfannschmidt/simplify-string-safening
...
simplyfy ascii escaping by using backslashreplace error handling
2017-09-05 21:14:27 -03:00
Bruno Oliveira
f825b4979b
Merge remote-tracking branch 'upstream/master' into features
2017-09-05 19:44:33 -03:00
Bruno Oliveira
1fc185b640
Add comment about possible future refactoring in the fixture mechanism
2017-09-05 19:28:39 -03:00
Tarcisio Fischer
8d1903fed3
Avoid creating arbitrary filenames for tmpdir on Testdir's constructor
...
Fixes #2751
2017-09-05 15:22:04 -03:00
Ronny Pfannschmidt
13eac944ae
restore ascii escaping for python 3.3/3.4
2017-09-04 21:25:46 +02:00
Bruno Oliveira
3dc0da9339
Remove __multicall__ warning and usages in testing
...
pluggy>=0.5 already warns about those
2017-09-01 18:53:06 -03:00
Ronny Pfannschmidt
181bd60bf9
Merge pull request #2742 from nicoddemus/resultlog-deprecation
...
Improve user guidance regarding ``--resultlog`` deprecation
2017-09-01 08:29:41 +02:00
Bruno Oliveira
3288c9a110
Improve user guidance regarding ``--resultlog`` deprecation
...
Fix #2739
2017-08-31 19:11:41 -03:00
Bruno Oliveira
221797c609
Encode utf-8 byte strings in pytester's makefile
...
Fix #2738
2017-08-31 18:49:06 -03:00
Ronny Pfannschmidt
5e00549ecc
Merge pull request #2735 from fgmacedo/fgm-fix-reprfuncargs-toterminal
...
2731.bug Fix ReprFuncArgs with mixed unicode and utf-8 args.
2017-08-31 09:36:56 +02:00
Fernando Macedo
59cdef92be
fixes #2731 ReprFuncArgs with mixed unicode and utf-8 args
2017-08-30 16:06:12 -03:00
Ronny Pfannschmidt
78a027e128
simplyfy ascii escaping by using backslashreplace error handling
2017-08-30 16:43:16 +02:00
Tyler Goodlet
ff35c17ecf
Drop wrapper module; import directly
2017-08-25 11:46:55 -04:00
Tyler Goodlet
9ab83083d1
Update docs
2017-08-24 16:53:37 -04:00
Tyler Goodlet
333a9ad7fa
Stop vendoring pluggy
...
Resolves #2716
2017-08-24 15:54:33 -04:00
Kirill Pinchuk
12b1bff6c5
`compat.safe_getattr` now catches OutcomeExceptions too
2017-08-23 17:17:03 +03:00
Bruno Oliveira
a993add783
Allow tests declared as @staticmethod to use fixtures
...
Fix #2699
2017-08-17 20:44:19 -03:00
Bruno Oliveira
f18780ed8a
Update docs: ``match`` keyword was introduced in 3.1
...
Also update the text to recommend using the context-manager
over the callable/string forms.
2017-08-16 14:28:34 -03:00
Ronny Pfannschmidt
5c0feb2877
Merge pull request #2680 from prokaktus/skipping-same-module
...
Fold skipped tests with global pytestmark variable
2017-08-15 10:52:24 +02:00
prokaktus
98bf5fc9be
Fold skipped tests with global pytestmark variable
2017-08-15 02:18:46 +03:00