holger krekel
0a8b27ff49
fix ordering when mock.patch or other standard decorator-wrappings
...
are used with test methods. This fixues issue346. Thanks to
Ronny Pfannschmidt and Donald Stufft for helping to isolate it.
2013-11-19 23:22:27 +01:00
Anatoly Bubenkov
e2c4730e17
correctly check for fixturedef when merging
...
--HG--
branch : fix-fixturedef-merge
2013-11-13 18:25:55 +01:00
Anatoly Bubenkov
846cf781a1
use deepest fixturedef for fixture closure
...
--HG--
branch : multi-level-fixture-deps-override
2013-11-12 13:45:36 +01:00
James Lan
7210e443ee
Support multiple marks for individual parametrized argument set
...
--HG--
branch : multi-marks
2013-11-01 21:10:13 -07:00
holger krekel
bc8c4b3ebd
pytestconfig is now session-config as it is the same object during the
...
whole test run. Fixes issue370
2013-10-21 13:33:36 +02:00
holger krekel
8ac5af2896
fix flakes issues and make --flakes run part of tox runs
2013-10-12 15:39:22 +02:00
holger krekel
d3c9927fee
fix regression reported by dstufft: regression when a 1-tuple ("arg",) is used
...
for specifying parametrization (the values of the parametrization were passed
nested in a tuple).
2013-10-02 08:08:26 +02:00
holger krekel
de35b077a2
disallow yield in non-yield-fixtures for now. This is an incompataibility but we want to prepare for possibly merging fixture and yield_fixture some day.
2013-09-30 13:56:54 +02:00
holger krekel
086d4e4ced
strike keyword argument in favour of new pytest.yield_fixture decorator
2013-09-30 13:42:39 +02:00
holger krekel
da7133d201
fix some tests wrt to expecting output now that pytest does no
...
introduce unwanted "buffering" on "-s" calls.
2013-09-27 12:28:34 +02:00
holger krekel
3ab9b48782
introduce yieldctx=True in the @pytest.fixture decorator. Refactor tests and docs.
2013-09-26 12:57:21 +02:00
holger krekel
7d86827b5e
ref #322 cleanup all teardown calling to only happen when setup succeeded.
...
don't use autouse fixtures for now because it would cause a proliferation
and overhead for the execution of every test. Rather introduce a
node.addfinalizer(fin) to attach a finalizer to the respective node
and call it from node.setup() functions if the setup phase succeeded
(i.e. there is no setup function or it finished successfully)
2013-08-02 09:52:40 +02:00
Floris Bruynooghe
2cdb54225c
Fix issue 336: autouse fixtures in plugins work again
...
When an autouse fixture in a plugin was encountered None was stored as nodeid
where it used to be ''. This broke the lookup of autouse fixtures later on.
This also adds another test for the normal fixture ordering which was slightly
wrong: a fixture without location was always added at the front of the fixture
list rather then at the end of the fixtures without location but before the
fixtures with location.
2013-08-01 18:58:28 +01:00
Mathieu Agopian
99783b6fba
refs #335 : clarify that the exception info returned by pytest.raises is a py.code.ExceptionInfo()
2013-08-01 11:19:47 +02:00
holger krekel
1280add047
SO-17664702: call fixture finalizers even if the fixture function
...
partially failed (finalizers would not always be called before)
2013-07-17 10:29:11 +02:00
holger krekel
60a53c75a6
some python2.5/3.3 fixes of Brianna's parametrize improvements
2013-07-16 15:43:20 +02:00
holger krekel
af7db5195b
Merged in pfctdayelise/pytest (pull request #38 )
...
A couple of improvements to parametrize
2013-07-16 15:30:48 +02:00
Anatoly Bubenkov
589138ea71
re #320 fallback to test scope if the class-scoped fixture is used in non-class-based test function
...
--HG--
branch : 320-class-scoped-fixture-caching-is-broken-if
2013-07-06 21:30:24 +02:00
Floris Bruynooghe
e6a063ee47
Solve fixture ordering when loading plugins from conftest
...
Conftests are plugins with a location attached to them while other
plugins do not have a location. When ordering fixturedefs those from
plugins without a location need to be listed first.
2013-07-06 17:56:54 +02:00
holger krekel
c4c966683c
fix issue323 - parametrize() of many module-scoped params
2013-06-28 12:57:10 +02:00
holger krekel
469830fffa
some internal renaming to make more sense of the sorting algo,
...
no semantical changes.
2013-06-28 12:54:10 +02:00
variedthoughts
3bcd3317ad
support unittest setUpModule/tearDownModule
2013-06-20 14:43:42 +00:00
Brianna Laugher
345b8391c4
A couple of improvements to parametrize
...
- When not specifying ids, let None and bools use their native string form (like str, int, float) rather than obfuscated form used for objects
- When specifying ids, explicitly raise a ValueError if a different number of ids are specified compared to the test cases
- Add tests for both these items.
2013-05-29 12:59:47 +10:00
holger krekel
c294a417bd
allow to specify parametrize inputs as a comma-separated string
...
add Wouter to changelog and to authors
2013-05-28 10:32:54 +02:00
holger krekel
8a0a18e9b3
- add Brianna (@pfctdayelise ) to changelog and contributors
...
- fix some broken tests on py32/py33 (related to issue308 merge)
- re-format docstrings
-
2013-05-22 15:24:58 +02:00
Brianna Laugher
ee65ca10f4
issue #308
...
address some comments by @hpk42 on 0b9d82e :
- move tests into their own class, rename
- add test showing metafunc.parametrize called in pytest_generate_tests rather than as decorator
- add test and fix single-argname case
- convert two loops into one in parametrize()
also
- renamed 'input' to 'n', since 'input' is a built-in
2013-05-20 12:52:20 +10:00
Brianna Laugher
5373a63008
issue #308
...
first attempt, mark individual parametrize test instances with other marks (like xfail)
2013-05-17 18:46:36 +10:00
holger krekel
56aa9962fc
allow fixture functions to be implemented as context managers:
...
@pytest.fixture
def myfix():
# setup
yield 1
# teardown
2013-05-05 14:48:37 +02:00
holger krekel
c5f9958783
never consider a fixture function for test function collection
2013-04-29 10:31:51 +02:00
holger krekel
b2cb93e06d
allow re-running of a test item (as exercised by the
...
pytest-rerunfailures plugins) by re-initializing and removing
request/funcargs information in runtestprotocol() - which is a slightly
odd place to add funcarg-related functionality but it allows all
pytest_runtest_setup/teardown hooks to properly see a valid
request/funcarg content on test items.
2013-04-22 10:35:48 +02:00
Ronny Pfannschmidt
0dd05023b8
fix issue 251 - report a skip instead of ignoring classes with init
2013-02-15 10:18:00 +01:00
holger krekel
d0e18ac63f
issue250 unicode/str mixes in parametrization names and values now works
2013-02-12 23:30:34 +01:00
Graham Horler
1d7c71884e
Remove check for "_" prefix on python functions (use python_functions)
...
(See IRC hpk 2012-11-27 14:56: after the python_functions customization
was introduced, it makes sense to disregard the preliminary "_" check)
2012-11-27 16:58:08 +00:00
holger krekel
b97de57ebe
improve docstring for metafunc.parametrize()
2012-11-21 10:13:44 +01:00
holger krekel
f263f54889
make yielded tests participate in the autouse protocol
2012-11-19 22:17:59 +01:00
holger krekel
d66ff7e63e
fix autouse invocation (off-by-one error), relates to issue in moinmoin test suite
2012-11-19 22:17:55 +01:00
holger krekel
2ef350aede
getting rid of redundant "active" attribute
2012-11-19 12:42:10 +01:00
holger krekel
b940ed11a0
fix issue226 - LIFO ordering for fixture-added teardowns
2012-11-16 10:03:51 +01:00
holger krekel
5b64b0130d
fix typo (thanks Thomas Waldmann)
2012-11-14 09:40:01 +01:00
holger krekel
dba2a8bc64
fix issue217 - to support @mock.patch with pytest funcarg-fixtures, also split out python integration tests into python/integration.py and fix nose/mark tests
2012-11-06 11:04:11 +01:00
holger krekel
ca281b7c1b
remove unused code
2012-11-02 16:04:56 +01:00
holger krekel
fb173a97a8
extended - fix issue214 - ignore attribute-access errors with objects in test modules that can blow up (for example flask's request object)
2012-10-31 17:00:55 +01:00
Ronny Pfannschmidt
e7e5ee805f
fix issue 214 - gracefully handle proxy objects that look like fixtures
2012-10-31 17:00:43 +01:00
holger krekel
fce13c3e46
re-allow to parametrize with values that don't support __eq__ (closes issue213)
2012-10-28 14:52:43 +01:00
holger krekel
05c86aeb28
make sure ihook uses a node's fspath - important for hooks
...
e.g. during a Module's collect to pick up conftest.py files
residing in the same dir
2012-10-22 16:12:22 +02:00
holger krekel
f28f073c7c
fix teardown-ordering for parametrized setups/teardowns
2012-10-22 12:16:54 +02:00
holger krekel
97f03edcd6
fix issue205 - nested conftest to pickup pycollect_makemodule - relates to the two
...
reports of a failing doc/en/example/py2py3.
2012-10-22 10:17:50 +02:00
holger krekel
f41f7fda68
improve --markers output
2012-10-20 13:56:53 +02:00
holger krekel
9ed127b5da
fix issue203 - fixture functions with a scope=function should have a "self" that points to the actual instance with which the test functions run.
2012-10-20 09:59:20 +02:00
holger krekel
586befb945
make usefixtures appear in py.test --markers output
2012-10-19 10:17:13 +02:00