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
Bruno Oliveira
f1900bbea6
Revert subclassing explicitly from object introduced by accident in #2260
2017-02-18 10:34:41 -02:00
Victor Uriarte
a88017cf26
Add note documenting #2257
2017-02-16 23:00:55 -07:00
Victor Uriarte
58d7f4e048
Correct typo
2017-02-16 22:52:06 -07: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
Bruno Oliveira
27f12ed0c3
Merge pull request #2254 from scop/py36-escseq
...
Python 3.6 invalid escape sequence deprecation fixes
2017-02-15 18:41:06 -02:00
Ville Skyttä
ede4e9171f
Spelling fixes
2017-02-15 17:00:58 +02:00
Ville Skyttä
eeb6603d71
Python 3.6 invalid escape sequence deprecation fixes
2017-02-15 16:54:53 +02:00
Florian Bruhin
91c6bef77a
Add venv to the default norecursedirs
...
venv (without a dot) is commonly used as a name for a virtualenv directory, and
we don't want to collect that.
2017-02-15 14:55:12 +01:00
Patrick Hayes
58ce3a9e8c
Safer sys.modules delete
2017-02-14 16:54:32 -08: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
Ran Benita
87fb689ab1
Remove an unneeded `except KeyboardInterrupt`
...
KeyboardInterrupt is a subclass of BaseException, but not of Exception.
Hence if we remove this except, KeyboardInterrupts will still be raised
so the behavior stays the same.
2017-02-07 14:12:09 +02:00
Bruno Oliveira
ccf9877447
Merge pull request #2232 from vidartf/patch-1
...
Do not asssume `Item.obj` in 'skipping' plugin
2017-02-03 21:39:42 -02:00
Bruno Oliveira
a4d2a5785b
Merge pull request #2142 from barneygale/xfail_without_condition_getglobals
...
'xfail' markers without a condition no longer rely on the underlying `Item` objects deriving from `PyobjMixin`
2017-02-03 16:09:47 -02:00
Vidar Tonaas Fauske
bad261279c
Do not asssume `Item.obj` in 'skipping' plugin
...
See #2231 for discussion.
2017-02-03 16:04:34 +01: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
Bruno Oliveira
176c680e19
Merge branch 'master' into allow_skipping_unittests_with_pdb_active
2017-02-01 15:53:14 -02:00
Bruno Oliveira
e1c5314d80
Replace 'raise StopIteration' usages in the code by 'return's in accordance to PEP-479
...
Fix #2160
2017-02-01 02:37:55 -02:00
mbyt
36b6f17727
fixing code-style, keep flake8 happy
2017-01-31 21:03:49 +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
Ronny Pfannschmidt
c9f327dc87
bump version to next dev
2017-01-22 22:21:08 +01:00
Ronny Pfannschmidt
01eaf9db51
fix the xfail docstring typo at the actual docstring + regendoc
2017-01-22 18:44:30 +01:00
Ronny Pfannschmidt
55f21bd2b9
bump version
2017-01-22 18:44:30 +01:00
Ravi Chandra
0e58c3fa80
updates for PR review #2198
2017-01-21 16:47:49 +13:00
Ravi Chandra
c848d0a771
Pass parameter name to `make_parametrize_id` hook function
2017-01-21 16:46:45 +13:00
Bruno Oliveira
15a3b57ec7
Merge pull request #2120 from RonnyPfannschmidt/fix-2118
...
fix #2118 - rework Node._getcustomclass and Node compat properties
2017-01-20 14:38:55 -02:00
Ronny Pfannschmidt
7b4afd8946
remove unused import
2017-01-20 12:09:49 +01:00
Bruno Oliveira
3766060893
Merge branch 'master' into trial-envs
2017-01-20 08:37:34 -02:00
Ronny Pfannschmidt
4082f4024a
comment out compatproperty deprecations
...
todo: reenable in the features branch
2017-01-20 11:25:48 +01:00
Ronny Pfannschmidt
e0c48b4fe7
Merge pull request #2212 from nicoddemus/pytester-rewrite
...
Assert statements of the pytester plugin again benefit from assertion rewriting
fixes #1920
2017-01-20 10:04:12 +01:00
Bruno Oliveira
7b4368f3f4
Merge pull request #2184 from eli-b/parseoutcomes-explicit-failure
...
Fail assert_outcomes() on missing terminal report
2017-01-19 21:38:54 -02:00
Bruno Oliveira
c477f09177
Assert statements of the pytester plugin again benefit from assertion rewriting
...
Fix #1920
2017-01-19 21:33:51 -02:00
Bruno Oliveira
2574da8d32
Fix pytester internal plugin to work correctly with latest versions of zope.interface
...
Fix #1989
2017-01-19 20:53:35 -02:00
Ronny Pfannschmidt
250597d468
get_real_func: use saferepr when formatting the error message
2017-01-19 13:05:58 +01:00
Ronny Pfannschmidt
123289a88e
fixes #2208 by introducing a iteration limit
2017-01-19 11:38:15 +01:00
Bruno Oliveira
7cd7c283dd
Refactor plugin specs handling into an isolated function
2017-01-12 14:31:35 -02:00
Bruno Oliveira
043aadeaf2
Consider plugins loaded by PYTEST_PLUGINS for assertion rewrite
...
Fix #2185
2017-01-11 17:15:16 -02:00
Eli Boyarski
e18b2a427a
Fail assert_outcomes() on missing terminal report
...
Currently if the terminal report of testdir.runpytest() is missing,
assert_outcomes() on its output fails because parseoutcomes()
returns an unexpected value (None).
It's better to fail parseoutcomes() directly.
2017-01-11 17:09:37 +02:00
mandeep
d4afa1554b
Refactored old style classes to new style classes
2017-01-08 22:52:42 -06:00
Jeff Widman
6d81c684cc
Switch monkeypatch fixture to yield syntax
2017-01-04 15:06:52 -08:00
Loïc Estève
9e9547a9e4
Simplify condition
2017-01-03 10:57:19 -02:00
Loïc Estève
6fd0394c63
pytest.warns checks for subclass relationship
...
rather than class equality. This makes it more similar to
pytest.raises.
2017-01-03 10:57:19 -02:00
Barney Gale
3d18c9c1c6
'xfail' markers without a condition no longer rely on the underlying `Item`
...
deriving from `PyobjMixin`
2017-01-02 22:01:04 +00:00
Rafael Bertoldi
a9193a1531
No longer silently ignore errors in parametrize callable ids
2017-01-02 17:26:17 -02:00
Bruno Oliveira
402fbe503a
Merge branch 'master' into merge-master-into-features
2016-12-27 23:31:26 -02:00
Bruno Oliveira
091148f843
Merge pull request #2136 from hroncok/i2132
...
Tests: Check for ModuleNotFoundError on Python 3.6+
2016-12-27 23:10:58 -02:00
Bruno Oliveira
718f0b0255
Merge pull request #2130 from malinoff/fix-2129
...
Use inspect to properly detect generators. Fixes #2129
2016-12-27 22:11:46 -02:00
Bruno Oliveira
515fb09995
Move module error compatibility code to _pytest.compat
2016-12-27 22:01:22 -02:00
Andreas Pelme
0bb8a4a36d
Fixed #2148 - parse directory names properly when args contains ::.
...
This commit also improves readbility in get_dirs_from_args by using self
documenting local functions.
get_dirs_from_args also now only returns directories that actually exists,
and not files to avoid confusion.
This commit also removes redundant checks in get_common_ancestor that
was already performed in get_dirs_from_args..
2016-12-27 15:28:56 +01:00
Loïc Estève
c5f0b751f4
Improve error message when pytest.warns fail
...
The error message contains the expected type of warnings and the
warnings that were captured. Add tests.
2016-12-20 13:45:39 +01:00
Bruno Oliveira
caee5ce489
Avoid importing asyncio directly because that in turn initializes logging ( #8 )
2016-12-13 21:54:20 -02:00
Dmitry Malinovsky
3a59acf69f
Use inspect to properly detect generators. Fixes #2129
2016-12-11 21:59:11 +06:00
Ronny Pfannschmidt
9c285dfc1d
fix #2118 - rework Node._getcustomclass and Node compat properties
2016-12-06 09:13:25 +01:00
Bruno Oliveira
3a0a1d2de3
Bump version to 3.0.6.dev0
2016-12-05 12:51:00 -02:00
Bruno Oliveira
0febd855e1
Bump version to 3.0.5
2016-12-05 10:06:58 -02:00
Bruno Oliveira
57c4489916
Use a simple ``+-`` ASCII string in the string representation of pytest.approx In Python 2
...
Fix #2111
2016-12-02 20:01:53 -02:00
Bruno Oliveira
7480342710
Fix typo in docstring of register_assert_rewrite
2016-12-02 09:22:47 -02:00
Bruno Oliveira
81528ea81f
Remove hook proxy cache
...
Fix #2016
2016-12-02 07:32:11 -02:00
Bruno Oliveira
bc0f7e6243
Fix false-positive assert rewrite warnings when using 'pytest_plugins'
...
pytest would emit false positive warnings about assertion-rewrite when a
module appears multiple times in plugins which depend
on other plugins using the 'pytest_plugins' mechanism
2016-12-01 15:50:08 -02:00
Luke Murphy
c856537e71
Add warning for incorrect passing args to `-o`.
2016-12-01 13:20:42 +01:00
Bruno Oliveira
30f0152ae6
Remove unused import
2016-11-30 22:34:02 -02:00
Bruno Oliveira
f8d195253e
Remove support code for earlier Python 3 version in Source.compile
...
This code leaves None in sys.modules as a side effect but is no longer needed in the Python 3 versions we support.
Fix #2103
2016-11-30 22:23:02 -02:00
Bruno Oliveira
669332b7e0
Merge pull request #2101 from wheerd/doctest-encoding
...
Added doctest encoding command line option
2016-11-30 17:43:42 -02:00
Luke Murphy
f5afd8cb54
Add missing `__test__` check for test discovery.
2016-11-30 17:05:42 +01:00
Manuel Krebber
c043bbb854
Changed the doctest_encoding option to an ini option.
...
Parametrized the tests for it.
2016-11-30 11:43:33 +01:00
Manuel Krebber
d254c6b0ae
Added some tests for --docstring-encoding option. Added option to specify encoding for internal testdir._makefile() for the tests.
2016-11-29 12:29:16 +01:00
Manuel Krebber
ed977513ec
Added a console option to specify the encoding to use for doctest files. Defaults to UTF-8.
2016-11-29 12:29:14 +01:00
Bruno Oliveira
8b4da9d955
Merge pull request #2100 from blueyed/fix-help-grammar
...
minor: fix grammar with help for --setup-{only,show}
2016-11-28 20:11:56 -02:00
Daniel Hahler
40cffacadc
minor: fix grammar with help for --setup-{only,show}
2016-11-28 21:33:15 +01:00
Luke Murphy
4e1609b12e
Add `type` validation.
...
Argparse driven argument type validation is added for the
`--junit-xml` and `--confcutdir` arguments.
The commit partially reverts #2080 . Closes #2089 .
2016-11-28 02:16:01 +01:00
Bruno Oliveira
b30a6d22c5
Merge branch 'master' into merge-master-into-features
2016-11-27 17:30:40 -02:00
nmundar
0a30f072e6
Show name argment in compatproperty deprecation message
2016-11-27 14:24:55 -02:00
nmundar
b38fad4b82
Add compatproperty deprecation warning.
2016-11-27 14:24:55 -02:00
Duncan Betts
c1b83cdeea
Add hint of Issue #478 to error text
2016-11-26 10:47:15 +00:00
Bruno Oliveira
33c0b06fdf
Fix error in approx's repr with complex numbers
...
Fix #2082
2016-11-24 15:33:12 -02:00
Bruno Oliveira
629d8e9fd6
Show an error if --confcutdir is not a valid directory
...
Fixes #2078
2016-11-23 09:49:11 -02:00
Ronny Pfannschmidt
a5b5090c72
Merge pull request #2070 from nedbat/bug2038
...
Don't fail if imp can't find the source for a .pyc file. #2038
2016-11-22 17:45:29 +01:00
Bruno Oliveira
bd343ef757
Merge remote-tracking branch 'upstream/features' into integrate-pytest-warnings
2016-11-22 14:35:39 -02:00
Bruno Oliveira
5ce551e469
Merge pull request #2075 from pytest-dev/master
...
Merge master into features after fixing flake8 errors
2016-11-22 14:10:31 -02:00
Ronny Pfannschmidt
a3319ffe80
Merge pull request #2071 from nicoddemus/fix-flake8
...
Fix flake8 E305 and E306 errors
2016-11-22 13:22:11 +01:00
Ned Batchelder
632c4d5daf
Remove an accidental double space
2016-11-21 10:17:23 -05:00
Bruno Oliveira
26ca5a702e
Add tests and integrated the original code into the core
2016-11-21 08:26:43 -02:00
Bruno Oliveira
1da1906483
Rename code to _pytest.warnings and delete old files from the repository
2016-11-21 07:38:12 -02:00
Bruno Oliveira
1eb5a690d4
Fix flake8 E305 and E306 errors
...
These errors started to appear with flake8-3.1.1, while they don't appear with
version 3.1.0 (weird).
2016-11-20 18:59:15 -02:00
Ned Batchelder
06bb61bbe3
Don't fail if imp can't find the source for a .pyc file. #2038
2016-11-20 13:09:32 -05:00
Bruno Oliveira
6876ba9ba6
Merge pull request #1995 from mattduck/feat/restructure-assert-truncation
...
Restructure truncation of assertion messages
2016-11-13 19:07:35 -02:00
Bruno Oliveira
efc54b2e56
Merge branch 'master' into merge-master-features
2016-11-11 18:56:53 -02:00
Bruno Oliveira
3e01e83390
Bump version to 3.0.5.dev
2016-11-11 18:20:34 -02:00
Bruno Oliveira
ff72db2f1a
Version bump to 3.0.4, CHANGELOG, announcement
2016-11-09 19:38:11 -02:00
Bruno Oliveira
1130b9f742
Fix the stubborn test about cyclic references left by pytest.raises
...
In Python 2, a context manager's __exit__() leaves sys.exc_info with the exception values even when it was supposed
to suppress the exception, so we explicitly call sys.exc_clear() which removes the traceback and allow the object
to be released.
Also updated the test to not depend on the immediate destruction of the object but instead to ensure it is not being
tracked as a cyclic reference.
Fix #1965
2016-11-08 22:20:27 -02:00
Michael Seifert
1e5b21cd61
Fix memory leak with pytest.raises by using weakref
2016-11-08 22:12:23 -02:00
Dan Wandschneider
e46e653794
Clean up unittest TestCase objects after tests are complete ( #1649 ).
...
Fix #1649
Users of unittest style TestCases will create expensive objects
in setUp. We should clean up TestCase instances that are lying
around so that they don't fill up memory.
2016-11-07 18:32:56 -08:00
Manuel Jacob
a190ad27f2
Change version to be in normal form according to PEP 440.
...
The version is changed from 3.0.4.dev to 3.0.4.dev0. Note that
according to PEP 440 these are considered equivalent, but 3.0.4.dev0 is
the normal form.
This standard was followed when the version was set to 3.0.3.dev0 in
commit ee284ec5
, but in commit a87b1c79
the version was set to
3.0.4.dev, leaving the development number implicit again.
2016-11-06 09:00:04 +01:00
Bruno Oliveira
006a901b86
Properly handle exceptions in multiprocessing tasks
...
Fix #1984
2016-11-03 10:48:43 -02:00
Georgy Dyuldin
e2bb4f893b
Fix teardown error message in generated xUnit XML
...
It was "test setup failure" even error happens on test teardown.
2016-11-02 15:50:32 +03:00
Mathieu Clabaut
6f93ffb5d4
Report teardown output on test failure
...
Until now, teardown stdout/stderr output was not reported upon test failure.
However such output is sometime necessary to understand the failure.
fix #442
2016-10-30 09:52:46 +01:00
Ronny Pfannschmidt
e9668d75b8
turn RecordedWarning into a namedtuple
...
fixes #2013
2016-10-24 15:23:53 +02:00
Ronny Pfannschmidt
377e649e61
local merge of #1967 - Change exception raised by capture.DontReadFromInput.fileno()
2016-10-24 12:47:55 +02:00
Ronny Pfannschmidt
35d154f580
Merge pull request #2011 from nicoddemus/false-rewrite-warnings
...
Fix false-positive warnings from assertion rewrite hook
2016-10-24 12:19:23 +02:00
Ronny Pfannschmidt
4e9c633185
Merge pull request #2021 from nicoddemus/doctest-modules-ci
...
Re-enable docstring testing of _pytest modules on CI
2016-10-24 12:19:05 +02:00
Jason R. Coombs
f2c01c5407
Restore pexpect tests and bypass isalive/wait on macOS. Ref #2022 .
2016-10-21 12:36:42 -04:00
Bruno Oliveira
37dcdfbc58
Re-enable docstring testing of _pytest modules on CI
...
* Fix doctests
* List one env per line in tox.ini
* "doctesting" tox env now also tests docstrings using doctest
2016-10-21 08:55:53 -02:00
Bruno Oliveira
9d00615bbf
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2016-10-20 21:51:42 -02:00
Bruno Oliveira
2a2b8cee09
Fix false-positive warnings from assertion rewrite hook
...
Fix #2005
2016-10-20 21:40:57 -02:00
Bruno Oliveira
620b384b69
Fix cmdline help message for custom options with two or more metavars
...
Fix #2004
2016-10-20 20:34:39 -02:00
Bruno Oliveira
78eec0d7f8
Handle import errors with non-ascii messages when importing plugins
...
Fix #1998
2016-10-12 18:19:32 -03:00
Matthew Duck
0061d9bd3d
Fix flake8 (unused import, trailng whitespace)
2016-10-11 00:17:15 +01:00
Matthew Duck
b629da424e
Restructure truncation of assertion messages
...
This addresses ref https://github.com/pytest-dev/pytest/issues/1954 .
The current truncation for assertion explanations does not deal with long lines
properly:
- Previously if lines were too long it would display a "-n more lines"
message.
- 999e7c6541
introduced a bug where long lines can
cause index errors if there are < 10 lines.
Extract the truncation logic into its own file and ensure it can deal with
long lines properly.
2016-10-10 23:38:27 +01:00
Bruno Oliveira
cf13355d3f
Merge pull request #1979 from nicoddemus/show-traceback-during-collection
...
Show traceback during collection
2016-10-05 16:18:43 -03:00
Tom V
c93a9e3361
Fix #1981 , improve ini-options help text
2016-10-04 14:41:09 +01:00
Bruno Oliveira
a1d446b8e8
Display traceback from Import errors using pytest's short representation
...
Also omit pytest's own modules and internal libraries (py and pluggy) in low verbosity
Fix #1976
2016-10-03 21:46:44 -03:00
Bruno Oliveira
7d66e4eae1
Display full traceback from Import errors when collecting test modules
...
Fix #1976
2016-10-03 20:47:44 -03:00
Nikolaus Rath
57bb3c6922
Improve error message when using pytest.skip at module level
...
As discussed in issue #1959 .
2016-10-01 13:38:52 -03:00
Bruno Oliveira
4667b4decc
Merge branch 'master' into features
2016-09-29 19:03:26 -03:00
Bruno Oliveira
a87b1c79c1
post 3.0.3 release changes
2016-09-29 18:58:17 -03:00
Bruno Oliveira
dda17994ec
Prepare for 3.0.3 release
2016-09-28 16:33:38 -04:00
Bruno Oliveira
654af0ba25
Merge remote-tracking branch 'upstream/master' into features
2016-09-26 19:32:53 -03:00
Vlad Dragos
3444796f3e
Fix formating error.
2016-09-26 13:59:28 +03:00
Vlad Dragos
8985c0be3e
Change exception raised by DontReadFromInput.fileno() from ValueError to io.UnsupportedOperation
2016-09-26 13:15:35 +03:00
Bruno Oliveira
835328d862
Vendor pluggy 0.4.0
...
Fix #1637
2016-09-25 23:36:02 -03:00
Bruno Oliveira
5e96edd435
Merge pull request #1952 from davidszotten/pdbcls_without_pdb_on_fail
...
Pdbcls without pdb on fail
2016-09-25 20:24:45 -03:00
Roy Williams
f1c4cfea2c
Remove implementation of `__getslice__`
...
`__getslice__` has been Deprecated since Python 2.0 and is removed in Python 3. See
https://docs.python.org/2/reference/datamodel.html#object.__getslice__
Unfortunately, Python 2 will still dispatch to `__getslice__` over `__getitem__`, See
http://bugs.python.org/issue2041 , which causes Warnings when running with `-3` in 2.7.
2016-09-23 09:52:30 -07:00
Bruno Oliveira
e5deb8a927
Merge pull request #1955 from rowillia/fix_python3_deprecation_warnings
...
Fix `DeprecationWarnings` found when running py.test in Python 2.7 with the -3 flag.
2016-09-22 17:37:52 -03:00
Roy Williams
24db3c123d
Explicitly set to None to have consistent behavior in Python 2 and Python 3
2016-09-22 09:22:12 -07:00
Roy Williams
940ed7e943
Fix `DeprecationWarnings` found when running py.test in Python 2.7 with the -3 flag.
...
Running through some of my tests with the `-3` flag in python2.7 I encountered some errors within py.test itself. This fixes those errors so we can use py.test in order to identify problems with Python 3.
2016-09-21 17:44:25 -07:00
Tyler Goodlet
6db2f315fa
Explain a bad scope value to the user
2016-09-21 16:40:58 -04:00
David Szotten
0ac85218d1
allow pdbcls without implying usepdb
2016-09-21 09:45:20 +00:00
Lev Maximov
65be1231b1
AttributeError chaining bug #1944 fix
2016-09-20 02:20:13 +07:00
Floris Bruynooghe
887c097f8e
Merge pull request #1951 from mattduck/feat/1512-dict-compare-output
...
Feat/1512 dict compare output
2016-09-19 17:34:09 +01:00
Floris Bruynooghe
01db0f1cd1
Merge pull request #1923 from RonnyPfannschmidt/mark-internal-value
...
use consistent inner repressentation for marks
2016-09-19 15:30:22 +01:00
Matthew Duck
999e7c6541
Tidy formatting of assertion truncation
...
Part two of https://github.com/pytest-dev/pytest/issues/1512 . Update the format
of the truncation message to help make it clear that pytest truncates the
entire assertion output when verbosity < 2.
2016-09-19 15:27:38 +01:00
Matthew Duck
dd64d823b9
Don't display dict common items if verbosity=1
...
Part one of https://github.com/pytest-dev/pytest/issues/1512 .
If verbosity=1, assertion explanations are truncated at 10 lines. In this
situation, it's more important to tell the user which dictionary items are
different than which are the same.
2016-09-19 15:27:28 +01:00
Floris Bruynooghe
dc16fe2bb9
Merge junit-xml url attribute branch
...
Merge branch 'url_attr' of https://github.com/fushi/pytest into junitxml-url
2016-09-19 12:57:05 +01:00
Floris Bruynooghe
5b260d80f9
Merge pull request #1883 from RonnyPfannschmidt/kill-memoized-call
...
Kill memoized call
2016-09-19 12:47:52 +01:00
Floris Bruynooghe
f484e7c9ca
Merge pkg_resources workaround
...
Merge branch 'pkg_resources_bugfix' of github.com:raquel-ucl/pytest into pkg-resources
This is an odd case and doesn't really make sense, it is working around a bug
in maven/jython and the old version or weird packaging of setuptools they use.
But we used to do this in the past so might as well keep doing this.
2016-09-19 10:14:41 +01:00
Bruno Oliveira
04cf5e1df4
Fixed assertion rewriting for plugins in development mode
...
Fix #1934
2016-09-14 21:59:33 -03:00
Ronny Pfannschmidt
45524241a5
mark: fix introduced linting error
2016-09-08 10:16:45 +02:00
Ronny Pfannschmidt
1812387bf0
Mark: fix python 3 compatibility
2016-09-08 10:03:45 +02:00
Ronny Pfannschmidt
10094a3f09
use consistent inner repressentation for marks
2016-09-08 09:52:22 +02:00
Ronny Pfannschmidt
1c9bd9278e
Merge pull request #1913 from flub/builtin-assertion
...
Remove BuiltinAssertionError
2016-09-05 16:53:13 +02:00
Floris Bruynooghe
28b1896e9a
Remove BuiltinAssertionError
...
We used to have this when we where patching the real Python
AssertionError for use with reinterpret, but reinterpret is now
gone so we no longer need this as it is not used by rewrite.
2016-09-05 15:29:09 +02:00
Florian Bruhin
8a41b26f56
Merge pull request #1908 from nicoddemus/parametrize-unicode-id
...
The "ids" argument to "parametrize" again accepts unicode strings in Python 2
2016-09-05 15:09:12 +02:00
Ronny Pfannschmidt
e1674f60e7
remove memocollect anmd memoized_call
2016-09-05 14:41:28 +02:00
Ronny Pfannschmidt
e572c16d3f
remove memoizedcall in Module
2016-09-05 14:41:28 +02:00
Huayi Zhang
c60854474a
Fix keyword docs
2016-09-05 16:48:04 +08:00
Bruno Oliveira
1e10de574d
The "ids" argument to "parametrize" again accepts unicode strings in Python 2
...
Fixes #1905
2016-09-02 18:38:15 -03:00
Bruno Oliveira
f5d900d972
Merge remote-tracking branch 'upstream/master' into features
2016-09-01 23:07:49 -03:00
Bruno Oliveira
ee284ec587
Set version to 3.0.3.dev0
...
Also, using "dev0" as development suffix otherwise distutils gives a warning during "setup.py develop":
UserWarning: Normalizing '3.0.3.dev' to '3.0.3.dev0'
normalized_version,
2016-09-01 21:34:54 -03:00
Bruno Oliveira
4e58c9a7d0
Fix use of deprecated getfuncargvalue method in the internal doctest plugin
...
Fix #1898
2016-09-01 07:19:11 -04:00
Bruno Oliveira
4c45b93007
Changes for 3.0.2 release
2016-08-31 20:28:38 -04:00
mbyt
696a9112be
integrating review commets of @nicoddemus
...
plus small scale refactoring
2016-08-31 22:33:47 +02:00
mbyt
be08223d5a
Merge branch 'master' into disable_tearDown_and_cleanups_for_post_mortem_debugging
...
Conflicts:
CHANGELOG.rst
2016-08-31 20:35:31 +02:00
Bruno Oliveira
c8a366e551
Fix issue where pytest_plugins as string was marking wrong modules for rewrite
...
Fix #1888
2016-08-30 22:53:50 -03:00
Bruno Oliveira
9d2149d9c0
Merge pull request #1884 from pytest-dev/master
...
merge master into features
2016-08-30 18:47:57 -03:00
mbyt
4eeb475138
avoid tearDown and cleanup for unittest debugging
2016-08-30 21:55:49 +02:00
mbyt
8593bb12ee
pdbcls ipython example with tab completion
2016-08-29 21:15:12 +02:00
Bruno Oliveira
519f02b014
docs warnings as errors and initial page similar to README
...
* Changed "index" to be more similar to the README (#1708 ).
* Fixes numerous issues like missing documents, syntax errors, etc (#1829 , #432 ).
* Mention all docs in "contents.rst" so it's easier for users to locate (#1112 ).
* Add doc generation and checking to Travis and AppVeyor, to avoid re-introducing errors.
Fixes #432 , Fixes #1112 , Fixes #1708 , Fixes #1829
2016-08-26 17:47:18 -03:00
Ahn Ki-Wook
856ad719d3
Fix UnicodeEncodeError when string comparison with unicode has failed.
2016-08-26 09:41:40 +09:00
John Towler
1b259f70f3
Testcase reports with a url attribute will now properly write this to junitxml
2016-08-25 13:08:51 -07:00
Jordan Guymon
a152ea2dbb
Add buffer attribute to stdin stub
2016-08-24 16:26:34 -07:00
Raquel Alegre
8f516d27fa
Moved import pkg_resources to else clause.
2016-08-24 10:25:01 +01:00
Bruno Oliveira
972a5fb5d5
Improve error message when passing non-string ids to pytest.mark.parametrize
...
Fix #1857
2016-08-23 23:31:45 -03:00
Bruno Oliveira
7704f73db9
Merge branch 'master' into merge-master-into-features
2016-08-23 21:36:42 -03:00
Bruno Oliveira
ea0febad28
Updates for new patch version 3.0.2
2016-08-23 21:33:57 -03:00
Bruno Oliveira
49fc4e5e4c
Changes for 3.0.1 release
2016-08-23 18:15:43 -04:00
Bruno Oliveira
df200297e2
Fix internal error when parametrizing using and empty list of ids()
...
Fix #1849
2016-08-23 18:18:46 -03:00
Raquel Alegre
2f11a85698
Import pkg_resources only when necessary.
2016-08-23 16:41:11 +01:00
Bruno Oliveira
53a0e2b118
Fix code which guesses parametrized scope based on arguments
...
Fix #1832
2016-08-22 21:05:41 -03:00
Bruno Oliveira
d99ceb1218
Merge pull request #1844 from nicoddemus/importer-error
...
Importer loader error
2016-08-22 20:47:25 -03:00
Marcin Bachry
678750c8f8
Fix importer call
2016-08-21 22:07:18 +02:00
Ronny Pfannschmidt
406777d104
mark plugin: move the unclean marked parameter extraction
2016-08-21 20:44:37 +02:00
Florian Bruhin
a20c3f9c44
Merge pull request #1827 from blueyed/Fix-spelling-s-outside-a-outside-of-a-
...
Fix spelling: s/outside a/outside of a/
2016-08-20 20:04:58 +02:00
Daniel Hahler
86ec3f37af
minor: s/no pkg_resources/pkg_resources/
2016-08-20 18:47:42 +02:00
Daniel Hahler
e306a53999
Fix spelling: s/outside a/outside of a/
2016-08-20 18:43:39 +02:00
Bruno Oliveira
63dc71c57e
Fix regression when using importorskip at module level
...
Fix #1822
2016-08-19 18:21:25 -03:00
Bruno Oliveira
db922403cc
Bump version to 3.1.0.dev
2016-08-19 17:44:07 -03:00
Bruno Oliveira
3a200b75c9
Bump version to 3.0.1.dev
2016-08-19 17:41:45 -03:00
Bruno Oliveira
a3e6c14da3
Bump version to 3.0.0
2016-08-18 11:41:10 -04:00
Bruno Oliveira
66673c0dd3
Remove obsolete docstring
2016-08-17 22:59:18 -03:00
Bruno Oliveira
3ba475c0f2
Move internal _is_unittest_unexpected_success_a_failure to "compat" module
...
Fix #1815
2016-08-17 22:50:10 -03:00
Bruno Oliveira
463e6572c5
Merge branch 'master' into merge-master-into-features
...
Preparing for 3.0
2016-08-17 22:39:23 -03:00
Bruno Oliveira
4ed412eb59
unittest's unexpectedSuccess should work as non-strict xpass
...
Make sure tests for that behavior obtain the same return code
using either pytest or unittest to run the same file
2016-08-17 21:32:04 -03:00
Raphael Pierzina
bb3d6d87b6
Merge branch 'master' into fix-report-outcome-for-xpass
2016-08-17 22:15:29 +01:00
Florian Bruhin
789e4670e7
Merge pull request #1813 from nicoddemus/pytest-setup.cfg
...
Support [tool:pytest] in setup.cfg files
2016-08-17 20:33:57 +02:00
Florian Bruhin
c8ab79402c
Merge pull request #1811 from nicoddemus/revert-invocation-fixtures
...
Revert invocation-fixtures code
2016-08-17 20:32:54 +02:00
Bruno Oliveira
ab86dea529
Support [tool:pytest] in setup.cfg files
...
Also deprecate [pytest] usage in setup.cfg files
Fix #567
2016-08-17 08:19:38 -03:00
Bruno Oliveira
707b6b5e3f
Revert all invocation-fixtures code
...
Due to a serious regression found in #1794 , it was decided to pull off
invocation features from 3.0 so it can be (hopefully) re-introduced
in 3.1
2016-08-17 08:12:55 -03:00
Bruno Oliveira
f25771a101
Deprecate --resultlog cmdline option
...
Fix #830
2016-08-16 21:40:34 -03:00
Bruno Oliveira
ca5957932b
Merge pull request #1806 from blueyed/fix-off-by-one-error-with-warnings
...
Fix off-by-one error with lines from request.node.warn
2016-08-15 19:04:00 -03:00
Daniel Hahler
c163cc7937
Improve display of continuation lines with multiline errors
...
Fixes https://github.com/pytest-dev/pytest/issues/717 .
Follow-up to https://github.com/pytest-dev/pytest/pull/1762 .
2016-08-14 22:34:31 +02:00
Daniel Hahler
16cb5d01b1
Fix off-by-one error with lines from request.node.warn
...
The line numbers in `node.location` seem to be zero-based?!
2016-08-14 22:10:01 +02:00
Daniel Hahler
5b95ee3c19
Pass exitstatus to pytest_terminal_summary hook
...
This is useful to know if a testrun has been interrupted
(EXIT_INTERRUPTED).
2016-08-14 22:06:35 +02:00
Raphael Pierzina
225341cf2c
Set wasxfail only for xpass w/o strict and else set longrepr
2016-08-13 00:00:51 +01:00
Raphael Pierzina
296f42a2c9
Treat unittest.expectedFailure pass as a failure
2016-08-12 23:18:36 +01:00
Christian Boelsen
e4028b4505
Fix #1798 to include errors in total tests in junit xml output.
2016-08-08 13:35:49 +01:00
Floris Bruynooghe
99a4a1a784
Merge pull request #1791 from nicoddemus/ide-integration-1790
...
Internal adjustments for easier integration with IDEs
2016-08-07 23:50:50 +01:00
Bruno Oliveira
802755ceed
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2016-08-06 17:58:17 -03:00
Daniel Hahler
a2891420de
Fix determining rootdir from common_ancestor
2016-08-06 19:35:40 +02:00
Raphael Pierzina
4fc20d09fe
Change outcome to 'passed' for xfail unless it's strict
2016-08-05 19:25:55 +01:00
Bruno Oliveira
1a79137d04
Add originalname attribute to Function
...
Related to #1790
2016-08-03 22:56:12 -03:00
Bruno Oliveira
530b0050b4
Improve TestReport.sections docs a bit
...
Related to #1790
2016-08-03 21:57:58 -03:00
Bruno Oliveira
ff296fd541
Add capstdout and capstderr attrs to TestReport
...
Related to #1790
2016-08-03 21:49:43 -03:00
Bruno Oliveira
08002ab75a
Add longreprtext property to TestReport objects
...
Related to #1790
2016-08-03 21:49:28 -03:00
Bruno Oliveira
6711b1d6ab
Rewrite asserts in test-modules loaded very early in the startup
...
Also now match modules which start with any of the names registered
using register_assert_rewrite as discussed in #1787
Fix #1784
2016-08-03 12:49:48 -03:00
Bruno Oliveira
277b6d3974
Sort fixture names when a fixture lookup error occurs
2016-08-02 19:45:31 -03:00
Bruno Oliveira
ea6191a0cd
Merge pull request #1779 from RonnyPfannschmidt/deselect-no-reason
...
terminal: dont pretend to know the deselection reason
2016-08-02 08:38:17 -03:00
Bruno Oliveira
553dc2600f
Strip invocation-scope suffix when displaying fixture lookup error
2016-08-01 20:34:56 -03:00
Raphael Pierzina
226f2795ba
Merge pull request #1782 from nicoddemus/invocation-fixtures-help
...
invocation-scoped fixtures show up once with --fixtures
2016-08-01 23:21:28 +01:00
Bruno Oliveira
44ecf2ab2f
invocation-scoped fixtures show up once with --fixtures
2016-08-01 18:48:29 -03:00
satoru
3c8222f1db
Highlight the path of file location in error report
...
So that it's more obvious when we need to copy the file path.
2016-08-01 17:42:20 -03:00
Ronny Pfannschmidt
ac215e9cff
terminal: dont pretend to know the deselection reason
...
this addresses #1372 - we pretend we know the deselection reason from internal plugins and ignore 3rd party/local reasons
2016-08-01 13:50:59 +02:00
Bruno Oliveira
aa145fa83e
Add 'invocation' scope option to fixture docstring
2016-07-29 12:47:30 -03:00
Bruno Oliveira
76fbc6379f
Fix deprecated directive in docstring
2016-07-29 12:39:48 -03:00
Bruno Oliveira
eaf8d9ce19
Set version to 3.0.0.dev1
...
For a long time now we've considering the next version to be 3.0.0
2016-07-28 21:30:16 -03:00
Floris Bruynooghe
510a6083ba
Merge pull request #1758 from nicoddemus/deprecated-module
...
Add deprecation module to centralize deprecation messages and bits of…
2016-07-28 22:36:55 +01:00
Bruno Oliveira
ed36d627e4
Use PyInstaller for freeze test env
...
cx_freeze doesn't seem to be very well supported in Python 3.5.
Using pyinstaller instead and rename environment to "freeze" which
is a more generic term for freezing python code into standalone
executables.
Fix #1769
2016-07-26 22:02:37 -03:00
Roberto Polli
05728d1317
fix keep-duplicates help line.
2016-07-26 09:53:12 +02:00
Bruno Oliveira
c2864aba3d
Merge branch 'master' into merge-master
...
# Conflicts:
# AUTHORS
# CHANGELOG.rst
# _pytest/monkeypatch.py
# _pytest/python.py
2016-07-25 19:06:29 -03:00
Bruno Oliveira
9cf09cda7b
Remove some comments and improved changelog
2016-07-25 18:41:03 -03:00
Bruno Oliveira
d911bfcb8a
Merge branch 'issue634-scopes' of https://github.com/Stranger6667/pytest
...
# Conflicts:
# CHANGELOG.rst
2016-07-25 18:26:50 -03:00
Bruno Oliveira
8f29ce26e9
Merge branch 'mark_missing_fixture_error' of https://github.com/eolo999/pytest
2016-07-25 18:20:17 -03:00
Bruno Oliveira
6c8b0a28e1
Add deprecation module to centralize deprecation messages and bits of code
2016-07-25 18:14:39 -03:00
Dmitry Dygalo
d72afe7e08
Fixed scope override inside metafunc.parametrize. Fixes #634
2016-07-25 12:42:50 +02:00
Roberto Polli
ab6aef1d1f
feature: default behavior now is to ignore duplicate paths specified from the command line. Use --keep-duplicates to retain duplicate paths.
2016-07-25 12:41:58 +02:00
Dmitry Dygalo
f7ad173fee
Fixed collection of classes with custom ``__new__`` method
2016-07-25 11:33:37 +02:00
Florian Bruhin
a309a571d9
Cleanups for #1763
2016-07-25 10:17:46 +02:00
Bruno Oliveira
a24146dd3c
Merge pull request #1757 from tramwaj29/improved-message-when-not-using-parametrized-variable
...
Improved message when not using parametrized variable
2016-07-24 13:02:03 -03:00
Tom Viner
42adaf5a61
Fix #1210 display msg for early calls to exit
2016-07-24 14:16:34 +02:00
JJ
4aede6faa6
fixed conflicts
2016-07-24 12:10:32 +02:00
JJ
d000f2536a
added a test for when the indirect is just a string
2016-07-24 10:47:06 +02:00
Daniel Hahler
5c5d7e05f7
Followup to #1718 : style/formatting
2016-07-24 00:21:42 +02:00
Edoardo Batini
6799a47c78
Start FixtureLookupErrorRepr with an 'E'
2016-07-23 23:43:34 +02:00
JJ
f26fa5a441
changed error message for unused parametrize name
2016-07-23 16:49:20 +02:00
Romain Dorgueil
94731fc2a1
Changes variable name so it better describes what it does now.
2016-07-23 16:26:33 +02:00
Romain Dorgueil
51fa244650
Cleaner implementation of #1749 .
2016-07-23 16:18:12 +02:00
Romain Dorgueil
ec7695e15d
adds a bit of doctest hint on why the key and value getters are separate functions.
2016-07-23 15:19:18 +02:00
Romain Dorgueil
87ca4b95fb
Separate the option keys and value to avoid importing "doctest" (and tested things like "logging") for argument parsing ( fixes #1749 )
2016-07-23 14:50:24 +02:00
Romain Dorgueil
fd8e019cc1
Choose the doctest output format in case of failure, still work in progress as a few checks fail (related to #1749 )
2016-07-23 14:40:46 +02:00
Romain Dorgueil
625b603f1f
Implements an option to choose the doctest output format in case of failure. ( fixes #1749 )
2016-07-23 13:06:05 +02:00
Javi Romero
7e37497d5a
Uppercase first word in docstrings. Change to an imperative form. Add name to authors.
2016-07-22 12:39:06 +02:00
Bruno Oliveira
ae0798522f
Merge pull request #1711 from nicoddemus/invocation-scoped-fixtures
...
Invocation scoped fixtures
2016-07-21 19:48:52 -03:00
Bruno Oliveira
4c112401c5
Log LineMatcher output in a stream instead of stderr
...
This makes the match/nomatch output appear as part
of the fnmatch_lines() error on pytest's output instead
of globbered together with general stdout/stderr capture
2016-07-20 22:35:43 -03:00
Bruno Oliveira
05f3422d7c
Make monkeypatch invocation-scoped
2016-07-20 22:05:49 -03:00
Bruno Oliveira
4f2bf965cb
Merge remote-tracking branch 'upstream/features' into invocation-scoped-fixtures
2016-07-20 21:16:27 -03:00
Bruno Oliveira
20f97c3041
Small documentation improvements
2016-07-20 20:22:28 -03:00
Bruno Oliveira
e0f08a73ab
Merge branch 'features' into conftest-exception-printing
2016-07-20 19:33:36 -03:00
Bruno Oliveira
93aae987a2
Merge pull request #1744 from RonnyPfannschmidt/existfirst-override
...
allow --exitfirst/-x to be overridden by a following --maxfail
2016-07-20 18:16:07 -03:00
Ronny Pfannschmidt
9dadaa8a41
skipping plugin: remove python2.5 compat code
2016-07-20 17:45:20 +02:00
Ronny Pfannschmidt
2a05c311e9
implement exitfirst as store_const option
...
this makes it possible to override with a later maxfail
2016-07-20 17:15:29 +02:00
Ronny Pfannschmidt
61cc5c4d4e
argument parsing: always warn for string types
...
fix #1741
2016-07-19 10:33:25 +02:00
Ronny Pfannschmidt
317b3f257d
optparse compatibility - add float and complex
...
also documents the implementation quality
fixes #457
2016-07-19 10:20:41 +02:00
Ronny Pfannschmidt
8a73a2ad60
Merge pull request #1734 from nicoddemus/issue-1728-inconsistent-setup-teardown
...
setup_* and teardown_* functions argument now optional
2016-07-15 14:59:22 +02:00
Bruno Oliveira
ff8fb4950e
setup_* and teardown_* functions argument now optional
...
setup_module, setup_function and setup_method
extra argument are now optional and may be omitted.
Fix #1728
2016-07-14 23:41:40 -03:00
Floris Bruynooghe
d1852a48b7
Remove assertion reinterpretation
...
The assertion reinterpretation is an old backwards compatibility
mode which was no longer being maintained on feature-parity with
the assertion rewriting mode. It was also responsible for some
dubious patching of builtins and test with side-effects would
suddenly start passing. Since re-writing has been the default for
a long time and plugins are now also re-written it is time to
retire reinterpretation.
2016-07-15 00:33:39 +01:00
Floris Bruynooghe
24fbbbef1f
Merge pull request #1641 from flub/rewrite-plugins
...
Rewrite plugins
2016-07-14 19:39:15 +01:00
Floris Bruynooghe
51ee7f8734
Fixup things after rebase
...
Some changes to make things work on top of current features branch.
2016-07-14 12:42:29 +01:00
Bruno Oliveira
ab0b6faa5f
Deprecate support for passing command-line as string to pytest.main()
...
Fixes #1723
2016-07-14 08:11:43 -03:00
Bruno Oliveira
1266ebec83
Merge remote-tracking branch 'upstream/features' into warnings-displayed-by-default
...
# Conflicts:
# CHANGELOG.rst
# testing/test_terminal.py
2016-07-13 18:45:15 -03:00
Daniel Hahler
3cfebdd7c5
funcarg_prefix_warning: remove newline
...
Followup to https://github.com/pytest-dev/pytest/pull/1718 .
2016-07-13 18:33:24 +02:00
Floris Bruynooghe
743f59afb2
Introduce pytest.register_assert_rewrite()
...
Plugins can now explicitly mark modules to be re-written. By default
only the modules containing the plugin entrypoint are re-written.
2016-07-13 17:31:09 +01:00
Floris Bruynooghe
944da5b98a
Avoid rewrite warning for inline runs
...
When running pytest inline/inprocess we plugins have already been
imported and re-writen, so avoid the warning.
2016-07-13 17:29:19 +01:00
Floris Bruynooghe
a98e3cefc5
Enable re-writing of setuptools-installed plugins
...
Hook up the PEP 302 import hook very early in pytest startup so
that it gets installed before setuptools-installed plugins are
imported. Also iterate over all installed plugins and mark them
for rewriting. If an installed plugin is already imported then
a warning is issued, we can not break since that might break
existing plugins and the fallback will still be gracefull to
plain asserts.
Some existing tests are failing in this commit because of the new
warning triggered by inline pytest runs due to the hypothesis
plugin already being imported. The tests will be fixed in the next
commit.
2016-07-13 17:29:19 +01:00
Daniel Hahler
15e97a7c78
Add punctuation to funcarg_prefix_warning
2016-07-12 23:49:09 +02:00
Ronny Pfannschmidt
c4f20a1834
Merge pull request #1712 from anntzer/custom-debugger
...
Allow passing a custom Pdb subclass via --pdbcls.
2016-07-12 16:45:07 +02:00
Antony Lee
7ee3dd1cb5
Add tests for custom pdb class.
...
(and edit CHANGELOG)
2016-07-11 20:07:29 -07:00
Bruno Oliveira
458ecae1df
Replace all usages of "pytest_funcarg__" for @pytest.fixture
2016-07-11 22:21:52 -03:00
Bruno Oliveira
ad4125dc0d
Deprecate "pytest_funcarg__" prefix to declare fixtures
...
Fixes #1684
2016-07-11 22:21:50 -03:00
Bruno Oliveira
5506dc700c
Deprecate yield tests
...
Closes #16
Closes #1324
2016-07-11 22:21:49 -03:00
Bruno Oliveira
0ca06962e9
Improve docs
2016-07-11 20:33:16 -03:00
Bruno Oliveira
fb4da00a32
Merge remote-tracking branch 'upstream/features' into invocation-scoped-fixtures
2016-07-11 20:09:13 -03:00
Antony Lee
6383b53ad9
Allow passing a custom Pdb subclass via --pdbcls.
...
This obviates the need for plugins such as `pytest-ipdb`; instead one
can simply call `py.test --pdb=IPython.core.debugger:Pdb`
2016-07-09 21:10:52 -07:00
Bruno Oliveira
775100881a
Implement invocation-scoped fixtures
2016-07-09 22:52:05 -03:00
Ronny Pfannschmidt
8c49561470
split most fixture related code into own plugin
2016-07-09 20:36:00 +02:00
Ronny Pfannschmidt
b9a91dc112
merge from master to features
2016-07-06 11:51:48 +02:00
aostr
94e4a2dd67
* implemented changes recommended by nicoddemus
2016-07-05 15:22:27 +02:00
Javier Domingo Cansino
61e605f60b
Making conftest import failures easier to debug
2016-07-05 10:04:42 +01:00
Steffen Allner
6438895a23
Fix PEP-8.
2016-07-03 22:33:21 +02:00
Steffen Allner
b650c3c118
Implement --setup-show cli flag
...
to also be able to see fixture setup with normal test execution.
2016-07-03 22:30:51 +02:00
Bruno Oliveira
58e558141d
Remove commented out code
2016-06-26 21:19:07 +02:00
Bruno Oliveira
5891061ac1
Merge pull request #1675 from kvas-it/issue-1562
...
Add warning for assertions on tuples #1562
2016-06-26 16:09:15 -03:00
RedBeardCode
1b0dbd8c40
Move the freezing function from genscript.py to a new module freeze_support.py
2016-06-26 19:37:24 +02:00
RedBeardCode
0e2ebc96ff
Remove deprecated cmd options
...
Fixes #1657
2016-06-26 19:26:04 +02:00
aostr
1ce4670062
* removed tailing whitespaces
2016-06-26 06:51:57 +02:00
Vasily Kuznetsov
c17027e576
Warn about asserts on tuples ( fixes #1562 )
2016-06-25 19:21:48 +02:00
aostr
e04d9ff80b
* now showing pytest warnings summary by default.
...
* added ``--disable-pytest-warnings` flag to let users disable the warnings summary.
* extended/changed unit tests for the changes in the pytest core.
2016-06-25 18:16:13 +02:00
RedBeardCode
e2f550156e
Improve of the test output for logical expression with brackets.
...
Fixes #925
2016-06-25 18:10:36 +02:00
Ted Xiao
856e6cab75
add --override-ini option to overrides ini values
...
Signed-off-by: Ted Xiao <xiao.xj@gmail.com>
2016-06-25 23:45:32 +08:00
holger krekel
13a188fe37
Merge pull request #1647 from sallner/features
...
Add new options to report fixture setup and teardown
2016-06-25 16:38:37 +02:00
Bruno Oliveira
c519b9517a
Merge pull request #1663 from aostr/master
...
Rename the default plugin "pdb" into "debugging"
2016-06-25 09:56:54 -03:00
Bruno Oliveira
df17f862fa
Merge pull request #1648 from blueyed/simplify-Argument-__repr__
...
Simplify Argument.__repr__
2016-06-25 09:26:50 -03:00
aostr
9a5224e2f8
Renamed the pdb module and changed unit tests accordingly
2016-06-25 12:37:31 +02:00
Danielle Jenkins
da5c579d82
Move setupplan and setuponly options to their respective modules.
...
Also, changed their group from "general" to "debugconfig".
2016-06-25 12:20:56 +02:00
Danielle Jenkins
032ce8baf6
Switch setuponly and setupplan options to a hook-based implementation.
2016-06-25 12:19:46 +02:00
aostr
05b5554cac
Renamed pytest pdb to debugging which conflicts with python pdb.
...
Combining multiple imports the "import pdb" imports the pytest module
as opposed to the python debugger.
2016-06-25 12:09:05 +02:00
Florian Bruhin
757f37f445
Don't ignore ImportError with setuptools plugins
...
This was added in b2d66b9e7b
but is a bad
idea. When a plugin can't be imported, commandline options (optionally
set in pytest.ini) could be undefined, which means pytest bails out
much earlier before showing the warning, which is hard to debug.
Fixes #1479 , also see #1307 and #1497
2016-06-25 09:56:22 +02:00
Daniel Hahler
939407ef63
Simplify Argument.__repr__
...
I have came across this when noticing that universal-ctags fails to parse
this correctly (https://github.com/universal-ctags/ctags/issues/997 ).
2016-06-25 09:31:31 +02:00
Omar Kohl
d81f23009b
Raise CollectError if pytest.skip() is called during collection
...
pytest.skip() must not be used at module level because it can easily be
misunderstood and used as a decorator instead of pytest.mark.skip, causing the
whole module to be skipped instead of just the test being decorated.
This is unexpected for users used to the @unittest.skip decorator and therefore
it is best to bail out with a clean error when it happens.
The pytest equivalent of @unittest.skip is @pytest.mark.skip .
Adapt existing tests that were actually relying on this behaviour and add a
test that explicitly test that collection fails.
fix #607
2016-06-24 20:56:21 +02:00
Tom Viner
77689eb486
Fixes #1503 no longer collapse false explanations
2016-06-24 15:35:24 +02:00
Tom Viner
df9918eda3
issue1625, name getfuncargvalue to getfixturevalue
2016-06-24 10:08:19 +02:00
Vasily Kuznetsov
c6af737d4e
Fix fixture parameter display when ids is a function
2016-06-23 10:54:22 +02:00
Vasily Kuznetsov
1a5e530b98
Fix capturing with --setup-only/--setup-plan
2016-06-23 10:23:04 +02:00
Stefan Zimmermann
69bab4ab04
added check for already existing option names to OptionGroup.addoption()
2016-06-22 18:01:35 +02:00
Steffen Allner
dd97a2e7c8
Merge from upstream
2016-06-22 17:51:48 +02:00
Vasily Kuznetsov
61992b4e22
Implement --setup-plan option
2016-06-22 16:45:36 +02:00
Ronny Pfannschmidt
18ef7de96b
merge from master again
2016-06-22 16:03:52 +02:00
Vasily Kuznetsov
5e0d78f4f1
Fix .format string failures on python 2.6
2016-06-22 14:53:37 +02:00
Ronny Pfannschmidt
083f64100d
merge master into features
2016-06-22 14:39:33 +02:00
Vasily Kuznetsov
2c5c4f3f78
Add printing of fixture dependencies
2016-06-22 12:54:36 +02:00
Steffen Allner
2c6cfa42fa
Disable capturing for setuponly output
2016-06-22 12:14:35 +02:00
Steffen Allner
de9ed5e3f4
Merge pull request #1 from kvas-it/features
...
Factor setuponly code out of runtestprotocol().
2016-06-22 12:04:45 +02:00
Steffen Allner
92bcc36266
Refactor logging of fixtures
2016-06-22 12:01:51 +02:00
Vasily Kuznetsov
6874c3a3cc
Factor setuponly code out of runtestprotocol().
2016-06-22 11:09:54 +02:00
Tom Viner
98adf204b2
issue 1553: Include terminal newlines in diffs
2016-06-22 09:50:15 +02:00
Steffen Allner
499c9551c8
Implement working version of --setuponly
2016-06-22 09:42:45 +02:00
Bruno Oliveira
c3ee1c17bc
Merge pull request #1620 from tomviner/issue460/parameterized-subrequest
...
Issue 460: Fail on getfuncargvalue(<fixture with params>)
2016-06-21 13:43:06 -03:00
Bruno Oliveira
4350f499b2
Merge branch 'issue1629' of https://github.com/davehunt/pytest into features
2016-06-21 18:37:14 +02:00
Bruno Oliveira
61ede096a3
Merge pull request #1631 from Avira/master
...
help the user in the rare case this assertion actually fails
2016-06-21 13:17:52 -03:00
Bruno Oliveira
573866bfad
Merge remote-tracking branch 'upstream/features' into issue-1619-conftest-assert-rewrite
2016-06-21 18:10:19 +02:00
Dave Hunt
ef9dd14963
Introduce pytest command as recommended entry point
...
Fixes #1629
2016-06-21 16:16:57 +02:00
Oliver Bestwalter
2b5c2f3ed5
help the user in the rare case this assertion actually fails
2016-06-21 14:57:48 +02:00
Omar Kohl
ede7478dcc
Exit pytest on collection error (without executing tests)
...
Add --continue-on-collection-errors option to restore the previous behaviour:
Execute tests (that were successfully collected) even when collection errors
happen.
Some tests had to be modified e.g. because the return code changed to 2
(EXIT_INTERRUPTED) instead of 1 (EXIT_TESTSFAILED) because an Interrupted
exception is raised on collection error.
Implemented via pair programming with:
Oleg Pidsadnyi <oleg.pidsadnyi@gmail.com>
closes #1421
2016-06-21 13:32:34 +02:00
Bruno Oliveira
819942e964
Return explicit None from rewrite hook's find_module
2016-06-21 12:28:36 +02:00
Bruno Oliveira
8b0fb47c79
Remove print left by accident
2016-06-21 12:23:12 +02:00
Tom Viner
5854a71ece
Issue 460: getfuncargvalue fixture w. params err
2016-06-21 11:29:21 +02:00
Floris Bruynooghe
9118c0222f
Merge .set_config() into constructor
2016-06-21 09:28:10 +02:00
Daniel Hahler
e53e45b55c
tests: getexecutable: call `--version` on all Pythons
...
This should prevent errors from pyenv:
pyenv: python2.6: command not found
The `python2.6' command exists in these Python versions:
2.6.9
While the pyenv wrapper explicitly returns 127, I think it is better to
just check for non-zero?!
2016-06-21 08:36:02 +02:00
Bruno Oliveira
3a81d2e012
conftest files now use assertion rewriting
...
Fix #1619
2016-06-20 23:13:29 +02:00
Florian Bruhin
4f2db6c08d
Merge pull request #1616 from palaviv/pytest.raises-message
...
Pytest.raises custom error message
2016-06-20 18:43:12 +02:00
palaviv
f8d4cadc3d
Added versionchanged directives
2016-06-19 23:56:43 +03:00
palaviv
c29130d400
Updated documentation
2016-06-19 23:34:42 +03:00
palaviv
ca093673fb
pytest.raises accept cutom message only when used as context manager
2016-06-19 21:24:47 +03:00
Bruno Oliveira
d81ee9acfb
Merge pull request #1597 from taschini/pyargs-fix
...
Ensure that a module within a namespace package can be found by --pyargs
2016-06-19 14:20:52 -03:00
Bruno Oliveira
72bf11cbe9
Add disabled() method to capsys and capfd
...
Fix #1599
2016-06-19 19:14:36 +02:00
palaviv
d21886c005
pytest.raises accpets custom message
2016-06-16 20:15:32 +03:00
Greg Price
ab8b2e75a3
Simplify default pytest_runtestloop
...
The inner function and the explanatory comment it makes necessary can
all be removed if we switch to an if/else rather than try/except for
this condition.
Perhaps this bit comes from my fondness for C, but I think I would
find this style clearer and easier to understand even if it weren't
for the Python 2 quirk that makes the other style require us to add an
unnecessary-looking function abstraction. In any case, given that the
alternative does require that abstraction this is definitely simpler.
2016-06-15 18:27:08 -07:00
Bruno Oliveira
308396ae3c
Merge pull request #1606 from hackebrot/show-fixtures-per-test
...
Show fixtures per test
2016-06-14 09:54:18 -03:00
taschini
4d9e293b4d
Incorporated feedback ( #1597 ).
...
Fixed problem caused in a test on Windows by file left open by PyPy and not immediately garbage collected.
2016-06-14 07:12:40 +02:00
taschini
e2e6e31711
Ensure that a module within a namespace package can be found by --pyargs.
2016-06-14 07:12:40 +02:00
Raphael Pierzina
adc50ac72f
Change format for test function locations
2016-06-12 15:58:32 +01:00
Guyzmo
accd962c9f
Fixed issue shadowing error when missing argument on teardown_method
...
When the method argument is missing on teardown_method, the traceback is
100% internal to pytest, which with default options get pruned. Then
that traceback is empty, leading to a new exception as a traceback shall
not be empty.
This PR fixes that issue by pushing back the last stack on the
traceback, when the stacktrace is empty after pruning. Then the output
is still pruned, but gives meaningful information with the item where it
failed on the stack.
* fixes issue #1604
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
2016-06-12 03:45:24 +02:00
Raphael Pierzina
b99aace8a9
Fix py26 by using indices in str.format
2016-06-12 00:52:03 +01:00
Raphael Pierzina
7eea168106
Implement show_fixtures_per_test and add cli flag
2016-06-12 00:20:06 +01:00
Bruno Oliveira
bdc29968b8
Remove dead code and simplify code in call_fixture_func
2016-06-08 21:07:56 -03:00