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
holger krekel
303f49a5ad
bump version, mention "mp" also in the docs and changelog
2012-01-06 20:37:18 +00:00
Ralf Schmitt
adbbd164ff
update documentation for the new monkeypatch.chdir method
2012-01-06 15:25:57 +01:00
Ralf Schmitt
93424b0f9c
add monkeypatch.chdir method
2012-01-04 12:43:19 +01:00
Ralf Schmitt
fb7706d4c7
make sure calling undo a second time doesn't change sys.path
2012-01-04 12:42:23 +01:00
holger krekel
eb6481c663
fix trial test failure and simplify todo->xfail conversion
2011-12-28 17:35:38 +00:00
holger krekel
c126cac98d
fix unittest/marker integration
2011-12-28 16:47:08 +00:00
holger krekel
e3a8b1e062
bump version
2011-12-28 15:49:35 +00: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
f2791988f9
fix issue102: report more useful errors and hints for when a
...
test directory was renamed and some pyc/__pycache__ remain
2011-12-20 12:20:59 +00: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
40187ec9bb
robustify monkeypatch
2011-12-16 22:41:23 +00:00
holger krekel
3a3f69372f
regen docs, prepare release 2.2.1
2011-12-16 10:38:34 +00:00
holger krekel
82ba764bb6
fix unorderable types as reported by Ralf Schmitt
2011-12-14 10:56:51 +00:00
holger krekel
94e31e414a
bump version depend on new pylib
2011-12-12 12:45:28 +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
Jurko Gospodnetić
af0edf0d10
Documentation cleanup - corrected typos & minor stylistic changes.
2011-12-05 11:10:48 +01: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
Ronny Pfannschmidt
96cb1208d3
use py.xml for generating the junitxml files
2011-12-01 20:08:51 +01:00
Ronny Pfannschmidt
0c8e71faa5
simplify the loop in Node.listchain
2011-12-01 19:36:44 +01:00
holger krekel
50c9e3f654
improve parametrize() docs
2011-11-19 23:45:05 +00:00
holger krekel
6b4e6eee09
improve release announcement, shift and fix examples a bit. Bump version to 2.2.0
2011-11-18 18:32:11 +00:00
holger krekel
f7648e11d8
another try to properly fix durations sorting (still producing sometimes failing tests, apparently when two durations of a test report are identical)
2011-11-18 17:59:52 +00:00
holger krekel
7bb7d1205c
finally fixing a bug that resulted in sometimes-failing duration tests (doh)
2011-11-18 17:35:23 +00:00
holger krekel
a1d41c6811
remove a hack that isn't needed because runtestprotocol now memorizes pending teardowns and thus dist-testing has "exact" teardowns as well
2011-11-18 16:58:21 +00:00
holger krekel
58e0301f87
fix compat with testcases from trial-11.1.0
2011-11-18 16:34:46 +00: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
Alfredo Deza
efe438d3e8
add padding to durations in rep.when
2011-11-18 09:59:39 -05: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
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
7f7589afa9
skip pexpect tests on darwin
2011-11-11 21:33:45 +00:00
holger krekel
4f01cda2a7
fix formatting
2011-11-09 11:04:37 +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
ae53d04780
fix py3 compat
2011-11-08 18:37:08 +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
78438db752
fix py3 failure
2011-11-07 18:28:30 +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
761a95e542
fix some of my typos, thanks Arfrever
2011-10-27 07:38:44 +02:00
Ronny Pfannschmidt
2c230f910d
fix issue74 - propperly filter out missfit names in _tryconvertpyarg
2011-10-26 22:40:08 +02:00
holger krekel
346da57a8a
bump to version 2.1.3, add release announce, regen docs (with make regen)
2011-10-18 20:07:45 +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
45b98d6e70
cast boolean thing to int to make py3.3 happy
2011-10-14 18:08:10 -04: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
45afb1b7d1
fix issue67 - junitxml now contains correct durations. thanks ronny.
2011-09-24 15:15:51 +02:00
holger krekel
922a283f99
bump version
2011-09-24 14:13:24 +02:00
Ronny Pfannschmidt
ac9192e4f8
make call durations part of the test report
2011-09-23 10:53:03 +02:00
holger krekel
ad785a476c
going for 2.1.2 bug fix release
2011-09-23 07:30:44 +02:00
holger krekel
fb6fc673b8
don't try assertion rewriting on jython for now
2011-09-21 06:45:40 +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
0e05a4fbcf
Improve --pyargs.
...
Don't evaluate modules and do nto show 'module not found' if ImportError is
thrown in the module.
2011-09-01 16:19:16 +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
8b211983ff
clear instead of deleting temporary assertion variables
2011-08-30 00:24:57 -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
09933b8b04
bump to 2.1.1, regen examples, add release announcement
2011-08-20 18:37:00 +02:00
holger krekel
41b8a03b05
merge
2011-08-19 18:07:39 +02:00
holger krekel
fba2079292
bump version number, refine goodpractises wrt to importing test modules
2011-08-19 07:58:50 +02:00
Benjamin Peterson
9675b0f65c
factor out win32 checks
2011-08-18 18:15:30 -05:00
Benjamin Peterson
6ca3c980bf
same as 6e94b1809f67: ENOTDIR is ENOENT on windows
2011-08-18 14:49:17 -05:00
Benjamin Peterson
5bd34f8ecc
windows kicks up a ENOENT when a part of the path is not a dir
2011-08-18 14:39:57 -05:00
Ronny Pfannschmidt
7636dc76e0
support pytest.set_trace in collection
2011-08-01 10:53:37 +02:00
Benjamin Peterson
c5dee7b549
_make_rewritten_pyc doesn't need to return anything
2011-07-25 21:42:57 -05: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
2c4964d290
escape '%' in specialized comparison explanations ( fixes #63 )
2011-07-19 21:42:00 -05:00
holger krekel
43113f9a9d
add some debugging tracing to assertion rewriting to understand where failures (specifically issue60) come from.
2011-07-14 19:17:17 +02: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
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
holger krekel
709da3fe84
add benjamin's post to docs, up version, open changelog
2011-07-12 10:38:02 +02:00
Michał Bartoszkiewicz
6096aeca53
Fix a typo in assertion rewriting.
2011-07-11 11:57:47 +02:00
Benjamin Peterson
8cd68494bf
update assertion option names
2011-07-10 21:02:36 -05:00
Benjamin Peterson
bc66cd85b1
customize pyc tag based on implementation
2011-07-08 13:53:23 -05:00
Benjamin Peterson
639f35bbc4
on windows, rename is not atomic, so utilize exclusive access to the file
2011-07-08 13:17:42 -05:00
holger krekel
8c683acad1
finalize 2.1.0 version numbering
2011-07-08 13:23:12 +02:00
holger krekel
8713f4ba60
fix issue 35 - provide download link and improved PDF version
2011-07-08 12:42:26 +02:00
holger krekel
c40dc9f779
bump version
2011-07-07 23:21:01 +02:00
holger krekel
d1684e8052
report keyboardintterupt even if inteerrupted during sessionstartup
2011-07-07 21:24:09 +02:00
Benjamin Peterson
fb043c355e
use py.builtin.exec_
2011-07-07 09:27:40 -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
92f8eef836
show release level info for pypy
2011-07-06 10:18:11 +02: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
e91dc7c895
up pytest version to 2.1.0.dev8, depend on py-1.4.4.dev2
2011-07-05 19:14:38 +02:00
Benjamin Peterson
4e8b9fab3c
insure moving pyc files around is atomic
2011-07-05 12:02:53 -05:00
holger krekel
d105e75d87
fix pytest-xdist breakage
2011-07-05 18:01:31 +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
fefdca5787
simplify
2011-06-29 14:00:13 -05:00
Benjamin Peterson
c7d120ec1c
we want second resolution on mtime
2011-06-29 13:55:26 -05:00
Benjamin Peterson
1707168b62
don't try to remove pycs twice
2011-06-29 12:16:47 -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
Benjamin Peterson
d52ff3e2b9
use a plain old list for queuing
2011-06-28 21:11:56 -05:00
Benjamin Peterson
f286a02582
rewrite with proper short-circuting on boolean operators ( fixes #57 )
2011-06-28 20:21:22 -05:00
Benjamin Peterson
c6e3606c6b
fix the rewriter on relative imports ( fixes #58 )
2011-06-28 10:39:11 -05:00
Benjamin Peterson
8772b8c928
fix name
2011-06-13 08:50:50 -05:00
Benjamin Peterson
8e81ed693a
put explanation simplification in format_explanation so everyone can benefit
2011-06-12 22:41:58 -05:00
Benjamin Peterson
d853d9a9af
treat local as a black box
2011-06-12 21:57:22 -05:00
Benjamin Peterson
57a3d4d6d8
some tweaks to allow pypy apptests to use newinterpret
2011-06-12 17:07:49 -05:00
Benjamin Peterson
43de6c270f
fix assertion introspection on python 3.2+
2011-06-03 16:51:49 -05:00
holger krekel
ce1b456762
back out pytest_configure_funcargs hook for now
2011-06-01 15:08:54 +02:00
holger krekel
e3b2792677
fix issue49 - avoid confusing errors when initialization goes wrong
2011-06-01 14:54:34 +02:00
holger krekel
67859158d4
fix issue48 - test and fix typo in MarkInfo repr
2011-06-01 08:03:06 +02:00
holger krekel
6c90059342
- properly include _pytest.assertion in distribution
...
- import assertion only at import-test module time
2011-05-31 15:21:08 +02:00
holger krekel
5690beab5a
merge Benjamin's assertion-rewrite branch: all assertion related code is now part of py.test core distribution - the builtin assertion plugin to be precise.
...
See doc/assert.txt for details on how what has been improved.
2011-05-31 14:11:53 +02:00
Benjamin Peterson
5e31624315
return to the old scheme of rewriting test modules from _importtestmodule
2011-05-28 18:47:16 -05:00
Ronny Pfannschmidt
89a98e3276
also apply normpath to junitxml file path
2011-05-28 16:21:57 +02:00
holger krekel
410438f187
fix issue43 - better tracebacks for unexpected exceptions in doctests
2011-05-28 14:38:15 +02:00
holger krekel
8dc4e732f0
fix issue47 - fix time-per-test timing output for junitxml
2011-05-28 14:03:10 +02:00
Ronny Pfannschmidt
56b40ebd75
use os.path.expanduser/expandvars on the junitxml path for convience, fixes #44
2011-05-27 07:54:03 +02:00
Benjamin Peterson
5f75c5851f
can use non-underscored addoption
2011-05-26 23:15:33 -05:00
Benjamin Peterson
e56838cb6c
write an explicit raise if the assertion fails
2011-05-26 21:15:40 -05:00
Benjamin Peterson
d53feaf6f0
fix help for --assertmode
2011-05-26 20:59:43 -05:00
Benjamin Peterson
914f689ee8
beef up --assertmode help
2011-05-26 20:33:12 -05:00
Benjamin Peterson
16b4f54545
remove module before/after import hooks
2011-05-26 20:00:29 -05:00
Benjamin Peterson
abb07fc732
new way to rewrite tests: do it all during fs collection
...
This should allow modules to be rewritten before some other test module loads
them.
2011-05-26 19:57:30 -05:00
Benjamin Peterson
cf6949c9a3
stuff contents of pytest_collection hook into perform_collect
2011-05-26 19:53:47 -05:00
Benjamin Peterson
2f984e0c23
remove after_initial_collect hook
2011-05-26 19:43:02 -05:00
Benjamin Peterson
0a7237b72f
refactor common config/session protocol code for main() functions
2011-05-26 19:09:42 -05:00
Benjamin Peterson
f684a9ed56
expose Session on pytest namespace
2011-05-26 18:58:31 -05:00
Benjamin Peterson
196cece338
add a hook called after the inital fs collection
2011-05-26 18:57:37 -05:00
Benjamin Peterson
241ff0b43a
add a hook called when a Module is successfully created
2011-05-26 18:56:45 -05:00
Benjamin Peterson
411e9b136b
do configure hooks here, too
2011-05-26 18:37:04 -05:00
Benjamin Peterson
96521ada68
call configure hooks in reparseconfig
2011-05-26 18:11:12 -05:00
Benjamin Peterson
657522b629
a less ugly way to detect if assert rewriting is enabled
2011-05-26 17:17:48 -05:00
Benjamin Peterson
dd199d255c
move _setupstate into session
2011-05-26 17:08:56 -05:00
Benjamin Peterson
89d6defd68
correctly initialize and shutdown sessions
2011-05-26 17:08:44 -05:00
Benjamin Peterson
bf3d9f3737
correct attribute name
2011-05-26 16:18:18 -05:00