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
holger krekel
d4fe273b2f
fix FD leakage during pytest's own test run and add "--lsof" option to tox default test runs.
...
the leakage came down to a problematic bit of the stdlib logging module: it takes ownerships of stdout/stderr making it hard for pytest to implement clean capturing. The current work around is to add some extra code in the setup machinery of pytest's own tests which actually closes sub-FDs.
2011-11-06 15:40:17 +00:00
Ronny Pfannschmidt
5ae04397bd
proper tests for issue74, thanks Arfrever
2011-10-26 23:59:22 +02:00
Ronny Pfannschmidt
2c230f910d
fix issue74 - propperly filter out missfit names in _tryconvertpyarg
2011-10-26 22:40:08 +02:00
Floris Bruynooghe
e2201fe3a9
Look up the pytest_assertrepr_compare hook for each test item
...
Before this was only done at the time the assertion plugin was loaded.
This lead to counter-intuitive behaviour where two subdirectories with
a pytest_assertrepr_compare hook in their conftest.py would not work,
only one would ever be used.
This defers assiging the _pytest.assertion.util._reprcompare function
until the item is loaded (pytest_runtest_setup) so that it can use the
hookrelay of the test item to find the appropriate
pytest_assertrepr_compare hook for the item.
This fixes issue #77 .
2011-10-16 11:51:15 +01:00
Benjamin Peterson
29b4082b00
put the explanation generating code in the conditional fail body ( fixes #79 )
2011-10-14 16:26:13 -04:00
Ronny Pfannschmidt
6ac638ba87
add a reportchar for reporting errors, fixes #76
2011-09-29 23:44:26 +02:00
Ronny Pfannschmidt
f2512017ea
correctly handle zero length cmdline arguments
2011-09-25 23:26:49 +02:00
holger krekel
3bd3ba133f
fix issue75 - test failure on jython.
...
also experimentally enable more tests in the jython test env.
2011-09-25 07:40:43 +02:00
holger krekel
d37af98db3
try to make test suite pass on jython 2.5.1 again
2011-09-21 08:12:37 +02:00
holger krekel
eaec527a60
relax error string matching
2011-09-21 06:21:48 +02:00
Benjamin Peterson
2bc4065a00
rewrite file newlines when the python parser is picky
2011-09-20 17:53:07 -04:00
holger krekel
5c32421f2e
merge, bump version
2011-09-12 08:57:35 +02:00
Florian Mayer
2315de8321
Add FIXME.
2011-09-05 22:01:50 +02:00
Florian Mayer
25711a0879
Add acceptance test for new --pyargs behavior.
2011-09-05 17:38:22 +02:00
Benjamin Peterson
8675cf640d
every boolop operand must have it's own format context ( fixes #69 )
2011-08-30 10:34:21 -04:00
Benjamin Peterson
661a8a4a92
only use the last part of the module name in the filename ( fixes #68 )
2011-08-30 00:12:07 -04:00
Benjamin Peterson
abe080c6b4
use different caches for optimized and unoptimized code ( fixes #66 )
2011-08-29 10:13:00 -04:00
holger krekel
fb1b1d9aae
jython-2.5.2 has a core bug preventing pytest to run :(
2011-08-19 19:25:52 +02:00
holger krekel
c426a67b0e
make test skipping more precise to fix a py32 test failure
2011-08-18 22:52:02 +02:00
Ronny Pfannschmidt
7636dc76e0
support pytest.set_trace in collection
2011-08-01 10:53:37 +02:00
Benjamin Peterson
643ab120f4
only try to create the __pycache__ dir (not a tree to it) fixes #60
...
Also, improve error handling surrounding __pycache__ creation.
2011-07-25 21:40:38 -05:00
Benjamin Peterson
f86c8469f5
now fix py3...
2011-07-19 22:56:34 -05:00
Benjamin Peterson
22335acd09
use binary mode
2011-07-19 22:45:27 -05:00
Benjamin Peterson
8b866aa065
add a newline for window's sake
2011-07-19 22:41:58 -05:00
Benjamin Peterson
2c4964d290
escape '%' in specialized comparison explanations ( fixes #63 )
2011-07-19 21:42:00 -05:00
holger krekel
650c3bcfde
enhance debug tracing: print trace tags at the end of message and forget about "prefix".
...
Always log to "pytestdebug.log" if "--debug" option is given.
also move related code to pytest_helpconfig plugin.
2011-07-14 19:11:50 +02:00
Benjamin Peterson
ade9b9aa8e
add a test for vararg call
2011-07-14 11:46:32 -05:00
Benjamin Peterson
7576b3c7d0
fix assertion rewriting on calls with a double-star arg
2011-07-14 11:45:42 -05:00
Benjamin Peterson
85415135a4
merge heads
2011-07-13 13:34:24 -05:00
Benjamin Peterson
3cc8697744
respect sys.dont_write_bytecode and PYTHONDONTWRITEBYTECODE
2011-07-13 13:33:54 -05:00
holger krekel
703da22831
put systemout/systemerr to correct xml location
2011-07-13 18:47:27 +02:00
Benjamin Peterson
14ceaf2459
fix assertion rewriting in read-only directories (refs #60 )
2011-07-12 17:09:14 -05:00
holger krekel
f3bc197afb
fix #59 : provide better Jenkins stdout and stderr sections
2011-07-12 23:09:03 +02:00
Benjamin Peterson
a59c2c9e17
roll test_long_chain in with other boolop tests
2011-07-11 09:24:07 -05:00
Michał Bartoszkiewicz
6096aeca53
Fix a typo in assertion rewriting.
2011-07-11 11:57:47 +02:00
holger krekel
d1684e8052
report keyboardintterupt even if inteerrupted during sessionstartup
2011-07-07 21:24:09 +02:00
Benjamin Peterson
6a523b4f59
make test name shorter, so its testdir path isn't too long on windows
2011-07-07 09:43:39 -05:00
Benjamin Peterson
c13fa886d9
simplify rewrite-on-import
...
Use load_module on the import hook to load the rewritten module. This allows the
removal of the complicated code related to copying pyc files in and out of the
cache location. It also plays more nicely with parallel py.test processes like
the ones found in xdist.
2011-07-06 23:24:04 -05:00
holger krekel
758b5e3511
fix issue53: nose-style setup now called with the correct ordering
2011-07-05 21:23:59 +02:00
holger krekel
46950ef19a
rename and simplify the assert option:
...
cmdline usage is now: --assert=rewrite/reinterp/plain
there is no conflict detection (don't think that's neccessary)
2011-07-05 17:29:53 +02:00
holger krekel
407ca5b120
fix python2.5 compatibility
2011-07-05 15:21:08 +02:00
Benjamin Peterson
a4fe63c08d
test files are rewritten in a subprocess
2011-07-03 19:28:48 -05:00
Benjamin Peterson
ae8ee08ac0
adjust for new option
2011-06-29 13:28:04 -05:00
Benjamin Peterson
aa7f7a1c71
rename --assertmode choices to be more explicit
2011-06-29 09:44:04 -05:00
Benjamin Peterson
48b76c7544
rewrite test modules on import
2011-06-28 21:13:12 -05:00