holger krekel
7084313408
factor out session main loop so that distribute testing can make use of it
...
--HG--
branch : trunk
2010-04-26 17:56:39 +02:00
Benjamin Peterson
1771cb0af8
fetch code object compatibly
...
--HG--
branch : trunk
2010-04-23 20:43:49 -05:00
Benjamin Peterson
d1b45ef3d4
add a helper to get a function's code
...
--HG--
branch : trunk
2010-04-23 20:39:40 -05:00
holger krekel
0b24a70279
this should test and fix the same issue that was committed in
...
the pypy svn-repo as r72534
--HG--
branch : trunk
2010-04-23 19:28:41 +02:00
holger krekel
b3a05b545e
another couple of checks on jython, still some problems
...
--HG--
branch : trunk
2010-04-23 19:05:22 +02:00
holger krekel
221ac3e466
a couple of more mostly jython-related fixes
...
--HG--
branch : trunk
2010-04-23 13:29:28 +02:00
holger krekel
ff90b1b4fb
fix version numbers
...
--HG--
branch : trunk
2010-04-22 16:51:42 +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
cbb4c0dadc
use taskkill cmdline for jython/win32 but skip test on jython because it does not return a subprocess PID
...
--HG--
branch : trunk
2010-04-21 06:23:19 -07:00
holger krekel
fe34a8a15a
a couple of more fixes/refinements for getting py.test to run better on jython/win32
...
--HG--
branch : trunk
2010-04-21 03:50:03 -07:00
holger krekel
5715bbd6f5
refining the win32 checks some further
...
--HG--
branch : trunk
2010-04-20 20:08:52 +02:00
holger krekel
10f6c3a432
fix check to work when there is no jython
...
--HG--
branch : trunk
2010-04-20 10:48:49 -07: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
75a6bf2395
fix issue78 - strike superflous "import sys" that cause unbound
...
local var errors.
--HG--
branch : trunk
2010-04-14 13:30:12 +02:00
Benjamin Peterson
fe95ad0aa6
fix typo
...
--HG--
branch : trunk
2010-03-03 15:54:39 -06: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
13488dd540
if a funcarg is misspelled/missing, hint at using "--funcargs"
...
--HG--
branch : trunk
2010-02-07 02:15:47 +01:00
holger krekel
ac1eed545c
nice-ify --funcarg reporting, show paths instead of useless python reprs
...
--HG--
branch : trunk
2010-02-07 02:09:14 +01:00
holger krekel
e09e7148a3
fix docstring
...
--HG--
branch : trunk
2010-02-07 01:56:43 +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
9d64d7e27a
refine setup ordering some more - test and avoid a problem with funcarg setups where the
...
surrounding setup_module would fail, but the funcarg setup still be called (which might
assume that setup_module has been called so would raise a confusing error)
--HG--
branch : trunk
2010-01-28 15:36:27 +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
d3c0ff3a1f
make sure we get an absolute path when writing the genscript file
...
--HG--
branch : trunk
2010-01-18 16:48:20 +01:00
holger krekel
55fcc5a219
always directly use basename for tracebacks, independently from code.path
...
fixes issue77 although i guess it was already fixed before.
--HG--
branch : trunk
2010-01-18 12:12:18 +01:00
holger krekel
866255e1f5
pushing towards 1.2.0
...
--HG--
branch : trunk
2010-01-18 11:19:59 +01:00
holger krekel
0149771997
refine excludepath handling to treat entries with no path as matching
...
--HG--
branch : trunk
2010-01-18 03:04:20 +01:00
holger krekel
d483f18374
move rsync reporting out
...
--HG--
branch : trunk
2010-01-18 00:41:22 +01:00
holger krekel
95de17b652
refine tests and refine code to deal with new xdist semantics.
...
--HG--
branch : trunk
2010-01-17 23:23:02 +01:00
holger krekel
09671eb6fc
rename logxml plugin to junitxml
...
--HG--
branch : trunk
2010-01-16 23:33:26 +01:00
holger krekel
6f0db1d193
kill unused code
...
--HG--
branch : trunk
2010-01-16 19:41:05 +01:00
holger krekel
76e49b57bf
fix test_importall to not stop on skipped plugins and fix the uncovered failure of genscript: standalone.py template is now safely importable
...
--HG--
branch : trunk
2010-01-15 18:45:06 +01:00
holger krekel
4a568f43fe
get rid of the funccollector node, which nice-ifies names of funcarg-generated tests nodes, also test and fix one anomaly wrt to funcarg setups and instance uniqueness
...
--HG--
branch : trunk
2010-01-15 17:50:02 +01:00
holger krekel
ee2f292efa
remove superflous building of a dict, preserve order for nodes that have identical file:lineno
...
--HG--
branch : trunk
2010-01-15 17:38:09 +01:00
holger krekel
9da1ba40ed
move down py/impl/XYZ to py/_XYZ
...
--HG--
branch : trunk
2010-01-13 17:15:54 +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
d4f5073076
remove figleaf which now lives "outside"
...
--HG--
branch : trunk
2010-01-13 00:47:20 +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
Ronny Pfannschmidt
676081b87a
remove the PickleChannel dependency for looponfail
...
--HG--
branch : trunk
2010-01-12 17:35:06 +01:00
holger krekel
1b0d6296dd
test and fix looponfailing wrt to a bug introduced with the cmdline/session startup cleanup.
...
--HG--
branch : trunk
2010-01-12 16:08:48 +01:00
holger krekel
8d9e0712be
refine classname normalization for junit-xml
...
--HG--
branch : trunk
2010-01-12 01:35:50 +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
99301a0dae
(experimental) allow cmdline arguments to deep-point to a test, also remove virtually redundant session.getinitialitems() calls
...
--HG--
branch : trunk
2010-01-10 21:29:36 +01:00
holger krekel
3029aa6558
fix some "import py" test issues, and prevent "genscript" script from having dist-options
...
--HG--
branch : trunk
2010-01-10 20:45:37 +01:00
holger krekel
45c1517580
porting latest apipkg
...
--HG--
branch : trunk
2010-01-10 13:54:55 +01:00
holger krekel
018254a907
update issues, version numbers
...
--HG--
branch : trunk
2010-01-03 14:33:10 +01:00
holger krekel
27aa14c20f
fix python3 issues, add missing plugin docs
...
--HG--
branch : trunk
2010-01-03 13:27:06 +01:00
holger krekel
d541713dca
re-arrange "py.test -h" command line option grouping and update some plugin docs.
...
--HG--
branch : trunk
2010-01-03 12:41:29 +01:00
holger krekel
0b2d9a5520
bumping version number: 1.2.0a1
...
--HG--
branch : trunk
2010-01-03 11:42:26 +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
a20e60aeae
slightly refine invocation of py.test: use the py lib that we got invoked with,
...
does away with the need to not-chdir some tests
--HG--
branch : trunk
2010-01-02 11:57:42 +01:00
holger krekel
fd76cd8f41
remove/refine some doc strings. create popen-files with absolute paths.
...
--HG--
branch : trunk
2010-01-01 23:05:00 +01:00
holger krekel
e0dd171e45
fix standalone script generation on windows, make tests not do a chdir() so that distributed testing discovers the transferred lib
...
--HG--
branch : trunk
2010-01-01 21:54:27 +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
f8b5951103
run py.* tools through "-c import py ; py.cmdline.py*" by default
...
and introduce --tools-on-path to force discovery of tools from PATH
--HG--
branch : trunk
2010-01-01 20:36:58 +01:00
holger krekel
b62978a88f
internal: always use scripts found in the environment
...
--HG--
branch : trunk
2009-12-31 16:15:11 +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
eb4249322e
fix xml generation for skipped collections of tests
...
--HG--
branch : trunk
2009-12-31 11:50:01 +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
Ralf Schmitt
1103f2ad62
make inspect.getsource work for standalone py.test by implementing a get_source method on our DictImporter.
...
--HG--
branch : trunk
2009-12-30 19:01:46 +01:00
holger krekel
a42d9eb9f6
fix some standalone-script running issues:
...
* standalone can run standalone tests
* exception handling is more careful with assuming valid filenames
* bits here and there
--HG--
branch : trunk
2009-12-30 18:11:00 +01:00
holger krekel
6495007aba
refine tests to cache single-script and make standalone work with distributed testing.
...
--HG--
branch : trunk
2009-12-30 17:40:50 +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
d3b20e8d24
refine deprecations, move some over to test_deprecated_api
...
--HG--
branch : trunk
2009-12-30 14:07:20 +01:00
holger krekel
30bbf3b042
fix aimed at passing jstests functional tests: allow to have _fillfuncargs() called even for non-pycollect-object test-items.
...
--HG--
branch : trunk
2009-12-30 14:05:41 +01:00
holger krekel
89f178bf4d
streamline svn test setup a bit, clear caches on setup-restore, hopefully will erase random failures with test_export.
...
--HG--
branch : trunk
2009-12-30 13:05:08 +01:00
holger krekel
4656bc4c97
deprecate use of 'disabled'
...
--HG--
branch : trunk
2009-12-30 12:13:38 +01:00
holger krekel
f02b84d528
update ISSUES some more, introduce duration to RunResult and a failing dist-testing termination test.
...
--HG--
branch : trunk
2009-12-30 11:37:46 +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
c348cec481
make looponfailing a bit more robust against relative imports and changed directories - needs more work, probably.
...
--HG--
branch : trunk
2009-12-29 18:41:24 +01:00
holger krekel
79af98fc29
some testing hygene: move _reparse testing functionality to actual test support code, un-xfail a now passing test, reduce direct py.test.config usage aiming for deprecation.
...
--HG--
branch : trunk
2009-12-29 18:02:54 +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
holger krekel
080fd2880e
simplify Config initialization
...
--HG--
branch : trunk
2009-12-29 14:13:12 +01:00
holger krekel
71e332c9c4
robustiy some randomly failing tests
...
--HG--
branch : trunk
2009-12-29 12:36:45 +01:00
holger krekel
425e4849f3
remove/reduce internal global state: py._com.registry is now fully contained and always instantiated from the py.test PluginManager class.
...
--HG--
branch : trunk
2009-12-29 12:36:17 +01:00
holger krekel
8737254a74
simplify pluginmanager, move plugin validation code to plugin, remove unused code
...
--HG--
branch : trunk
2009-12-29 10:59:01 +01:00
holger krekel
0361b73d75
remove defaultconfest.py and make PluginManager directly do early initialization of default plugins.
...
--HG--
branch : trunk
2009-12-29 10:26:51 +01:00
holger krekel
27bcd2dbda
always import defaultconftest by python import path. strike some redundant code.
...
--HG--
branch : trunk
2009-12-28 17:49:46 +01:00
Ralf Schmitt
cc82f1601c
add script to generate standalone py.test
...
--HG--
branch : trunk
2009-12-27 23:03:04 +01:00
holger krekel
516cee2a94
windows fixes and print funcargs for keyboardinterrupt traces
...
--HG--
branch : trunk
2009-12-25 09:53:36 +01:00