Ronny Pfannschmidt
bfaf8e50b6
fix issue 182: testdir.inprocess_run now considers passed plugins
2012-09-03 10:12:30 +02:00
Ronny Pfannschmidt
848c749d1a
adapt the junit xml escaping test to my escaping changes
2012-09-03 09:54:02 +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
a6060dfb6d
use py3 compatible print syntax
2012-08-28 16:37:43 -04: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
503addbf09
correctly have the test for issue #[C179 actually fail
2012-08-22 21:20:18 +02:00
Ronny Pfannschmidt
1318df4f5b
add xfailing test for issue 179
2012-08-22 19:49:50 +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
holger krekel
46dc7eeacb
move pytest.mark.factory/setup to pytest.factory/setup, as per flub 's suggestion
2012-08-02 12:41:46 +02:00
holger krekel
535d892f27
- rename @funcarg to @factory
...
- introduce a "testcontext" object for new-style funcargs and setup methods
- New-style funcargs and setup methods cannot use the "request" object anymore.
2012-08-01 13:57:09 +02:00
holger krekel
cb2eb9ba33
reorder internal layout so that funcarg-related functionality is in python.py
2012-08-01 09:23:39 +02:00
holger krekel
4f94ab4e42
mark a test as xfailing on python2.5
2012-08-01 09:10:40 +02:00
holger krekel
449b55cc70
- enhance ordering of tests using parametrized resources
...
- introduce a refined way to perform finalization for setup functions
which does not use cached_setup() anymore
2012-08-01 09:07:32 +02:00
holger krekel
9dc79fd187
introduce a funcargcall object, holding meta information
2012-07-30 12:39:45 +02:00
holger krekel
b57fb9fd47
introduce a SetupCall, holding meta information and setup calling state
2012-07-30 11:51:50 +02:00
holger krekel
d68c65b493
minimize active parametrized non-function scoped resources by
...
- re-ordering at collection time
- modifying setup/teardown
2012-07-30 10:46:03 +02:00
holger krekel
fa61927c6b
introduce @pytest.mark.setup decorated function,
...
extend newexamples.txt and draft a V4 resources API doc.
2012-07-24 12:10:04 +02:00
holger krekel
d4a487c725
allow funcarg factories to receive funcargs
2012-07-23 10:55:09 +02:00
holger krekel
6b0f0adf5b
implement a scope/parametrized examples using the so-far new features
...
also fix a bug with scoping/parametrization
2012-07-20 14:16:50 +02:00
holger krekel
396045e53f
allow registration of "funcarg" marked factories
2012-07-20 14:16:49 +02:00
holger krekel
80db25822c
implement funcarg factory scope marker and ScopeMismatch detection
2012-07-20 14:16:46 +02:00
holger krekel
f358fe7154
extend Metafunc and write a pytest_generate_tests hook on the funcarg manager
...
which discovers factories
2012-07-20 14:16:46 +02:00
holger krekel
e14459d45c
discover funcarg factories independently from request/Function items
2012-07-20 14:16:28 +02:00
holger krekel
4e4b507472
move funcarg factory to a new FuncargManager object at session level
2012-07-19 09:20:14 +02:00
holger krekel
c7ee6e71ab
re-introduce the old 2.2.4 FuncargRequest implementation as it is a better
...
base for implementing the new funcarg/setup api. Also Un-optimize
funcargnames discovery for now.
2012-07-18 19:49:14 +02:00
holger krekel
8adac2878f
put automatic funcarg_ API to Py*objects only, refine internal subclassing and initialisation logic
2012-07-16 10:46:44 +02:00
Benjamin Peterson
099ac1e1f4
cleanup test a bit
2012-07-07 08:01:44 -07:00
Floris Bruynooghe
1aca6c9d7c
Fix extension of of cached re-written file
...
With PYTHONOPTIMIZE set this had the extension of "o" instead of ".pyo".
Fixes issue #168 .
2012-07-07 16:09:53 +02:00
Ronny Pfannschmidt
74e55493d1
test and implement showing verbose assert repr for py.test -vv
2012-06-27 17:26:55 +02:00
holger krekel
ecec653e98
fix issue151 - heuristcally lookup conftest files on all command line arguments, not just the first existing dir/file
...
you can install the corresponding pytest-2.3.dev2 via
pip install -i http:/pypi.testrun.org -U pytest
2012-06-26 21:56:03 +02:00
holger krekel
b4b86159cd
better name for the oejskit-compatibility-class.
2012-06-25 17:49:13 +02:00
holger krekel
91b6f2bda8
mid-scale refactoring to make request API available directly on items.
...
This commit was slightly tricky because i want to backward
compatibility especially for the oejskit plugin which
uses Funcarg-filling for non-Function objects.
2012-06-25 17:35:33 +02:00
holger krekel
227d847216
fix problem with unicode in writing failure representations to terminal, thanks ThomasWaldmann
2012-06-24 16:42:31 +02:00
holger krekel
6e0c30d67d
fix skip/xfail confusion, reported and discussed on
...
http://stackoverflow.com/questions/11105828/in-py-test-when-i-explicitly-skip-a-test-that-is-marked-as-xfail-how-can-i-get
2012-06-23 11:32:32 +02:00
holger krekel
e79a312b92
fix internal test setup failure
2012-06-21 11:30:10 +02:00
holger krekel
ccc04b9fc4
some refinements to reporting and hook order
2012-06-21 11:07:22 +02:00
holger krekel
18306a4644
add header info: always report 3rd party plugins in test runs
2012-06-20 00:16:47 +02:00
holger krekel
1bbe1d086c
fix issue160 a failing setup of an xfail-marked tests should
...
be reported as xfail (not xpass)
2012-06-19 23:48:39 +02:00
holger krekel
b2e87ce027
change pluginmanager.register API to raise ValueError if the plugin object or the name is already registered
2012-06-16 21:29:04 +02:00
holger krekel
3f17784386
fix issue128 - show captured output when capsys/capfd are in use
2012-06-03 21:01:27 +02:00
holger krekel
0790f7a75f
fix issue 144 - wrong classname in junitxml
2012-05-22 17:18:04 +02:00
Ronny Pfannschmidt
db8fbe7661
skip test for pyo on pypy since pypy doesnt do pyo
2012-05-22 16:20:58 +02:00
holger krekel
51d94a4a6e
use higher difference on timing
2012-05-18 13:56:49 +02:00
holger krekel
e18abfd013
fix issue143 - call unconfigure/sessionfinish always when
...
configure/sessionstart where called
use exitcode 4 (instead of 3 which signaled an internal error)
when an initial directory/file was not found
2012-05-17 23:11:23 +02:00
Ronny Pfannschmidt
0e3779b14f
strip bound wrappers of class setup/tardown, fixes #140
...
on python3 im_func is replaced by __func__
2012-05-06 23:03:16 +02:00
Benjamin Peterson
b4588f1798
escape the % operator in string formatting
2012-05-03 13:49:30 -04:00
Benjamin Peterson
1c817aa7bd
don't use octal syntax, since its not py2/py3 compatible
2012-04-18 11:26:44 -04:00
Ronny Pfannschmidt
d02eaa8881
fix a import strange loop that affects pypy test appsupport on python2.5
2012-04-13 12:41:02 +02:00
holger krekel
58933aac2a
try to better handle @unittest.expectedFailure decorator
2012-03-19 22:53:52 -07:00
Ronny Pfannschmidt
ee8d2f9950
junitxml: use a exclusive match on the legal ranges of xml for binary escaping, fixes issue 126
2012-03-09 13:12:18 +01:00
Ronny Pfannschmidt
2ca6d9f039
no longer check if indirect metafunc.parametrize params are funcarg names
2012-02-03 16:54:00 +01:00
Ronny Pfannschmidt
78e7d7aed0
more quit collectonly shows only files and the number of tests in them
2012-02-03 16:56:06 +01:00
Ronny Pfannschmidt
68b353be0d
create session.items before preparse, so collectonly wont break on preparse fail, fixes #115
2012-02-03 16:33:32 +01:00
holger krekel
dfa273dc25
fix issue177 - actually perform session scope finalization
2012-02-01 08:52:34 -05:00
Ronny Pfannschmidt
5263656df6
kwarg support for reports, so xdist can deserialized extended reports
2012-01-20 19:50:45 +01:00
Ralf Schmitt
93424b0f9c
add monkeypatch.chdir method
2012-01-04 12:43:19 +01:00
Ralf Schmitt
4131923c0f
test that a second undo doesn't change sys.path
...
also use a 'mp' funcarg that restores sys.path and the current working
directory in preparation for the monkeypatch.chdir method.
2012-01-04 12:40:57 +01:00
holger krekel
fa6d5bd15b
work around an apparent python2.4/python2.5 bug with subprocess.Popen,
...
causing jenkins failures. Apparently "os.environ.popitem(name, None)"
is not the same as::
try:
del os.environ[name]
except KeyError:
pass
2011-12-28 15:49:13 +00:00
holger krekel
f2c8a837af
fix issue106: allow parametrize to be applied per-class/per-module
2011-12-28 15:47:19 +00:00
holger krekel
ccc1b21ebd
internally keep multiple applications of the same markers as separate
...
entities such that the new iter() API can iterate over pytest.mark
function attributes, getting all such applications. See added example
for more info.
2011-12-28 15:47:18 +00:00
holger krekel
85f2a78005
fix wrongly committed line
2011-12-28 07:57:19 +00:00
holger krekel
e21202b730
fix Jenkins test failures
2011-12-27 21:03:15 +00:00
Benjamin Peterson
8e83af1c33
fix spacing
2011-12-19 14:23:39 -05:00
Benjamin Peterson
268c051eba
propogate current PYTHONPATH
2011-12-19 12:02:07 -05:00
Benjamin Peterson
03cb37b1eb
use an exception more consistent across python versions
2011-12-19 11:56:22 -05:00
holger krekel
d5c3265763
fix issue101: wrong args to unittest.TestCase test function now
...
produce better output
2011-12-18 23:01:39 +00:00
holger krekel
5093d8b925
fix test to actually mean something useful (thanks Jurko)
2011-12-18 10:56:39 +00:00
holger krekel
40187ec9bb
robustify monkeypatch
2011-12-16 22:41:23 +00:00
holger krekel
82ba764bb6
fix unorderable types as reported by Ralf Schmitt
2011-12-14 10:56:51 +00:00
holger krekel
a94a6b4282
fix issue99 - internalerror with --resultlog now produce better output.
...
the fix depends on another change in the py lib which unifies
the output for native and non-native traceback formatting styles
2011-12-10 08:49:21 +00:00
holger krekel
8307270cec
yay! now that we have perfect teardowns we don't need some ugly internal hooks anymore.
2011-12-02 21:00:21 +00:00
holger krekel
c4fe622b82
fix issue93 - avoid "delayed" teardowns for distributed testing by
...
simplifying handling of teardowns.
2011-12-02 21:00:19 +00:00
Ronny Pfannschmidt
b28977fbaf
take the skip property of unittest cases and functions into account
2011-12-01 20:17:24 +01:00
holger krekel
a5e7b2760d
fix issue90 - perform teardown after its actual test function/item. This is implemented by modifying the runtestprotocol to remember "pending" teardowns and call them before the setup of the next item.
2011-11-18 16:01:29 +00:00
holger krekel
ec0565fac5
introduce metafunc.parametrize() and @pytest.mark.parametrize with examples. deprecate metafunc.addcall()
2011-11-17 11:09:21 +00:00
holger krekel
8f55425898
fix issue87 - pastebin option now works with python3
2011-11-15 13:35:06 +00:00
holger krekel
a51e52aee3
fix issue89 apply Daniel Nouri's patch to doctest/--pdb interaction.
2011-11-15 13:28:22 +00:00
Ronny Pfannschmidt
69dfc75572
test and fix pastebin xmlrpc import name missmatch, fixes #87
2011-11-14 17:51:12 +01:00
holger krekel
f7c1b9087a
fix test
2011-11-11 23:18:33 +00:00
holger krekel
36c42b5c15
introduce a new -m mark_expression option
2011-11-11 23:02:06 +00:00
holger krekel
bc8ee95e72
add ini-file "markers" option and a cmdline option "--markers" to show defined markers. Add "skipif", "xfail" etc. to the set of builtin markers shown with the --markers option.
2011-11-11 22:56:11 +00:00
holger krekel
979dfd20f2
add a method to the config object to dynamically add a value to an (line-type) ini-value
2011-11-11 22:56:08 +00:00
holger krekel
bd296c796f
try to avoid timing/race condition
2011-11-08 23:04:31 +00:00
holger krekel
7144cec580
avoid race condition in test, fix doc link
2011-11-08 22:06:57 +00:00
holger krekel
99a1188287
simplify durations output, no percentage, no "remaining" bits
2011-11-08 20:57:19 +00:00
holger krekel
0b18b6094e
fix duration option in case of collection errors
2011-11-08 19:00:25 +00:00
holger krekel
a324826dfd
separate out the duration tests
2011-11-08 18:12:16 +00:00
holger krekel
29bf205f3a
make --durations also show the execution times of setup/teardown calls. This requires a slight incompatibility - pytest_runtest_logreport now sees setup/teardown reports even if the tests passed.
2011-11-08 17:53:46 +00:00
holger krekel
3b9fd3abd8
introduce --durations=N showing slowest test executions
2011-11-08 17:20:56 +00:00
holger krekel
974e4e3a9d
skip the symlink test on windows, win32/py32 does not support it without privs
2011-11-07 22:00:12 +00:00
holger krekel
369b7709f7
use os.symlink to make things work on windows/py32
2011-11-07 21:02:07 +00:00
holger krekel
a2f4a11301
refine lsof/FD leakage testing and rework test setup and some of pytest own tests. Note that the actual diff to non-test code is small. Also remove some redundant tests (introduced by a copy-paste-error apparently in test_mark.py).
2011-11-07 18:08:41 +00:00
holger krekel
077c468589
don't remove symlinks from temporary directory path - should help with some standard OSX setups
2011-11-06 19:34:02 +00:00