holger krekel
e98b15eb67
fix windows homedir detection
...
--HG--
branch : trunk
2010-07-08 12:35:43 +02:00
holger krekel
37a2898f18
reintroduce --junit - i think it is actually useful
...
--HG--
branch : trunk
2010-07-07 14:43:31 +02:00
holger krekel
320835d43f
split out pytest-xdist related reporting to the plugin
...
--HG--
branch : trunk
2010-07-07 12:41:15 +02:00
holger krekel
b28c439494
some minor compatibility issues wrt to the just released python2.7
...
--HG--
branch : trunk
2010-07-04 22:13:12 +02:00
holger krekel
f9c5b00ffa
refine and extend custom error reporting particularly for collection-related errors
...
--HG--
branch : trunk
2010-07-04 17:06:50 +02:00
holger krekel
4a489af0ff
remove the --junitxmlprefix feature - it's kind of YAGNI i guess -
...
i introduced it after 1.3.1 but don't need it anymore and thus
it's not going to be there for 1.3.2.
--HG--
branch : trunk
2010-07-03 14:44:47 +02:00
holger krekel
5f9876d54e
apply patch from Jakub wrt fixing resultlog/xdist combo
...
--HG--
branch : trunk
2010-07-02 13:01:21 +02:00
holger krekel
f554fa03ae
make initial conftest finding ignore "--" arguments
...
--HG--
branch : trunk
2010-07-01 19:27:40 +02:00
holger krekel
b8db15a94f
refine bestrelpath to return "." for X.bestrelpath(X) and refine its docstring
...
--HG--
branch : trunk
2010-06-28 16:32:43 +02:00
holger krekel
2f50ed3e99
install plain py.test script also for jython
...
--HG--
branch : trunk
2010-06-28 11:59:12 +02:00
holger krekel
da52304a6e
adjust changelog, add fixed issue92
...
--HG--
branch : trunk
2010-06-28 11:26:19 +02:00
holger krekel
f856db29dc
refine py.process.cmdexec handling wrt unicode on all python versions
...
--HG--
branch : trunk
2010-06-25 10:30:15 +02:00
holger krekel
149f9e1042
refine reporting with --pdb some more
...
--HG--
branch : trunk
2010-06-17 12:53:29 +02:00
holger krekel
3f1efe1b57
fix --pdb to not drop interactive on xfailed tests
...
--HG--
branch : trunk
2010-06-16 12:35:08 +02:00
Benjamin Peterson
2995d65720
fix assertion interpretation when the operator is **
...
--HG--
branch : trunk
2010-06-10 13:50:07 -05:00
holger krekel
77a7d576ec
defer a number of other compiles to frame.eval (patch from Amaury on trunk/pypy fork, thanks)
...
--HG--
branch : trunk
2010-06-10 10:56:14 +02:00
Benjamin Peterson
610cde6f85
Interpret assignments while examining asserts corrects
...
fixes #105
--HG--
branch : trunk
2010-06-09 14:53:11 -05:00
holger krekel
bc6ead1a3c
introduce a new --junitprefix option to influence xml reporting.
...
also internally avoid some redundant code.
--HG--
branch : trunk
2010-06-09 16:18:47 +02:00
holger krekel
0c04577f9f
fix issue104 properly xml-escape names in junitxml files
...
--HG--
branch : trunk
2010-06-09 15:27:45 +02:00
holger krekel
523704f890
make py.test.raises as-VAR be an ExceptionInfo object
...
but only initialize it after the block is finished.
--HG--
branch : trunk
2010-06-09 14:45:41 +02:00
holger krekel
6951da7da0
merge Ronny's changes, add some documentation and changelog entries
...
--HG--
branch : trunk
2010-06-09 14:26:08 +02:00
holger krekel
d83bf93154
less imports at function level, add a CHANGELOG entry - i guess
...
there are not many win32/python2.4 users anymore these days.
--HG--
branch : trunk
2010-06-09 12:07:12 +02:00
holger krekel
64388832d9
introduce a new request.applymarker() function and refactor
...
internally to allow for dynamically adding keywords to test
items.
--HG--
branch : trunk
2010-06-08 02:34:51 +02:00
holger krekel
c1d0fc9aaf
add ignore_errors to local.remove()
...
--HG--
branch : trunk
2010-06-07 20:48:36 +02:00
holger krekel
10b8de060a
fix py.code.compile to generate unique filenames
...
--HG--
branch : trunk
2010-06-06 19:08:22 +02:00
holger krekel
740a668f52
adding a tox file and a note in changelog
...
--HG--
branch : trunk
2010-06-05 15:59:11 +02:00
holger krekel
46f72d9350
add a CHANGELOG entry for ronny's changes
...
--HG--
branch : trunk
2010-06-03 15:51:59 +02:00
holger krekel
75d80ca183
fix pyimport() bug on directories
...
--HG--
branch : trunk
2010-05-31 17:06:46 +02:00
holger krekel
b66b5e2715
fix issue 57 - make --looponfail work with xpassing tests
...
--HG--
branch : trunk
2010-05-26 18:55:50 +02:00
holger krekel
c953c7d313
fix issue102 by introducing a --maxfailures=NUM option
...
also print an informative line about "stopped/interrupted" test runs
near the end.
--HG--
branch : trunk
2010-05-25 16:52:09 +02:00
holger krekel
29a5b7452e
* improve and test --tb=short reporting
...
* show --tb=short tracebacks for importing test modules
--HG--
branch : trunk
2010-05-22 16:18:24 +02:00
holger krekel
94ce5b0a5a
refine and structure CHANGELOG
...
--HG--
branch : trunk
2010-05-22 14:13:01 +02:00
holger krekel
4f7ef0b63f
fix issue89 - allow py.test.mark decorators to be used with classes
...
(if you are using >=python2.6)
also allow to have multiple markers applied at class level
and test and fix a bug with chained skip/xfail decorators:
if any of the conditions is true a test will be skipped/xfailed
with a explanation which condition evaluated to true.
--HG--
branch : trunk
2010-05-21 18:11:47 +02:00
holger krekel
67ec87e7f9
note that issue99 is also fixed
...
--HG--
branch : trunk
2010-05-21 16:51:15 +02:00
holger krekel
578cba20d4
fix issue94 make reporting more robust against bogus source code
...
(and internally be more careful when presenting unexpected byte sequences)
also make py.code.Source accept a list of lines directly.
--HG--
branch : trunk
2010-05-21 16:42:46 +02:00
holger krekel
93f91c9607
unify handling of reportcharacters across resultlog/junitxml plugins
...
--HG--
branch : trunk
2010-05-20 14:35:13 +02:00
holger krekel
925f75088d
fix issue91 introduce new py.test.xfail(reason) helper
...
to imperatively mark a test as expected to fail. Can
be used from within setup and test functions. This is
useful especially for parametrized tests when certain
configurations are expected-to-fail. In this case the
declarative approach with the @py.test.mark.xfail cannot
be used as it would mark all configurations as xfail.
--HG--
branch : trunk
2010-05-20 13:29:51 +02:00
holger krekel
2229d2d947
revert 1735 - fix issue95 differently: just shift the offending zlib
...
import (and others) to happen when they are actually needed
--HG--
branch : trunk
2010-05-19 16:42:22 +02:00
holger krekel
e71685736e
fix issue96 - make capturing more resilient against KeyboardInterrupt
...
--HG--
branch : trunk
2010-05-17 19:00:39 +02:00
holger krekel
379390a8aa
remove code.new() function and store lines directly into linecache.cache instead.
...
This avoids the need for custom code objects, improving compatibility for jython
and pypy-c.
--HG--
branch : trunk
2010-05-11 22:54:04 +02:00
holger krekel
8ba2a98e11
allow to run py.test.cmdline.main() multiple times.
...
--HG--
branch : trunk
2010-05-11 19:56:22 +02:00
holger krekel
0f5ed3abc7
avoid helper functions showing up in py.test tracebacks
...
--HG--
branch : trunk
2010-05-11 17:43:56 +02:00
holger krekel
ee036223ce
deprecate --report option in favour of a new shorter and easier to remember -r option: this takes a string argument consisting of any combination of 'xsfX'
...
Those letters basically correspond to the letters you see during terminal reporting.
--HG--
branch : trunk
2010-05-05 19:50:59 +02:00
holger krekel
c933ada7fb
new --runxfail option to ignore xfail markers on functions
...
--HG--
branch : trunk
2010-05-04 13:02:27 +02:00
holger krekel
1a8b2838fa
add new parameters:
...
xfail(run=False) will not run expected-to-fail tests
xfail(reason=True) will report the specified reason
--HG--
branch : trunk
2010-05-02 22:13:16 +02:00
holger krekel
fd473d4002
refine and test new hook registration, now it is called "pytest_addhooks"
...
similar to pytest_addoption and raises on bogus input.
--HG--
branch : trunk
2010-05-02 16:36:53 +02:00
holger krekel
45e10f4c48
rename pytest_ignore_collect_path to pytest_ignore_collect before release
...
--HG--
branch : trunk
2010-05-02 15:24:02 +02:00
holger krekel
3efb8028fb
update changelog, install info and bum version to 1.3.0
...
rather than 1.2.2 because of the added features
--HG--
branch : trunk
2010-05-02 15:06:20 +02:00
holger krekel
2630a452b4
fixing and adding to CHANGELOG
...
--HG--
branch : trunk
2010-04-30 09:53:26 +02:00
holger krekel
962d0fe2be
introduce new pytest_pycollect_makemodule(path, parent) hook for
...
allowing customization of the Module collection object for a matching test module.
--HG--
branch : trunk
2010-04-29 16:53:29 +02:00
holger krekel
811408959f
introduce a new pytest_ignore_collect_path(path, config) hook -
...
returning a true value will prevent considering the path for collection
The hook is called for both files and directory paths.
--HG--
branch : trunk
2010-04-29 16:20:55 +02:00
holger krekel
5ece3858e4
introduce new py.io.saferepr for printing the 'repr' of an object safely
...
and without consuming too much space
--HG--
branch : trunk
2010-04-29 14:17:07 +02:00
holger krekel
22a50a5b88
* various jython related fixes.
...
* more care for print-errors including unicode-encoding related errors.
--HG--
branch : trunk
2010-04-28 15:24:38 +02:00
holger krekel
78d33a2f28
* rather expose internal exceptions under py.test.ACTION.Exception
...
with ACTION being skip, fail, exit, raises.
* move and refine test_outcome.py tests into runner tests
--HG--
branch : trunk
2010-04-28 08:42:56 +02:00
holger krekel
d5e463605e
* properly expose and document runtest-protocol related Exceptions
...
and move all definitions to the runner plugin for now.
* also move EXIT codes to session.py, obsoleting outcome.py alltogether.
--HG--
branch : trunk
2010-04-27 21:13:09 +02:00
holger krekel
f691292aaa
refining changelog + draft release announcement
...
--HG--
branch : trunk
2010-04-27 16:37:30 +02:00
holger krekel
c8d78177b9
(fixes issue85) correctly write non-ascii test output to junitxml files, refine some internal methods for it
...
--HG--
branch : trunk
2010-04-27 15:15:43 +02:00
holger krekel
f6a04b92d2
fix unicode issues (port of pypy/py repo changeset r72526 by Armin)
...
--HG--
branch : trunk
2010-04-27 12:23:13 +02:00
holger krekel
2ee6653ff7
update distribute
...
--HG--
branch : trunk
2010-04-23 12:31:11 +02:00
holger krekel
85d35f7418
introduce an experimental approach for allowing dynamic addition of hooks from plugin. Plugins may register new hooks by implementing the new
...
pytest_registerhooks(pluginmanager)
and call
pluginmanager.registerhooks(module)
with the referenced 'module' object containing the hooks.
The new pytest_registerhooks is called after pytest_addoption
and before pytest_configure.
--HG--
branch : trunk
2010-04-22 11:57:57 +02:00
holger krekel
536252cb2e
refine win32 checks to also work on top of jython/win32
...
--HG--
branch : trunk
2010-04-20 10:45:41 -07:00
holger krekel
e45cd7e35e
fix issue86 - point to pytest-xdist plugin for looponfailing feature.
...
--HG--
branch : trunk
2010-04-14 15:05:39 +02:00
holger krekel
1d28dcf140
add links to new plugins
...
--HG--
branch : trunk
2010-04-12 16:08:12 +02:00
holger krekel
222a08ec03
going for the 1.2.1 release
...
--HG--
branch : trunk
2010-02-08 16:39:29 +01:00
holger krekel
c7326f1949
fix a pdb problem when dropping to a "raises" related failure
...
--HG--
branch : trunk
2010-02-08 14:17:01 +01:00
holger krekel
d163d92b33
actually look into all non-dot subdirs for conftest.py files - recursive walk would be too heavy for large source trees but first-level subdirs are fine IMO. Note that prior to py.test 1.0 doing this "look-ahead" was not easily doable because it was hard to avoid global state in conftest.py, this is not true anymore - so i feel ok telling people to cleanup their conftest files if they get problems (you can imagine people doing all kinds of things at global conftest.py module scope, can't you?)
...
--HG--
branch : trunk
2010-02-06 22:37:04 +01:00
holger krekel
a3d15b2c60
refined usage and options for "py.cleanup":
...
py.cleanup # remove "*.pyc" and "*$py.class" (jython) files
py.cleanup -e .swp -e .cache # also remove files with these extensions
py.cleanup -s # remove "build" and "dist" directory next to setup.py files
py.cleanup -d # also remove empty directories
py.cleanup -a # synonym for "-s -d -e 'pip-log.txt'"
py.cleanup -n # dry run, only show what would be removed
--HG--
branch : trunk
2010-02-05 22:50:41 +01:00
holger krekel
3234e6e978
add a --funcargs option showing available funcargs
...
--HG--
branch : trunk
2010-02-04 23:45:07 +01:00
holger krekel
f95877a09b
show a short and nice traceback for funcarg lookup errors
...
--HG--
branch : trunk
2010-02-04 16:01:02 +01:00
holger krekel
7bd60b5abb
check and load test*/conftest.py early from anchors -
...
this makes it a bit more convenient to have command line options
available from a root directory of a project that does not
directly contain a conftest.py
--HG--
branch : trunk
2010-02-04 12:26:53 +01:00
holger krekel
a2af204687
again addresses issue78 : we now call teardown also if setup raised a Skipped exception.
...
I also made sure, setup_module/class will only be called once - before they'd be call again
and again if they raise an error or a skip - for each test in their scope.
--HG--
branch : trunk
2010-01-28 14:20:58 +01:00
holger krekel
98608611af
closes #67 new super-short traceback-printing option: "--tb=line" will print a single line for each failing (python) test indicating its filename, lineno and the failure value
...
--HG--
branch : trunk
2010-01-27 12:52:19 +01:00
holger krekel
b18ab6e03b
fix issue78 - now python-level teardown functions are now called even if the setup failed.
...
Important detail: if the setup raises a Skipped exception, teardown will not be called. This helps
to avoid breaking setup_module/class that performs a skip - it would otherwise internally
be considered as a "successful" setup in order to have teardown called later. I guess
it also makes sense to treat Skip specially because it is unlikely a teardown should be
called if a Skip was raised on setup.
In any case, failing setups and teardowns will be reported separately.
--HG--
branch : trunk
2010-01-27 12:09:30 +01:00
holger krekel
aa6d2a37e6
upgrade apipkg.py to fix a potential recursive import issue
...
--HG--
branch : trunk
2010-01-21 20:06:50 +01:00
holger krekel
14feeb9ca1
fix doc links, bump to dev version
...
--HG--
branch : trunk
2010-01-21 19:34:42 +01:00
holger krekel
f7c562e492
better default for bogus terminal getdimensions() call, fixes issue63
...
--HG--
branch : trunk
2010-01-19 10:34:41 +01:00
holger krekel
09671eb6fc
rename logxml plugin to junitxml
...
--HG--
branch : trunk
2010-01-16 23:33:26 +01:00
holger krekel
40f41496d8
remove dist-testing and looponfail code from core. there remain some (pytest_runner particularly) tests that test both plain and dist modes which cannot be easily dis-entangled. food for thought.
...
--HG--
branch : trunk
2010-01-13 16:00:33 +01:00
holger krekel
d53572a710
introduce a new pytest_report_header(hook) hook to add additional test-run relevant information to the header of a test report.
...
--HG--
branch : trunk
2010-01-12 21:43:25 +01:00
holger krekel
3296939eda
fix sessionstart/sessionfinish handling at the slave side, set "session.nodeid" to id of the slave and make sure "final" teardown failures are reported nicely. fixes issue66.
...
--HG--
branch : trunk
2010-01-11 17:09:07 +01:00
holger krekel
ba1451330e
refine rsyncing and internal dir/transferal handling: don't transfer roots in a popen- no-chdir situation and only use one py._pydir everywhere
...
--HG--
branch : trunk
2010-01-11 14:30:50 +01:00
holger krekel
352e305431
fix and test bug: dist-testing now works again without execnet/pylib installed remotely. fixes issue65.
...
--HG--
branch : trunk
2010-01-10 23:52:23 +01:00
holger krekel
3a23baf484
add to changelog, remove docstring
...
--HG--
branch : trunk
2010-01-10 22:10:45 +01:00
holger krekel
c6c7d041b7
disable default inclusion of figleaf plugin because it caused test
...
failures wrt to capturing/logging interaction. pytest_figleaf should
anyway better become its own externally living plugin.
--HG--
branch : trunk
2010-01-03 11:22:32 +01:00
holger krekel
1b34492108
vastly simplify and cleanup collection initialization by internally
...
introducing a RootCollector. Note that the internal node
methods _fromtrail and _totrail are shifted to the still internal
config._rootcol.fromtrail/totrail
--HG--
branch : trunk
2010-01-03 01:02:44 +01:00
holger krekel
eebeb1b257
enable doctest plugin by default, add a --doctest-glob option and some documentation, regen plugin docs.
...
--HG--
branch : trunk
2010-01-02 23:30:46 +01:00
holger krekel
56a936993c
enhance figleaf setup, enabled by default now (requires --figleaf). Generalize internal ability to show "hints" at the end of "-h".
...
--HG--
branch : trunk
2010-01-02 22:48:53 +01:00
holger krekel
f3e62e38aa
streamlined plugin loading: order is now setuptools, ENV, commandline
...
and setuptools entry point names are turned to canonical namees ("pytest_*")
--HG--
branch : trunk
2010-01-02 17:17:13 +01:00
holger krekel
47df1e16b6
fix some failures introduced by the last commit, document new "pytestconfig" funcarg
...
--HG--
branch : trunk
2010-01-01 21:03:33 +01:00
holger krekel
2752168a58
introduce --confcutdir option to early-inhibit lookup of conftest files above a certain directory.
...
--HG--
branch : trunk
2009-12-31 15:10:32 +01:00
holger krekel
587951966f
adding a logxml plugin and a --xml=path option generating a junit-xml style result log. The xml result log can be parsed nicely by hudson.
...
Initial code was based on Ross Lawley's pytest_xmlresult plugin.
--HG--
branch : trunk
2009-12-31 11:25:07 +01:00
holger krekel
fa0c7b18bf
move standalone script to become a plugin offering "--genscript",
...
adjust paths accordingly and add CHANGELOG entry.
--HG--
branch : trunk
2009-12-30 19:10:49 +01:00
holger krekel
f5ea19858c
deprecate direct definition of Directory, Module, ... in conftest.py's,
...
add some pytest collect related tests + some refinements.
--HG--
branch : trunk
2009-12-30 16:18:59 +01:00
holger krekel
4656bc4c97
deprecate use of 'disabled'
...
--HG--
branch : trunk
2009-12-30 12:13:38 +01:00
holger krekel
a15afb5e48
skip tests using 'capfd' funcarg but not having os.dup. cleanup issues and regen plugin docs.
...
--HG--
branch : trunk
2009-12-30 11:16:20 +01:00
holger krekel
ae63605ac0
generalize hook calling from collection nodes but stop short
...
of allowing general hooks in python test modules. It'd be
easily possible (a 1-line change) but considering it i refrained
from it because the collector API is a bit too low level.
pytest_generate_tests and funcarg factories have a limited
directly useful interface and are thus less confusing - those
are taking advantage of hook discovery in python test modules.
--HG--
branch : trunk
2009-12-30 10:42:01 +01:00
holger krekel
631dfe9f13
only consider matching conftest plugins for discovering hooks related to collection nodes.
...
--HG--
branch : trunk
2009-12-30 02:36:58 +01:00
holger krekel
9d01975c78
fix capturing to be more careful during teardown when a setup never happened (due to e.g. an error in user-provided runtest_setup code)
...
--HG--
branch : trunk
2009-12-30 00:11:27 +01:00
holger krekel
77b640d1b7
streamline some tests and overall reduce py.test.ensuretemp usage, note down issue about deprecation .
...
--HG--
branch : trunk
2009-12-29 22:26:03 +01:00
holger krekel
db21cac694
cleanup py.test.* namespace, docstrings for improved pydoc and interactive usage.
...
use new apipkg __onfirstaccess__ feature to initialize the py.test namespace with the default plugins. This, besides other good implications, means that you can now type: pydoc py.test or help(py.test)
--HG--
branch : trunk
2009-12-29 16:29:48 +01:00