holger krekel
8f8466ee40
Merged in witsch/pytest/doctest-fixtures (pull request #25 )
...
fixture support in doctests
2013-03-21 12:33:43 +01:00
Andreas Zeidler
dfcb0e322c
rename `get_fixture` to `getfixture` to better match the current API style
...
--HG--
branch : doctest-fixtures
2013-03-21 12:04:14 +01:00
Andreas Zeidler
5a3547dd7e
also provide `get_fixture` helper for module level doctests
...
--HG--
branch : doctest-fixtures
2013-03-20 17:32:48 +01:00
Andreas Zeidler
f747d363b0
don't expose the `FixtureRequest` object itself in doctests. in most cases `get_fixture` is sufficient, and you can always call `get_fixture('request')` anyway
...
--HG--
branch : doctest-fixtures
2013-03-20 16:36:48 +01:00
Benjamin Peterson
65c69a34ac
python 2.4 compatibility
2013-03-16 20:08:01 -07:00
Antonio Cuni
ba0100e057
(antocuni, ronny around): import directly from _pytest.runner to avoid the usage of @property
2013-03-14 16:53:57 +01:00
Antonio Cuni
37c47155e0
correctly handle nose.SkipTest during collection
2013-03-14 16:10:33 +01:00
Benjamin Peterson
0cf79b29cd
in the default Python 2 case, manually check the source is ASCII ( fixes #269 )
2013-03-08 10:44:41 -05:00
Floris Bruynooghe
6d1662e4b7
Use py.builtin._basestring
2013-02-15 13:38:40 +00:00
Floris Bruynooghe
48e6aa9dc7
Allow MarkEvaluator expressions to be unicode
...
This fixes issue #266 .
2013-02-15 11:47:48 +00:00
Ronny Pfannschmidt
0dd05023b8
fix issue 251 - report a skip instead of ignoring classes with init
2013-02-15 10:18:00 +01:00
Ronny Pfannschmidt
69ef750091
fix issue134 - print the collect errors that prevent running specified test items
2013-02-14 12:21:42 +01:00
Ronny Pfannschmidt
ca8b3c2307
unify logic for error exit on test failures
2013-02-14 12:13:04 +01:00
holger krekel
d0e18ac63f
issue250 unicode/str mixes in parametrization names and values now works
2013-02-12 23:30:34 +01:00
holger krekel
296f752cca
fix --genscript option to generate standalone scripts that also
...
work with python3.3 (importer ordering)
2013-02-12 22:59:29 +01:00
holger krekel
456731ed0f
fix issue257 assertion-triggered compilation of source ending in a
...
comment line doesn't blow up in python2.5 (fixed through py>=1.4.13.dev6)
2013-02-12 22:43:33 +01:00
Ronny Pfannschmidt
162c3689c6
fix issue 260 - don't use nose specials on plain unittest cases
2013-02-07 17:53:13 +01:00
Ronny Pfannschmidt
b94c3084a6
small line length fix in nose plugin call optional
2013-02-07 10:41:07 +01:00
holger krekel
9d107523a1
py3 fixes
2013-02-04 16:07:51 +01:00
holger krekel
06ab38a2fc
strip old comment and hack
2013-02-03 20:47:39 +01:00
Andreas Zeidler
25547e3afb
pass fixture request object (and convenience shortcut to get fixtures) into doctest files
...
--HG--
branch : doctest-fixtures
2013-01-30 17:32:37 +01:00
Ronny Pfannschmidt
570688f701
ensure OutcomeExceptions like skip/fail have initialized exception attributes
2013-01-27 02:06:19 +01:00
Benjamin Peterson
65edf87ea6
display the repr of some global names ( fixes #171 )
2013-01-10 11:59:08 -06:00
holger krekel
1e94d900f2
fixed versioning, thanks Arfrever
2012-12-09 09:19:33 +01:00
holger krekel
22dd5e29e2
when informations gets truncated, mention use of "-vv" to see it.
2012-11-30 12:18:12 +01:00
Ronny Pfannschmidt
725e63db66
improve PYTEST_DEBUG tracing output
...
by putingextra data on a new lines
with additional indent
2012-11-29 10:04:39 +01:00
holger krekel
3d79e7060e
allow to specify prefixes starting with "_" when
...
customizing python_functions test discovery. (thanks Graham Horler)
2012-11-28 09:23:36 +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
68786a6434
fix bug where using capsys with pytest.set_trace() in a test
...
function would break when looking at capsys.readouterr()
2012-11-21 20:43:31 +01:00
holger krekel
b97de57ebe
improve docstring for metafunc.parametrize()
2012-11-21 10:13:44 +01:00
holger krekel
1c9ef2443f
bump version, fix -k option help
2012-11-20 14:20:39 +01:00
holger krekel
b5955c5979
fix version number, final fixes
2012-11-20 14:01:31 +01:00
holger krekel
765b053984
bump version, add announcement, regen docs
2012-11-20 13:42:00 +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
f3e03fc298
modernize tmpdir fixture (use request.node in tmpdir fixture, use @pytest.fixture)
2012-11-19 14:07:14 +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
c64c567b75
fix issue224 - invocations with >256 char arguments now work
2012-11-12 10:15:43 +01:00
holger krekel
4ac465acfb
allow to pass expressions to "-k" option, just like with the "-m" option
2012-11-09 12:29:33 +01:00
holger krekel
a4909a0ae4
allow to dynamically define markers (e.g. during pytest_collection_modifyitems)
2012-11-09 12:07:41 +01:00
holger krekel
476d210d09
prolong workaround for jython AST bug http://bugs.jython.org/issue1497
...
to make pytest work for post-2.5.1 jython versions
2012-11-07 10:05:39 +01:00
holger krekel
d6f10d502c
fix py31 compat, amend setup.py long description
2012-11-06 15:36:11 +01:00
holger krekel
65d6ebe7d1
bump to 2.3.3, add release announce
2012-11-06 14:41:10 +01:00
holger krekel
33cd414420
fix issue127 improve pytest_addoption docs, add new config.getoption(name) method for consistency.
2012-11-06 14:09:12 +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
f203401964
amend changelog entries
2012-11-06 09:27:58 +01:00
holger krekel
002c5072af
addresses issue209 - avoid error messages from pip on python2.4 related to file, however, never be imported with this interpreter
2012-11-06 09:08:54 +01:00
Ronny Pfannschmidt
df444906d6
merge pull request
2012-11-05 21:18:50 +01:00
holger krekel
7e831b66ec
fix issue148 - recognize @unittest.skip on classes, avoid setup/teardown
2012-11-03 20:54:48 +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
6b6080ae6c
remove unused code
2012-10-28 10:12:36 +01:00
holger krekel
6ad16936bb
bump version to 2.3.2, regen docs and changelog
2012-10-25 13:48:31 +02:00
holger krekel
b8277bfed8
fix issue127 - improve pytest_addoption and related documentation
2012-10-25 11:07:07 +02:00
holger krekel
2637326782
improve support for trial a bit more: don't run trial's empty TestCase.runTest() method
2012-10-22 19:22:01 +02:00
holger krekel
aa79c0a4b9
fix unittest emulation: TestCase.runTest is now ignored
...
if there are test* methods.
2012-10-22 16:25:09 +02: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
036557ac18
fix issue206 - unset PYTHONDONTWRITEBYTECODE in assertrewrite test
2012-10-22 11:14:18 +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
d55fc611c4
properly handle non-existent PYTHONPATH
2012-10-20 17:39:15 +02:00
holger krekel
720fe3405b
allow to run self-tests with "python setup.py test" for pytest tests itself
2012-10-20 17:32:03 +02:00
holger krekel
c894b2b459
add tox.ini to distribution
2012-10-20 17:08:02 +02:00
holger krekel
289ee1c6ea
prepare a 2.3.1
2012-10-20 14:05:33 +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
fae34ca5e3
proper version number (2.3.1.dev*)
2012-10-19 16:00:29 +02:00
holger krekel
0852e84d9f
skip pexpect using tests on freebsd
2012-10-19 15:59:29 +02:00
holger krekel
dca5fa2241
fixing links for 2.3 release, and fixing a windows32 failure on py3
2012-10-19 10:53:28 +02:00
holger krekel
586befb945
make usefixtures appear in py.test --markers output
2012-10-19 10:17:13 +02:00
holger krekel
b0b6695538
improve automatic id generation for parametrized tests
2012-10-19 10:07:13 +02:00
holger krekel
024df6e00b
some more finalization of docs
2012-10-19 10:07:11 +02:00
holger krekel
64544bee1a
fix trial tests
2012-10-18 15:09:20 +02:00
holger krekel
7c8755cc89
refine docs, fix a marker/keywords bit, and add a test that request.keywords points to node.keywords.
2012-10-18 15:06:55 +02:00
holger krekel
7d747a1cde
remove .markers attribute which was added in development and after 2.2.4
...
so never released. Rather extend keywords to also exist on nodes. Assigning
to node.keywords will make the value appear on all subchildren's
keywords.
2012-10-18 13:52:32 +02:00
holger@merlinux.eu
cf17f1d628
fixing the fix of the last commit
2012-10-17 13:45:03 +02:00
holger krekel
67de2c53ac
fix issue198 - detection of fixtures from conftest.py files in deeper nested dir structures with certain invocations
2012-10-17 13:42:40 +02:00
holger krekel
26ab80c4cd
fix and test --fixtures location information
2012-10-17 13:12:33 +02:00
holger krekel
20849a44f5
improve --fixtures output with per-plugin grouping and hiding underscore names in non-verbose mode, re-introduce --funcargs for compatibiliy
2012-10-17 12:57:05 +02:00
holger krekel
51644a116c
remove unused code
2012-10-17 11:50:32 +02:00
holger krekel
98513b995a
simplify/integrate fixturemapper into FixtureManager
...
also fix jstests test failures
2012-10-17 11:20:45 +02:00
holger krekel
dc4e205876
typographic fixes, little simplification
2012-10-17 09:21:04 +02:00
holger krekel
2855a2f6cb
remove outdated IMPL.txt and move up-to-date doc bits to FixtureMapper class.
2012-10-16 16:27:51 +02:00
holger krekel
cc2337af3a
refine parsefactories interface, fix two_classes test originally reported by Alex Okrushko, also add a few more tests to make sure autouse-fixtures are properly distinguished
2012-10-16 16:13:12 +02:00
holger krekel
ab4183d400
strike another use of getfuncargnames() and rename FixtureDef.fixturenames to "argnames" because it's really just the fixture function arguments
2012-10-16 14:19:38 +02:00
holger krekel
37965657d0
make factorydeflist immutable by using an index
2012-10-16 13:59:12 +02:00
holger krekel
ccaa1af534
use FixtureInfo from FixtureRequest
2012-10-16 13:48:00 +02:00
holger krekel
2f3bbdafda
use fixturemapper/fixtureinfo from Function objects
2012-10-16 13:48:00 +02:00
holger krekel
021c087701
implement fixture information stored on the parentnode of functions
...
to be reused by metafunc mechanics and Function setup
2012-10-16 13:47:59 +02:00
holger krekel
4541456a96
add plan for better fixture implementation, an xfailing test
...
and a slight refactoring of Metafunc tests/creation
2012-10-16 13:47:59 +02:00
holger krekel
f5d796b093
improve docs further, refine unittest docs, rename ``autoactive`` to ``autouse``
...
to better match ``@pytest.mark.usefixtures`` naming.
2012-10-12 14:52:36 +02:00
ataumoefolau
40a55a640c
nose.py: don't try to call setup if it's not callable
2012-10-12 14:39:17 +10:00
holger krekel
6eec2f5893
make tmpdir fixture always return a realpath()ed tmpdir and make a note
...
about it in the changed test. Currently, i don't see a reason why this
is a bad idea (tm)
2012-10-11 13:05:16 +02:00
holger krekel
0594265adc
fix output of --fixtures for @pytest.fixture defined functions.
2012-10-09 16:49:04 +02:00
holger krekel
fb3af07ef4
try to move docs to a more releasable state, also refine
...
release announce and a few coding bits
2012-10-09 14:35:17 +02:00
holger krekel
df643f65f0
remove support for @pytest.fixture on classes, to be reserved for future use:
...
Fixture-classes could offer setup/teardown/addoption/configure methods
and provide higher level support. Preliminary allowing it to work on classes
may make introducing it harder.
2012-10-08 11:22:31 +02:00
holger krekel
d630d02c5b
remove pytest.setup usage
2012-10-08 08:34:21 +02:00
holger krekel
30b10a6950
- fix doc references, refactor fixtures docs to more quickly start
...
with examples instead of big text blobgs
- also silence -q and -qq reporting some more
2012-10-07 13:06:17 +02:00
holger krekel
cda84fb566
- allow to use fixtures directly, i.e. without ()
...
- also allow scope to be determined by a dynamic function
2012-10-06 21:03:55 +02:00
holger krekel
d3893dd5d1
allow metafunc.parametrize(scope=...) calls to override the scope of a Fixture function definition. This is useful for cases where you want to dynamically
...
set scope and parametrization for a fixture instead of statically declaring
it on the fixture function.
2012-10-06 21:01:13 +02:00
holger krekel
55a8bfd174
fix issue197 - in case a function is parametrized with zero arguments,
...
skip it during setup
2012-10-06 11:34:06 +02:00
holger krekel
d8c365ef2c
implement pytest.mark.usefixtures and ini-file usefixtures setting
...
and also refine fixture docs a bit - fixtures.txt should now mostly
reflect the current state of the implementation
2012-10-05 19:20:40 +02:00
holger krekel
4cbb2ab3b3
bump version
2012-10-05 14:35:16 +02:00
holger krekel
d1a3f5c3a6
make the default non-error pass simpler and faster, refine error reporting by presenting "fixture" tracebacks
2012-10-05 14:24:45 +02:00
holger krekel
bb07ba7807
rename a number of internal and externally visible variables to use the fixture name
...
rather than funcargs. Introduce .funcargnames compatibility attribute for backward compat.
2012-10-05 14:24:44 +02:00
holger krekel
8282efbb40
internally unify setup and fixture code, making setup a shortcut to fixture(autoactive=True)
2012-10-05 10:21:35 +02:00
holger krekel
9251e747af
rename pytest.factory usages into pytest.fixture ones
2012-10-05 10:21:35 +02:00
holger krekel
5173647b4d
fixes to against python3.3
2012-10-01 10:14:54 +02:00
holger krekel
57a832812b
remove unneccessary internal __request__ funcarg.
2012-10-01 09:23:39 +02:00
Ronny Pfannschmidt
bee7543716
move Item.applymarker to Node, and defer to it from Funcargrequest.applymarker
2012-09-30 22:17:33 +02:00
holger krekel
dbe66f468a
ensure proper calling of finalizers in case of parametrization on classes
2012-09-26 12:24:04 +02:00
Ronny Pfannschmidt
35cbb5791d
fixes issue 156: monkeypatch class level descriptors
2012-09-25 18:15:13 +02:00
holger krekel
a18fd61a20
back out accidental changes introduced by last patch
2012-09-25 15:13:58 +02:00
holger krekel
a1c3d60747
add an xfail-ed test for a potential future "enabled" parameter to setup functions
2012-09-25 15:04:30 +02:00
holger krekel
cd1ead4f7b
- make request.funcargnames carry the closure of all used funcargs
...
- make metafunc.funcargnames carry the closure of used funcargs
2012-09-24 17:04:34 +02:00
Ronny Pfannschmidt
9568ff3b23
backout, the _memoizedcall change worked only due to a local effect
2012-09-24 11:36:24 +02:00
Ronny Pfannschmidt
6e5f491a42
get rid of _memoizedcall - we dont really need it anymore
2012-09-24 11:26:38 +02:00
holger krekel
7768972ec5
make sure setups are called ahead of the funcarg factories of the test function
2012-09-24 10:36:22 +02:00
holger krekel
754fab9b55
merge
2012-09-22 20:26:13 +02:00
Ronny Pfannschmidt
253a87b2dc
fix issue 191 - add support for runTest method of unittest.TestCase subclasses
2012-09-22 18:24:53 +02:00
holger krekel
81082ed3d3
extend --help to tell about --markers and --funcargs
2012-09-22 11:44:56 +02:00
holger krekel
465cfff6f9
don't call nose' setup methods if they are marked with pytest.setup
2012-09-22 00:23:36 +02:00
holger krekel
738f14a48a
improve the parametrization scenario example to sort by id, rather than by file-order, see also: http://stackoverflow.com/questions/12521924/pytest-running-scenarios-in-the-correct-order-in-the-class
2012-09-21 09:39:54 +02:00
holger krekel
22dc47d9f9
refine internal test support for unicode-related bits (used by a test in pytest-pep8)
2012-09-20 10:57:23 +02:00
holger krekel
6cb3281ddd
allow factory/setup-markers on classes, using their respective __init__ methods which can use the funcarg mechanism
2012-09-18 14:00:47 +02:00
holger krekel
a5e7e441d3
fix bug introduced with last checkin
2012-09-18 13:46:24 +02:00
holger krekel
a7c6688bd6
implement full @pytest.setup function unittest.TestCase interaction
2012-09-18 10:54:12 +02:00
holger krekel
d9c24552fc
remove distinction of new versus old funcarg factories
2012-09-18 10:53:42 +02:00
holger krekel
631d311e89
- add request.node which maps to the collection node as specified by the scope.
...
- remove request.markers which is now available via request.node.markers
2012-09-17 20:43:37 +02:00
holger krekel
a94bb0a8bb
introduce a new "markers" attribute to nodes and the request object. It is
...
a dynamic class making holdin
2012-09-17 17:32:23 +02:00
holger krekel
646c2c6001
drops special testcontext object in favour of "old" request object, simplifying communication and code for the 2.2-2.3 transition. also modify docs and examples.
2012-09-17 16:36:10 +02:00
holger krekel
f6b555f5ad
merge
2012-09-17 08:41:04 +02:00
Ronny Pfannschmidt
bf5b226474
fix issue 188 - ensure sys.exc_info on py2 is clear before calling into a test
2012-09-15 15:20:49 +02:00
holger krekel
084c617b67
modify detection of factories located in plugins, allowing pytest's own test functions to access plugin defined funcargs even if they use internal machinery instead of a full test run
2012-09-12 12:51:45 +02:00
Ronny Pfannschmidt
bfaf8e50b6
fix issue 182: testdir.inprocess_run now considers passed plugins
2012-09-03 10:12:30 +02:00
holger krekel
41ad7dbae1
fix issue185 monkeypatching time.time does not cause pytest to fail
2012-09-01 09:58:10 +02:00
Benjamin Peterson
7f36649763
remove usage of exception module, which is gone in py3.3
2012-08-28 16:35:06 -04:00
Ronny Pfannschmidt
e876ad9abd
fix issue 179 - propperly show the dependency chain of factories on setup failure
2012-08-22 21:43:42 +02:00
Ronny Pfannschmidt
45693c2847
exchange the rawcode factory marker check with a more robust and specific instance check as advised by holger
2012-08-19 14:57:07 +02:00
Ronny Pfannschmidt
0e8cd9297a
fix issue 176: raises(AssertionError) now catches builtin AssertionError as well
2012-08-19 13:45:26 +02:00
Ronny Pfannschmidt
0cca20bef9
ignore magic callables with no sane code in factory/setup discovery
2012-08-19 12:36:49 +02:00
Ronny Pfannschmidt
1446b4b4e6
fix issue #178 and extend the failure escape test
2012-08-17 16:08:08 +02:00
holger krekel
627e068516
fix issue172 so that @pytest.setup marked setup_module/function... functions
...
are not called twice. Also fix ordering to that broader scoped setup
functions are executed first.
2012-08-13 13:37:14 +02:00
holger krekel
935761f098
also improve missing funcarg error for setup functions
2012-08-08 14:53:47 +02:00
holger krekel
dd268c1b2b
improve error representation for missing factory definitions
...
in recursive funcarg reconstruction
2012-08-08 11:48:53 +02:00
holger krekel
172505f703
fix/consolidate --junitxml=path construction with relative pathes
2012-08-04 10:33:43 +02:00