Ronny Pfannschmidt
d1aa553f73
add mocked integrationtest for the deprecationwarning of makeitem
2017-10-30 19:49:14 +01:00
Ronny Pfannschmidt
cd747c48a4
Merge pull request #2874 from nicoddemus/fix-py27-xdist-envs-2843
...
Change directory for py27 xdist-related envs
2017-10-30 17:09:34 +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
Bruno Oliveira
27cea340f3
Remove trailing whitespace
2017-10-26 21:55:28 -02:00
Bruno Oliveira
27bb2eceb4
Add comment about why we remove docstrings on test_assertrewrite
...
As explained in pytest-dev/pytest#2870
2017-10-26 20:15:05 -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
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
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
1e6dc6f8e5
Working (I think) fix for #2836
2017-10-23 13:26:42 +01:00
Tom Dalton
c03612f729
Test now looks for real expected output
2017-10-23 12:40:32 +01:00
Tom Dalton
29fa9d5bff
Add failing test
2017-10-23 12:28:54 +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
Bruno Oliveira
f7387e45ea
Fix linting
2017-10-19 21:50:15 -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
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
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
8aed5fecd9
Remove test_logging_initialized_in_test
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
815dd19fb4
Remove unicode literal compat code
2017-10-12 02:19:24 +02:00
Bruno Oliveira
10a3b9118b
Use a relative cache_dir in test because of how arguments are parsed on Windows
...
We use shlex to parse command-line arguments and PYTEST_ADDOPTS, so passing
a full path with '\' arguments produces incorrect results on Windows
Anyway users are advised to use relative paths for portability
2017-10-11 19:37:17 -03:00
Dirk Thomas
ce8c829945
add test for #2824
2017-10-11 09:41:18 -07:00
hugovk
7113c76f0d
Remove unused import
2017-10-10 09:03:26 +03:00
hugovk
ef732fc51d
Remove code for unsupported Python versions
2017-10-10 08:54:56 +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
e86ba41a32
Add testcase for #2819
2017-10-09 01:06:25 +09: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
06307be15d
Add initial tests using skip with allow_module_level kwarg
2017-10-02 21:07:21 -03:00
Bruno Oliveira
f9589f7b64
Resume output capturing after capsys/capfd.disabled() context manager
...
Fix #1993
2017-09-29 17:24:31 -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
3e71a50403
Remove unneeded sys import from unittest
2017-09-22 22:27:50 +02:00
Thomas Hisch
1ba219e0da
Adapt (logging) unittest
2017-09-22 22:27:50 +02:00
Thomas Hisch
ca46f4fe2a
Remove conftest
2017-09-22 22:27:49 +02:00
Thomas Hisch
5130f5707f
Fix name clash
2017-09-22 22:27:49 +02:00
Thomas Hisch
6607478b23
Add unittests for LoggingPlugin (excluding perf tests)
2017-09-22 22:27:49 +02:00
Ofir
c89827b9f2
updating import plugin error test in order to make sure it also checks that the original traceback has been shown to the users
2017-09-19 15:23:07 +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
afe7966683
Fix call to outcome.get_result now that outcome.result is deprecated
2017-09-18 21:36:54 -03: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
Ronny Pfannschmidt
70cdfaf661
Merge pull request #2754 from nicoddemus/xfail_strict
...
Set xfail_strict=True in pytest's own test suite
2017-09-13 09:01:32 +02:00
Bruno Oliveira
abfd9774ef
Remove xfail mark from passing test in py26
2017-09-12 17:59:09 -03: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
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
f825b4979b
Merge remote-tracking branch 'upstream/master' into features
2017-09-05 19:44:33 -03:00
Bruno Oliveira
7d59b2e350
Fix call to outcome.force_result
...
Even though the test is not running at the moment (xfail), at least
we avoid future confusion
2017-09-05 19:08:20 -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
Joan Massich
d8ecca5ebd
Add test to design warns signature in TDD mimicking raises signature
2017-09-04 15:26:00 +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
Tyler Goodlet
ff35c17ecf
Drop wrapper module; import directly
2017-08-25 11:46:55 -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
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
Ronny Pfannschmidt
eb462582af
fix #2675 - store marks correctly in callspecs
2017-08-10 19:46:36 +02:00
Bruno Oliveira
cc0f2473eb
Fix windows console workaround error with non-standard io-streams
...
Fix #2666
2017-08-07 20:57:13 -03:00
Srinivas Reddy Thatiparthy
a0101f024e
remove os.sep as it behaves differently linux and windows.
...
* on linux it is '/'
* on windows it is '\'
2017-08-05 23:21:43 +05:30
Bruno Oliveira
ad52f714a9
Fix small terminal glitch when collecting a single test item
...
Fix #2579
2017-08-03 20:57:46 -03:00
Bruno Oliveira
1deac2e210
Properly escape test names when setting PYTEST_CURRENT_TEST environment variable
...
Fix #2644
2017-08-01 20:52:37 -03:00
Bruno Oliveira
763c580a2a
Merge pull request #2576 from maiksensi/feat/raise-not-implemented-for-lt-gt-in-approx
...
#2003 Change behavior of `approx.py` to only support `__eq__` comparison
2017-07-30 17:48:33 -03:00
Bruno Oliveira
e1aed8cb17
Merge pull request #2490 from RonnyPfannschmidt/fix-580
...
Test Outcomes as BaseException - fix #580
2017-07-30 17:38:42 -03:00
Bruno Oliveira
713f7636e1
Merge pull request #2632 from jmoldow/pep_0415_suppress_exception_context
...
Support PEP-415's Exception.__suppress_context__
2017-07-30 17:22:40 -03:00
Bruno Oliveira
4cd8727379
Merge pull request #2617 from wence-/fix/nondeterministic-fixtures
...
Fix nondeterminism in fixture collection order
2017-07-30 17:17:40 -03:00
Jordan Moldow
2e61f702c0
Support PEP-415's Exception.__suppress_context__
...
PEP-415 states that `exception.__context__` should be suppressed
in traceback outputs, if `exception.__suppress_context__` is
`True`.
Now if a ``raise exception from None`` is caught by pytest,
pytest will no longer chain the context in the test report.
The algorithm in `FormattedExcinfo` now better matches the one
in `traceback.TracebackException`.
`Exception.__suppress_context__` is available in all of the
versions of Python 3 that are supported by pytest.
Fixes #2631 .
2017-07-29 02:39:17 -07:00
Ronny Pfannschmidt
be401bc2f8
fix linting issues
2017-07-28 18:27:59 +02:00
Ronny Pfannschmidt
06a49338b2
make Test Outcomes inherit from BaseException instead of exception
...
fixes #580
2017-07-28 15:28:51 +02:00
Bruno Oliveira
75e6f7717c
Use new hook to report accurate tests skipped in --lf and --ff
2017-07-28 08:54:55 -03:00
Bruno Oliveira
eb1bd3449e
xfail and skipped tests are removed from the "last-failed" cache
...
This accommodates the case where a failing test is marked as
skipped/failed later
2017-07-27 18:43:04 -03:00
Bruno Oliveira
22212c4d61
Add xfail specific tests
2017-07-27 14:40:21 -03:00
Bruno Oliveira
62810f61b2
Make cache plugin always remember failed tests
2017-07-27 14:40:21 -03:00
Bruno Oliveira
17c544e793
Introduce new pytest_report_collectionfinish hook
...
Fix #2622
2017-07-27 10:44:29 -03:00
Bruno Oliveira
3d89905114
Merge remote-tracking branch 'upstream/master' into features
2017-07-26 19:01:28 -03:00
Lawrence Mitchell
a546a612bd
Fix nondeterminism in fixture collection order
...
fixtures.reorder_items is non-deterministic because it reorders based
on iteration over an (unordered) set. Change the code to use an
OrderedDict instead so that we get deterministic behaviour, fixes #920 .
2017-07-26 14:41:10 +01:00
Bruno Oliveira
dd294aafb3
Merge pull request #2557 from blueyed/EncodedFile-name
...
capture: ensure name of EncodedFile being a string
2017-07-26 10:39:10 -03:00
Lawrence Mitchell
b39f957b88
Add test of issue #920
2017-07-26 14:38:38 +01:00
Bruno Oliveira
80f4699572
approx raises TypeError in Python 2 for comparison operators other than != and ==
2017-07-25 20:07:10 -03:00
Daniel Hahler
0603d1d500
capture: ensure name of EncodedFile being a string
...
Fixes https://github.com/pytest-dev/pytest/issues/2555 .
2017-07-25 20:37:37 +02:00
Daniel Hahler
869eed9898
Fix lineno offset in show_skipped
...
The line number is 0-based here, so add 1.
2017-07-25 15:19:47 +02:00
Bruno Oliveira
73c6122f35
Merge remote-tracking branch 'upstream/master' into features
2017-07-24 21:12:51 -03:00
Nguyễn Hồng Quân
d40d77432c
Add test case for DoctestItem.reportinfo()
2017-07-24 23:07:45 +07:00
Bruno Oliveira
bda07d8b27
Ignore socket warnings on windows for trial tests
2017-07-22 21:44:18 -03:00
Bruno Oliveira
0726d9a09f
Turn warnings into errors in pytest's own test suite
...
Fix #2588
2017-07-22 21:44:18 -03:00
Bruno Oliveira
6461dc9fc6
Merge pull request #2600 from RonnyPfannschmidt/mark_explicit_params
...
fix #2540 , introduce mark.with_args
2017-07-21 10:42:25 -03:00
Ronny Pfannschmidt
65b2de13a3
fix #2540 , introduce mark.with_args
2017-07-21 13:37:09 +02:00
Bruno Oliveira
7341da1bc1
Introduce pytest.mark.filterwarnings
2017-07-20 22:31:49 -03:00
Bruno Oliveira
22f54784c2
Add "fix-lint" tox environment to fix linting errors
2017-07-20 22:12:15 -03:00
Bruno Oliveira
abb5d20841
Merge branch 'master' into features
2017-07-20 22:10:58 -03:00
Bruno Oliveira
da12c52347
Fix: do not load hypothesis during test_logging_initialized_in_test
...
A recent release seem to have added a "logging" import to the top-level,
which breaks test_logging_initialized_in_test
2017-07-20 21:43:24 -03:00
Floris Bruynooghe
56e6b4b501
Merge pull request #2578 from Llandy3d/2375
...
Provides encoding attribute on CaptureIO
2017-07-20 23:14:14 +02:00
Bruno Oliveira
d44565f385
Merge remote-tracking branch 'upstream/master' into fix-flake8-errors
2017-07-19 17:57:30 -03:00
Bruno Oliveira
24da938321
Fix additional flake8 errors
2017-07-19 17:42:21 -03:00
Bruno Oliveira
26ee2355d9
Merge remote-tracking branch 'upstream/features' into fix-flake8-errors
2017-07-19 17:09:05 -03:00
Bruno Oliveira
c92760dca8
Merge branch 'fix-flake8-issues'
2017-07-19 17:03:36 -03:00
Bruno Oliveira
2d4f1f022e
Introduce PYTEST_CURRENT_TEST environment variable
...
Fix #2583
2017-07-19 10:01:50 -03:00
Bruno Oliveira
7b1870a94e
Fix flake8 in features branch
2017-07-17 21:16:14 -03:00
Bruno Oliveira
4fd92ef9ba
Merge branch 'fix-flake8-issues' into features
2017-07-17 21:05:39 -03:00
Andras Tim
b49e8baab3
Fixed E731 flake8 errors
...
do not assign a lambda expression, use a def
2017-07-17 01:44:23 +02:00
Andras Tim
15610289ac
Fixed E712 flake8 errors
...
comparison to True should be ‘if cond is True:’ or ‘if cond:’
2017-07-17 01:44:23 +02:00
Andras Tim
5ae59279f4
Fixed E704 flake8 errors
...
multiple statements on one line (def)
2017-07-17 01:44:23 +02:00
Andras Tim
85141a419f
Fixed E701 flake8 errors
...
multiple statements on one line (colon)
2017-07-17 01:44:23 +02:00
Andras Tim
7d2ceb7872
Fixed E501 flake8 errors
...
line too long (> 120 characters)
2017-07-17 01:44:23 +02:00
Andras Tim
b9e318866e
Fixed E402 flake8 errors
...
module level import not at top of file
2017-07-17 01:44:23 +02:00
Andras Tim
45ac863069
Fixed E401 flake8 errors
...
multiple imports on one line
2017-07-17 01:44:23 +02:00
Andras Tim
7248b759e8
Fixed E303 flake8 errors
...
too many blank lines (3)
2017-07-17 01:44:23 +02:00
Andras Tim
b840622819
Fixed E302 flake8 errors
...
expected 2 blank lines, found 0
2017-07-17 01:44:23 +02:00
Andras Tim
17a21d540b
Fixed E301 flake8 errors
...
expected 1 blank line, found 0
2017-07-17 01:44:23 +02:00
Andras Tim
4730c6d99d
Fixed E272 flake8 errors
...
multiple spaces before keyword
2017-07-17 01:44:23 +02:00
Andras Tim
c9a081d1a3
Fixed E271 flake8 errors
...
multiple spaces after keyword
2017-07-17 01:44:22 +02:00
Andras Tim
195a816522
Fixed E265 flake8 errors
...
block comment should start with ‘# ‘
2017-07-17 01:44:22 +02:00
Andras Tim
8f3eb6dfc7
Fixed E261 flake8 errors
...
at least two spaces before inline comment
2017-07-17 01:44:22 +02:00
Andras Tim
b226454582
Fixed E251 flake8 errors
...
unexpected spaces around keyword / parameter equals
2017-07-17 01:44:22 +02:00
Andras Tim
4c24947785
Fixed E241 flake8 errors
...
multiple spaces after ‘,’
2017-07-17 01:44:22 +02:00
Andras Tim
617e510b6e
Fixed E231 flake8 errors
...
missing whitespace after ‘,’, ‘;’, or ‘:’
2017-07-17 01:44:22 +02:00
Andras Tim
4b22f270a3
Fixed E226 flake8 errors
...
missing whitespace around arithmetic operator
2017-07-17 01:44:22 +02:00
Andras Tim
2e8caefcab
Fixed E225 flake8 errors
...
missing whitespace around operator
2017-07-17 01:44:22 +02:00
Andras Tim
3fabc4d219
Fixed E222 flake8 errors
...
multiple spaces after operator
2017-07-17 01:44:22 +02:00
Andras Tim
f640e0cb04
Fixed E221 flake8 errors
...
multiple spaces before operator
2017-07-17 01:44:22 +02:00
Andras Tim
ebb6d0650b
Fixed E203 flake8 errors
...
whitespace before ‘:’
2017-07-17 01:44:22 +02:00
Andras Tim
ba0a4d0b2e
Fixed E202 flake8 errors
...
whitespace before ‘)’
2017-07-17 01:28:17 +02:00
Andras Tim
1ff54ba205
Fixed E201 flake8 errors
...
whitespace after ‘(‘
2017-07-17 01:28:17 +02:00
Andras Tim
df54bf0db5
Fixed E131 flake8 errors
...
continuation line unaligned for hanging indent
2017-07-17 01:28:16 +02:00
Andras Tim
cf97159009
Fixed E128 flake8 errors
...
continuation line under-indented for visual indent
2017-07-17 01:28:16 +02:00
Andras Tim
57438f3efe
Fixed E127 flake8 errors
...
continuation line over-indented for visual indent
2017-07-17 01:28:16 +02:00
Andras Tim
e855a79dd4
Fixed E126 flake8 errors
...
continuation line over-indented for hanging indent
2017-07-17 01:28:16 +02:00
Andras Tim
051d76a63f
Fixed E124 flake8 errors
...
closing bracket does not match visual indentation
2017-07-17 01:28:16 +02:00
Andras Tim
4b20b9d8d9
Fixed E123 flake8 errors
...
closing bracket does not match indentation of opening bracket’s line
2017-07-17 01:28:16 +02:00
Andras Tim
425665cf25
Fixed E122 flake8 errors
...
continuation line missing indentation or outdented
2017-07-17 01:28:16 +02:00
Andras Tim
0be97624b7
Fixed E121 flake8 errors
...
continuation line under-indented for hanging indent
2017-07-17 01:28:16 +02:00
Andras Tim
6146ac97d9
Fixed E101 flake8 errors
...
indentation contains mixed spaces and tabs
2017-07-17 01:28:16 +02:00
Andras Tim
6af2abdb53
Fixed flake8 warnings
...
W191 indentation contains tabs
W292 no newline at end of file
W293 blank line contains whitespace
W391 blank line at end of file
2017-07-17 01:28:16 +02:00
Llandy Riveron Del Risco
ba9a76fdb3
Provides encoding attribute on CaptureIO
...
Fix #2375
2017-07-16 14:29:00 +02:00
Martin Altmayer
e5169a026a
#2574 : --fixtures, --fixtures-per-test keep indentation of docstring
2017-07-15 13:33:11 +02:00
Ronny Pfannschmidt
1485a3a902
Merge pull request #2566 from jmsdvl/iss2518
...
Detect and warn/ignore local python installations
2017-07-13 10:44:04 +02:00
John Still
67fca04050
update docs and note; add virtualenv collection tests
2017-07-11 23:14:38 -05:00
Bruno Oliveira
d9aaab7ab2
Merge remote-tracking branch 'upstream/master' into features
2017-07-10 17:51:59 -03:00
Pauli Virtanen
8a7d98fed9
Make YIELD_TEST warning less spammy
...
Emit it only once per each generator, rather than for each generated
function. Also add information about which test caused it to be emitted.
2017-07-10 21:41:09 +02:00
V.Kuznetsov
7a9fc69435
tests for ini option cache_dir
2017-07-07 13:07:33 +03:00
Ronny Pfannschmidt
ef62b86335
Merge pull request #2492 from kalekundert/features
...
Add support for numpy arrays (and dicts) to approx.
2017-07-06 11:46:51 +02:00
Bruno Oliveira
221f42c5ce
Change --strict help message to clarify it deals with unregistered markers
...
Fix #2444
2017-07-04 20:14:57 -03:00
Kale Kundert
8524a57075
Add "approx" to all the repr-strings.
2017-07-03 22:44:37 -07:00
Nathaniel Waisbrot
9b9fede5be
allow staticmethods to be detected as test functions
...
Allow a class method decorated `@staticmethod` to be collected as a test
function (if it meets the usual criteria).
This feature will not work in Python 2.6 -- static methods will still be
ignored there.
2017-06-29 07:44:36 -04:00
Bruno Oliveira
3de93657bd
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2017-06-24 00:47:48 -03:00
Bruno Oliveira
22b7701431
Merge pull request #2480 from nicoddemus/issue-2469-deprecated-call-ctx
...
deprecated_call context manager captures warnings already raised
2017-06-22 10:53:28 -03:00
Ronny Pfannschmidt
5e832017d5
Merge pull request #2487 from nicoddemus/recursion-error-2486
...
Fix internal error when trying to detect the start of a recursive traceback
2017-06-22 13:40:32 +02:00
Ronny Pfannschmidt
19b12b22e7
store pristine marks on function.pytestmark
...
fixes #2516
2017-06-22 10:48:45 +02:00
Kale Kundert
50769557e8
Skip the numpy doctests.
...
They seem like more trouble that they're worth.
2017-06-15 14:53:27 -07:00
Kale Kundert
8badb47db6
Implement suggestions from code review.
...
- Avoid importing numpy unless necessary.
- Mention numpy arrays and dictionaries in the docs.
- Add numpy to the list of tox dependencies.
- Don't unnecessarily copy arrays or allocate empty space for them.
- Use code from compat.py rather than writing py2/3 versions of things
myself.
- Avoid reimplementing __repr__ for built-in types.
- Add an option to consider NaN == NaN, because sometimes people use NaN
to mean "missing data".
2017-06-15 09:19:10 -07:00
Ronny Pfannschmidt
4e57a39067
Merge pull request #2468 from nicoddemus/collection-report-2464
...
Fix incorrect "collected items" report when specifying tests on the command-line
2017-06-14 10:57:57 +02:00
Ronny Pfannschmidt
af0344e940
Merge pull request #2500 from nicoddemus/issue-2434-doctest-modules
...
Fix decode error in Python 2 for doctests in docstrings
2017-06-14 05:52:44 +02:00
Bruno Oliveira
4e4ebbef5a
Improve test to ensure the expected function is re-raised
2017-06-13 20:16:48 -03:00
Bruno Oliveira
b09d60c60a
Fix decode error in Python 2 for doctests in docstrings
...
Fix #2434
2017-06-13 19:41:34 -03:00
Ryan Fitzpatrick
5a856b6e29
handle and reraise subrequest finalizer exceptions
2017-06-12 21:26:42 -04:00
Kale Kundert
9f3122fec6
Add support for numpy arrays (and dicts) to approx.
...
This fixes #1994 . It turned out to require a lot of refactoring because
subclassing numpy.ndarray was necessary to coerce python into calling
the right `__eq__` operator.
2017-06-11 19:27:41 -07:00
Bruno Oliveira
8bb589fc5d
Fix internal error when trying to detect the start of a recursive traceback.
...
Fix #2486
2017-06-09 19:26:26 -03:00
Ronny Pfannschmidt
917b9a8352
Merge pull request #2476 from nicoddemus/fix-2459-numpy-comparison
...
Fix internal error when a recursion error occurs and frames contain objects that can't be compared
2017-06-07 20:34:36 +02:00
Bruno Oliveira
2127a2378a
Fix internal error with recursive tracebacks with that frames contain objects that can't be compared
...
Fix #2459
2017-06-07 14:40:13 -03:00
Bruno Oliveira
620ba5971f
deprecated_call context manager captures warnings already raised
...
Fix #2469
2017-06-06 22:40:04 -03:00
Bruno Oliveira
9d41eaedbf
Issue UnicodeWarning only for non-ascii unicode
...
Fix #2463
2017-06-05 10:43:15 -03:00
Bruno Oliveira
46d157fe07
Fix collection report when collecting a single test item
2017-06-03 20:39:53 -03:00
Bruno Oliveira
87e4a28351
Fix incorrect collected items report when specifying tests on the command-line
...
Fix #2464
2017-06-03 20:39:53 -03:00
Segev Finer
f74f14f038
Fix --help with required options
...
This works by adding an argparse Action that will raise an exception in
order to skip the rest of the argument parsing. This prevents argparse
from quitting due to missing required arguments, similar to the way that
the builtin argparse --help option is implemented by raising SystemExit.
Fixes : #1999
2017-06-01 21:29:50 +03:00
Andreas Pelme
ac9c8fcdab
Failing test for issue #2121
2017-05-31 08:25:04 +02:00
Bruno Oliveira
1dee443c2b
Merge pull request #2445 from nicoddemus/warnings-remove-filter
...
No longer override existing warning filters during warnings capture
2017-05-30 18:14:01 -03:00
Bruno Oliveira
32e2642233
No longer override existing warning filters during warnings capture
...
Fix #2430
2017-05-30 17:17:36 -03:00
Bruno Oliveira
f96a1d89c5
pytest.deprecated_call now captures PendingDeprecationWarning in context manager form
...
Fix #2441
2017-05-30 12:52:18 -03:00
Bruno Oliveira
836dc451f4
Fix unicode issue while running doctests in Python 2
...
Fix #2434
2017-05-26 07:35:14 -03:00
wanghui
d7a5c5716f
Add UnicodeWarning for unicode warnings in Python2
2017-05-26 13:12:02 +08:00
wanghui
c39689da41
Correct warnings with unicode message.
2017-05-25 17:59:42 +08:00
Bruno Oliveira
f39f416c5d
Improve tests a bit
...
Use a normal function instead of a lambda
Parametrize test about suite name option
2017-05-12 17:52:50 -03:00
Dmitri Pribysh
c9282f9e94
Transition to using ini option for suite name
2017-05-12 17:48:50 -03:00
Dmitri Pribysh
fe7d89f033
Add '--junit-suite-name' CLI option
2017-05-12 17:48:50 -03:00
Bruno Oliveira
f3b359f5b8
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
...
# Conflicts:
# _pytest/capture.py
# _pytest/compat.py
# _pytest/python.py
# testing/python/collect.py
# testing/test_mark.py
2017-05-03 19:04:53 -03:00
Vitaly Lashmanov
60b8339166
Issue #2383 - Show the correct error message when collect "parametrize" func with wrong args and add test for this case.
2017-04-29 14:32:09 +03:00
Bruno Oliveira
25371ddbfd
Merge pull request #2315 from RonnyPfannschmidt/namespace-hook
...
remove pytest internal usage of the namespace hook
2017-04-21 16:24:20 -03:00
Kodi Arfer
dcefb287fc
Try not to assume a module's file extension is .py
2017-04-19 12:26:56 -07:00
Bruno Oliveira
0baf5e1499
Fix test that expected "unknown hook" error on stderr
2017-04-11 21:55:12 -03:00
Bruno Oliveira
83c508eea3
Verify hooks after collection completes
...
Fix #1821
2017-04-11 21:55:12 -03:00
Bruno Oliveira
78ac1bf5d1
Merge pull request #2350 from nicoddemus/future-imports-rewrite
...
Ensure rewritten modules don't inherit __future__ flags from pytest
2017-04-11 20:59:05 -03:00
Bruno Oliveira
1125786e78
Improve --lf/--ff test as commented during review
2017-04-11 17:55:55 -03:00
Jonas Obrist
0ab85e7a9c
Changed behavior if --lf and --ff are both used.
...
When using both --last-failed/--lf and --failed-first/--ff pytest would
run all tests with failed tests first (as if --lf was not provied). This
patch changes it so that when using both flags, only the last failed
tests are run. This makes it easier to set --ff as the default behavior
via the config file and then selectively use --lf to only run the last
failed tests.
2017-04-10 17:46:13 +09:00
Bruno Oliveira
1b5f898dc5
Ensure rewritten modules don't inherit __future__ flags from pytest
...
In a recent refactoring we enabled all __future__ features in pytest
modules, but that has the unwanted side effect of propagating those
features to compile()'d modules inside assertion rewriting, unless
we pass dont_inherit=False to compile().
2017-04-06 15:00:36 -03:00
reut
333ce9849d
added acceptance test for unicode plugin names
2017-04-06 10:54:47 +00:00
Bruno Oliveira
58ac4faf0c
Fix exception formatting while importing test modules
...
Fix #2336
2017-03-29 14:43:13 -03:00
Ronny Pfannschmidt
4d31ea8316
add a comment explaining the modimport tests
2017-03-28 11:45:06 +02:00
Ronny Pfannschmidt
bb750a7945
add missed file
2017-03-28 11:45:06 +02:00
Bruno Oliveira
74b54ac0ec
Fix errors related to warnings raised on pypy test environment
...
For some reason pypy raises this warning in the line that the catch_warnings block was added:
______________________________ ERROR collecting ______________________________
C:\ProgramData\chocolatey\lib\python.pypy\tools\pypy2-v5.4.1-win32\lib-python\2.7\pkgutil.py:476: in find_loader
loader = importer.find_module(fullname)
c:\pytest\.tox\pypy\site-packages\_pytest\assertion\rewrite.py:75: in find_module
fd, fn, desc = imp.find_module(lastname, path)
<builtin>/?:3: in anonymous
???
E ImportWarning: Not importing directory 'c:\users\bruno\appdata\local\temp\pytest-of-Bruno\pytest-3192\testdir\test_cmdline_python_package0' missing __init__.py
2017-03-21 22:32:41 -03:00
Bruno Oliveira
916d272c44
Fix test on linux
2017-03-20 23:44:50 -03:00
Bruno Oliveira
fa56114115
Clean up warnings generated by pytest's own suite
2017-03-20 22:13:17 -03:00
Bruno Oliveira
9f85584656
Merge remote-tracking branch 'upstream/features' into integrate-pytest-warnings
2017-03-20 19:59:05 -03:00
Ronny Pfannschmidt
e368fb4b29
implement pytest.param
...
this allows a clear addition of parameterization parameters that carry along marks
instead of nesting multiple mark objects and destroying the possibility of creating
function valued parameters,
it just folders everything together into one object carrfying parameters, and the marks.
2017-03-17 16:53:43 +01:00
Bruno Oliveira
4d947077bb
Fix test in py26 that expected a floor division error message
2017-03-16 23:07:03 -03:00
Bruno Oliveira
e5021dc9dc
Replace py.builtin.print_() calls by builtin print() function
2017-03-16 22:46:51 -03:00
Bruno Oliveira
42a5d6bdfa
Add __future__ imports to all pytest modules
...
This prevents silly errors from creeping in Python 2 when testing in Python 3
2017-03-16 22:45:40 -03:00
Bruno Oliveira
78194093af
Improve warning representation in terminal plugin and fix tests
2017-03-16 21:57:32 -03:00
Bruno Oliveira
be5db6fa22
Capture warnings around the entire runtestprotocol
...
This is necessary for the warnings plugin to play nice with the
recwarn fixture
2017-03-16 21:54:41 -03:00
Bruno Oliveira
0baed781fe
Merge remote-tracking branch 'upstream/features' into integrate-pytest-warnings
2017-03-16 20:02:06 -03:00
Bruno Oliveira
337f891d78
Fixed tests
2017-03-16 20:01:47 -03:00
Xander Johnson
dc6890709e
Change ValueError to io.UnsupportedOperation in capture.py. Resolves issue #2276
2017-03-14 18:55:58 -03:00
Bruno Oliveira
3c07072bfd
Fix test_recwarn in Python 3.6
...
No longer test for implementation details of recwarn since warnings.catch_warnings has changed
significantly in 3.6.
2017-03-13 19:52:35 -03:00
Bruno Oliveira
22864b75ee
Refactor recwarn to use warnings.catch_warnings instead of custom code
...
Since we dropped 2.5, we can now use warnings.catch_warnings to do the
"catch warnings" magic for us, simplifying the code a bit.
2017-03-13 19:28:36 -03:00
Bruno Oliveira
1e0cf5ce4d
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
...
# Conflicts:
# AUTHORS
# CHANGELOG.rst
# _pytest/pytester.py
2017-03-10 15:54:05 -03:00
fbjorn
cee578e327
Fix trailing whitespace in terminal output
2017-03-05 23:20:55 +03:00
Bruno Oliveira
272afa9422
Display node ids and the warnings generated by it
...
The rationale of using node ids is that users can copy/paste it to run a chosen test
2017-03-04 20:53:42 -03:00
Bruno Oliveira
de09023e45
Also capture warnings during setup/teardown
2017-03-04 16:15:03 -03:00
Bruno Oliveira
e24081bf76
Change warning output
2017-03-04 15:59:20 -03:00
Omer Hadari
6a52fe1650
fixed internal error on unprintable raised AssertionErrors
2017-03-04 10:26:46 +02:00
Katerina Koukiou
26e50f1162
junitxml: adjust junitxml output file to comply with JUnit xsd
...
Change XML file structure in the manner that failures in call and errors
in teardown in one test will appear under separate testcase elements in
the XML report.
2017-03-02 15:10:25 +01:00
Anthony Sottile
6ba3475448
Make capsys more like stdio streams in python3. Resolves #1407 .
2017-02-23 17:46:27 -08:00
Katerina Koukiou
d3a6be4130
junitxml: Fix double system-out tags per testcase
...
In the xml report we now have two occurences for the system-out tag if
the testcase writes to stdout both on call and teardown and fails in
teardown.
This behaviour is against the xsd.
This patch makes sure that the system-out section exists only
once per testcase.
2017-02-22 16:39:20 +01:00
Bruno Oliveira
82785fcd40
Use warnings.catch_warnings instead of WarningsRecorder
...
This has the benefical side-effect of not calling the original
warnings.showwarnings function, which in its original form
only writes the formatted warning to sys.stdout.
Calling the original warnings.showwarnings has the effect that nested WarningsRecorder all catch the warnings:
with WarningsRecorder() as rec1:
with WarningsRecorder() as rec2:
warnings.warn(UserWarning, 'some warning')
(both rec1 and rec2 sees the warning)
When running tests with `testdir`, the main pytest session would then see the warnings created by
the internal code being tested (if any), and the main pytest session would end up with warnings as well.
2017-02-18 13:08:14 -02:00
Bruno Oliveira
a7643a5fbe
Merge branch 'features' into integrate-pytest-warnings
2017-02-18 11:03:15 -02:00
Michal Wajszczuk
fb0b90646e
New-style classes implemented for python 2.7 - #2147
2017-02-16 20:28:17 +01:00
Bruno Oliveira
9c809f5ad0
Merge pull request #2255 from scop/spelling
...
Spelling fixes
2017-02-15 18:41:49 -02:00
Ville Skyttä
ede4e9171f
Spelling fixes
2017-02-15 17:00:58 +02:00
Bruno Oliveira
9eb1d73951
--override-ini now correctly overrides some fundamental options like "python_files"
...
#2238
2017-02-08 23:03:33 -02:00
Bruno Oliveira
6a097aa0f1
Merge branch 'master' into allow_skipping_unittests_with_pdb_active
2017-02-08 20:30:14 -02:00
Ran Benita
3a0a0c2df9
Ignore errors raised from descriptors when collecting fixtures
...
Descriptors (e.g. properties) such as in the added test case are
triggered during collection, executing arbitrary code which can raise.
Previously, such exceptions were propagated and failed the collection.
Now these exceptions are caught and the corresponding attributes are
silently ignored.
A better solution would be to completely skip access to all custom
descriptors, such that the offending code doesn't even trigger. However
I think this requires manually going through the instance and all of its
MRO for each and every attribute checking if it might be a proper
fixture before accessing it. So I took the easy route here.
In other words, putting something like this in your test class is still
a bad idea...:
@property
def innocent(self):
os.system('rm -rf /')
Fixes #2234 .
2017-02-07 14:27:34 +02:00
Vidar Tonaas Fauske
832c89dd5f
Test for `pytest.mark.xfail` with non-Python Item
2017-02-03 17:13:05 +01:00
Bruno Oliveira
abbff681ba
Fix '{0}' format for py26
2017-02-02 18:01:44 -02:00
Thomas Kriechbaumer
43662ce789
allow error message matching in pytest.raises
2017-02-02 19:52:33 +01:00
mbyt
ad56cd8027
extract a _handle_skip method, secure PY2 branch
2017-02-02 05:01:51 +01:00
mbyt
d1c725078a
Allow to skip unittests if --pdb active
...
closes #2137
2017-01-31 04:47:31 +01:00
Ronny Pfannschmidt
3b47cb45e6
Merge pull request #2222 from RonnyPfannschmidt/features
...
merge master into features
2017-01-26 13:48:10 +01:00
Ronny Pfannschmidt
713bdc1f9f
merge master into features
2017-01-26 12:00:52 +01:00