holger krekel
74b9ebc1cd
accept a left out "()" for ids on command line for better compatibility with pytest.vim
2011-02-07 11:09:42 +01:00
holger krekel
3004fe3915
fix the last committed laxation of a test
2011-02-04 23:20:27 +01:00
holger krekel
eb225456d7
laxer test for also passing it with pypy
2011-02-04 22:51:05 +01:00
holger krekel
762ea71f67
fix error reporting issue when a "pyc" file has no relating "py"
2011-01-27 21:11:21 +01:00
holger krekel
adacd3491d
fix test related to "not in"
2011-01-27 11:36:12 +01:00
holger krekel
d8d88ede65
refine and unify initial capturing - now works also if the logging module
...
is already used from an early-loaded conftest.py file (prior to option parsing)
2011-01-18 12:51:21 +01:00
holger krekel
b8f0d10f80
fix a pypy related regression - re-allow self.NAME style collection tree customization
2011-01-18 12:47:31 +01:00
holger krekel
aea4d1bd7a
fix regression with yield-based tests (hopefully)
2011-01-14 13:30:36 +01:00
holger krekel
88cfaebbcb
fix issue12 - show plugin versions with "--version" and "--traceconfig" and also document how to add extra information to reporting test header
2011-01-12 19:39:36 +01:00
holger krekel
4445685285
pypy doesn't neccessarily honour -OO it seems, let's not test assertions there.
2011-01-12 18:57:40 +01:00
holger krekel
1b3fb3d229
fix issue15 - tests for python3/nose-1.0 combo work now
2011-01-11 17:27:34 +01:00
holger krekel
170c78cef9
remove same-conftest.py detection - does more harm than good
...
(see mail from Ralf Schmitt on py-dev)
2011-01-11 15:54:47 +01:00
Floris Bruynooghe
8631c1f57a
Add "not in" to detailed explanations
...
This simply uses difflib to compare the text without the offending
string to the full text.
Also ensures the summary line uses all space available. But the
terminal width is still hardcoded.
2010-12-10 01:03:26 +00:00
holger krekel
821f493378
check docstring at test time instead of runtime, improve and test warning on assertion turned off (thanks FND for reporting)
2010-12-09 11:00:31 +01:00
holger krekel
a15983cb33
rather named the new hook cmdline_preparse
2010-12-07 12:34:18 +01:00
holger krekel
9ab256c296
make getvalueorskip() be hidden in skip-reporting. also bump version.
2010-12-07 12:18:24 +01:00
holger krekel
7db9e98b55
introduce a pytest_cmdline_processargs hook to modify/add dynamically to command line arguments.
2010-12-07 12:14:12 +01:00
holger krekel
fc4f72cb1f
fix issue7 - assert failure inside doctest doesn't prettyprint
...
unexpected exceptions are now reported within the doctest failure
representation context.
2010-12-06 19:00:30 +01:00
holger krekel
513482f4f7
fix issue9 wrong XPass with failing setup/teardown function of xfail marked test
...
now when setup or teardown of a test item/function fails and the test
is marked "xfail" it will show up as an xfail-ed test.
2010-12-06 18:20:47 +01:00
holger krekel
2e80512bb8
fix issue8 : avoid errors caused by logging module wanting to close already closed streams.
...
The issue arose if logging was initialized while capturing was enabled
and then capturing streams were closed before process exit, leading
to the logging module to complain.
2010-12-06 16:56:12 +01:00
holger krekel
c7531705fc
refine plugin registration, allow new "-p no:NAME" way to prevent/undo plugin registration
2010-12-06 16:54:42 +01:00
holger krekel
b622c85bbf
last changes, preparing 2.0.0
2010-11-25 20:06:42 +01:00
holger krekel
f6894ce550
fix some more trial/unittest related bits, particularly allow todo/skip items,
...
now we can run a large fraction of twisted's own test suite, mostly not those
that depend on the exact Failure() semantics (e.g. frame objects not being around
after gc.collect() but py.test kills them only slightly later anyway)
2010-11-25 15:48:59 +01:00
holger krekel
4cb2c74159
introduce new discovery mechanism
...
XXX experiment with using it before introducing it or wait
for feature request
2010-11-24 22:01:04 +01:00
holger krekel
539f828cdd
also accept non-pytrace pytest.fail() call in setup/teardown methods
2010-11-24 16:43:55 +01:00
holger krekel
c36b20b137
allow setup_method/teardown_method to be mixed into unittest cases, reshuffle tests a bit
2010-11-24 16:17:49 +01:00
holger krekel
10d4544267
teach trial support code to throw separate errors/failures for setup/call/teardown
2010-11-24 14:35:04 +01:00
Maciej Fijalkowski
ff27d299cc
Finish the test
2010-11-24 15:06:40 +02:00
Maciej Fijalkowski
233baecd2d
A test for trial
2010-11-24 14:54:56 +02:00
holger krekel
9be1cd8007
fix #6 : allow skip/xfail/pdb with trial by hacking the raw exception info out from trial
2010-11-24 11:48:55 +01:00
holger krekel
840eed28be
allow setup_class in unittest test cases
2010-11-24 00:23:39 +01:00
holger krekel
4fa7a2e8ce
fix #128 show tracebacks for all failures and errors that haven't beed PDB-debugged
2010-11-23 16:10:47 +01:00
holger krekel
695bffc83d
refine unittest support to also work with twisted trial test cases better by
...
introducing a slightly hackish way to report a failure upstream
2010-11-23 15:42:23 +01:00
holger krekel
6e6b0ab5d9
nice-fy error reporting of self-tests
2010-11-22 15:20:18 +01:00
holger krekel
0357d3afda
refine initialization and collection reporting, introduce a progress bar
2010-11-22 11:59:56 +01:00
holger krekel
bc42cf8ffb
add a way to mark hooks as "tryfirst" or "trylast" to influence its position in a hook chain.
...
Use 'tryfirst' for capturing hooks so they can start capturing as early as possible,
including when conftests add output in runtest_setup hooks.
2010-11-21 23:17:59 +01:00
holger krekel
f456e376b9
refine tmpdir handling and docs
...
- clear tmpdir specified with --basetemp
- remove config.mktmp and config.getbasetemp methods
2010-11-21 17:43:18 +01:00
holger krekel
bd5a9ba392
fix: mark.* objects are now immutable as long as they are not an attribute on a function, enables usage like this::
...
xfail = pytest.mark.xfail
@xfail
def test_func1():
pass
@xfail(reason="123")
def test_func2():
pass
where previously test_func1 and test_func2 would wrongly share the same reason
because the xfail object was modified in place.
2010-11-20 20:17:38 +01:00
holger krekel
9a21a81740
add ability to use scope="class" in request.cached_setup() calls
2010-11-20 18:03:18 +01:00
holger krekel
582486d531
refine docs and docstrings, fix some small bits here and there while doing that.
2010-11-18 14:56:16 +01:00
holger krekel
a698465487
streamline docs, especially use "import pytest" and "pytest.*" in python code examples instead of "import py" and "py.test.*".
2010-11-17 22:12:16 +01:00
holger krekel
2a825169b2
fix doctest IDs, also fix tree traversal and remove dead code
2010-11-17 18:24:28 +01:00
holger krekel
acd286f82f
run doctests in .txt/.rst files directly specified on command line irrespective of "test*.txt" pattern.
2010-11-17 14:33:21 +01:00
holger krekel
fb102a2ddb
bump version and comment out ignore-testclass-if-unittest-module-feature
2010-11-17 12:21:24 +01:00
holger krekel
82ba645a2e
fix skip reporting over distributed testing. if we have a "skip" report
...
rep.longrepr will now be a 3-tuple (path, lineno, message)
2010-11-13 21:03:28 +01:00
holger krekel
076e03e90f
also un-nest test directory
2010-11-13 11:30:40 +01:00
holger krekel
929291775e
flat is better than nested (cont'd):
...
- pytest.py is new module, making "python -m pytest" work always
- _pytest/*.py now contains core.py, hookspec and the plugins, no sub packages
2010-11-13 11:10:45 +01:00
holger krekel
2e4e9eb745
internally use pytest.* instead of ``py.test.*`` in many places.
...
make sub namespace names 'collect' and 'cmdline' available on pytest directly
2010-11-13 09:05:11 +01:00
Benjamin Peterson
d44ff035d0
add coding for py3
2010-11-08 16:48:15 -06:00
holger krekel
55dff651f4
refine initilization: read config also from a "pytest.ini" file if exists
...
and revert earlier commandline option and group ordering change.
2010-11-07 16:10:22 +01:00
holger krekel
6461295ab4
probably the last major internal cleanup action: rename collection to
...
session which now is the root collection node. This means that
session, collection and config objects have a more defined
relationship (previously there was no way to get from a collection
node or even from a runtest hook to the session object which
was strange).
2010-11-07 10:19:58 +01:00
holger krekel
582a2100b1
fix test, bump version
2010-11-07 07:14:50 +01:00
holger krekel
d9ad2e7cce
some python3 related fixes
2010-11-07 01:10:15 +01:00
Benjamin Peterson
8716b391c7
PYTHONDONTWRITEBYTECODE might not be set
2010-11-06 18:36:24 -05:00
holger krekel
885c7ce281
some fixes for --pyargs situations and the docs, remove wrongly added test
2010-11-07 00:22:16 +01:00
holger krekel
d0ac4135a2
introduce an option that avoids discovery of classes other than unittest.TestCase in modules
...
importing unittest.
2010-11-06 23:45:48 +01:00
holger krekel
707775dcfa
introduce new --testpkg importpath option, add more meat to draft release announcement
2010-11-06 22:17:33 +01:00
holger krekel
b3628daa62
test and fix tracing indentation in case of exceptions
2010-11-06 20:06:32 +01:00
holger krekel
6dac77433e
majorly refactor collection process
...
- get rid of py.test.collect.Directory alltogether.
- introduce direct node.nodeid attribute
- remove now superflous attributes on collect and test reports
2010-11-06 09:58:04 +01:00
holger krekel
f181c70d8e
add indent facility to tracing
2010-11-06 09:05:17 +01:00
holger krekel
d108235095
implement and document new invocation mechanisms, see doc/usage.txt
...
also rename pytest._core to pytest.main for convenience.
2010-11-05 23:37:31 +01:00
holger krekel
6a734efe44
introduce a minimal tag-based tracer, to be extended if needed, strike pytest_trace hook.
2010-11-05 23:37:31 +01:00
holger krekel
bb732a4e75
add "linelist" type for ini-files
2010-11-05 23:37:31 +01:00
holger krekel
b1e4301457
document and refine py.test.fail helper and strike superflous ExceptionFailure class
...
refine builtin organisation and start a new doc
2010-11-05 23:37:31 +01:00
holger krekel
fed8f19156
introduce norecursedirs config option, remove recfilter()
2010-11-04 23:21:26 +01:00
holger krekel
5251653fc3
remove pytest_report_iteminfo hook, i strongly guess nobody needs or uses it.
2010-11-04 23:21:23 +01:00
holger krekel
28d51e26a0
remove imperative xfail, this test passes
2010-11-03 08:09:13 +01:00
holger krekel
7d495cc250
majorly changing the unittest compatibility code, calling TestCase(name)(result)
2010-11-01 23:08:16 +01:00
holger krekel
53d1cfc3a1
allow unregistration by name
2010-11-01 09:20:58 +01:00
holger krekel
32ac7a7c6e
rename addargs to addopts, make adding of opts configurable
2010-11-01 08:55:14 +01:00
holger krekel
85c24b7fa1
some test fixes and refinements
2010-11-01 08:16:10 +01:00
holger krekel
cf8dd64703
slightly simplify collection node init
2010-11-01 01:01:31 +01:00
holger krekel
c3ec2718a2
fix tests by using less likely existing import names
2010-11-01 00:38:44 +01:00
holger krekel
5616874823
streamline some hook docs and option handling, remove cruft bits, fix doc links
2010-10-31 23:28:31 +01:00
holger krekel
8871ca5bfa
introduce "-q" option which decreases verbosity and basically leads to a unittest/nosetest-style "." output
...
add it in an ini file like this:
[pytest]
addargs=-q
and you get that by default.
2010-10-31 19:51:16 +01:00
holger krekel
bb50ec89a9
remove restdoc plugin which now lives as pytest-restdoc on bitbucket,
...
and be easily included in a project now (like PyPy which still needs it)
2010-10-31 19:04:22 +01:00
holger krekel
23f8d8bce7
allow modules/conftest files specify dotted import paths for loading plugins
2010-10-31 19:01:46 +01:00
holger krekel
03924d205d
show pytest.__version__ not pylib
2010-10-31 18:57:44 +01:00
holger krekel
35969e13ae
remove feature deprecated prior even to 1.0
2010-10-31 18:46:10 +01:00
holger krekel
bc574f4d94
remove superflous collect_by_name, and improve some docs
...
--HG--
branch : trunk
2010-10-31 18:01:33 +01:00
holger krekel
b6ec5a575d
get option settings from ini-file. make getting configuration options from conftest.py only an internal feature.
...
--HG--
branch : trunk
2010-10-31 17:41:58 +01:00
holger krekel
1280041f0c
add and document new parser.addini(name, description) method to describe
...
ini-values. Also document the parser object with its public methods.
--HG--
branch : trunk
2010-10-30 19:23:50 +02:00
holger krekel
2d8bcbdf55
document "setup.py test" to use genscript'ed version.
...
--HG--
branch : trunk
2010-10-28 09:29:56 +02:00
holger krekel
c9e629c870
remove old ways to set option defaults, relying on global setup.cfg or tox.ini files now.
...
revamp py.test --help-config
--HG--
branch : trunk
2010-10-27 22:29:01 +02:00
holger krekel
b86b1628bb
introduce reading of setup.cfg / ini-style configuration files
...
rename internal config.Error to pytest.UsageError
--HG--
branch : trunk
2010-10-27 19:35:27 +02:00
holger krekel
90c1084a88
add --lsof self-testing option
...
--HG--
branch : trunk
2010-10-26 09:11:53 +02:00
holger krekel
5fc87acf9b
re-introduce compatibility attributes on collection nodes to keep compatible with code like::
...
def pytest_collect_file(path, parent):
... parent.Module(...)
--HG--
branch : trunk
2010-10-25 23:09:21 +02:00
holger krekel
4480401119
allow unittest test functions to work with the "pytestmark" mechanism
...
by refactoring mark/keyword handling and initialization
--HG--
branch : trunk
2010-10-25 23:08:56 +02:00
holger krekel
a6f10a6d80
unify collection for finding items and for finding initial nodes.
...
--HG--
branch : trunk
2010-10-25 23:08:41 +02:00
holger krekel
603ff3a64f
also check for stderr, add changelog entry
...
--HG--
branch : trunk
2010-10-24 23:43:35 +02:00
holger krekel
b4210f3ae0
fix issue93 - hide output of code in early-loaded conftest files
...
--HG--
branch : trunk
2010-10-24 23:26:14 +02:00
holger krekel
1999180dfd
xpass tests don't cause non-zero exit codes
...
--HG--
branch : trunk
2010-10-22 12:00:17 +02:00
holger krekel
56afcfc9f3
make safer filenames
...
--HG--
branch : trunk
2010-10-21 16:10:37 +02:00
Ronny Pfannschmidt
039037701a
use pyfuncitem name for tmpdir in order to take generative test id into account
...
--HG--
branch : trunk
2010-10-17 00:24:59 +02:00
Ronny Pfannschmidt
5d798feaf0
fix genscript by copying the new implementation from the genscript package
...
--HG--
branch : trunk
2010-10-16 03:10:14 +02:00
Ronny Pfannschmidt
2a579217b8
alias function keywords to funcarg request keywords
...
--HG--
branch : trunk
2010-10-16 02:00:05 +02:00
holger krekel
9925ac883e
refine and document conftest loading and handling.
...
--HG--
branch : trunk
2010-10-13 18:45:07 +02:00
holger krekel
f3fb91e296
remove all deprecated functionality and tests
...
--HG--
branch : trunk
2010-10-13 18:41:53 +02:00
holger krekel
17719b99a1
select tests by call-id, add and refine documentation around it
...
--HG--
branch : trunk
2010-10-13 12:26:14 +02:00
holger krekel
3a5d28f3fe
removed unnccessary indirections in the PluginManager,
...
also fixed a bug in _core.varnames(), which probably considerably
speeds up hook calls.
--HG--
branch : trunk
2010-10-13 11:12:27 +02:00
holger krekel
04c41cb672
shift config initialization to own "config" plugin
...
--HG--
branch : trunk
2010-10-12 15:34:32 +02:00
holger krekel
7453fc107c
merge _pytest into pytester self-testing plugin
...
--HG--
branch : trunk
2010-10-12 13:10:39 +02:00
holger krekel
07c835fdf3
merge keyword into mark plugin
...
--HG--
branch : trunk
2010-10-12 13:05:29 +02:00
holger krekel
6631447161
merge config, pluginmanager, main into one file
...
--HG--
branch : trunk
2010-10-12 12:54:32 +02:00
holger krekel
6efc6dcb62
move pytest/collect.py to pytest/plugin/session.py - approaching
...
total py.test pluginizations ...
--HG--
branch : trunk
2010-10-12 12:19:53 +02:00
holger krekel
aa70d9073c
rename last test files
...
--HG--
branch : trunk
2010-10-11 08:10:55 +02:00
holger krekel
eee0e14334
internally switch to pytest.plugin.NAME instead of pytest.plugin.pytest_NAME
...
--HG--
branch : trunk
2010-10-11 01:14:40 +02:00
holger krekel
4ee3831ac9
start reorganizing docs, write more docs, shift plugin docs, to proper documentation,
...
use sphinx, remove old docs ... work in progress.
--HG--
branch : trunk
2010-10-10 23:45:45 +02:00
holger krekel
854f6a98ae
remove some more cruft
...
--HG--
branch : trunk
2010-10-10 15:52:13 +02:00
holger krekel
652d0ca636
fix tox.ini and dependencies, various fixes all around, tests pass.
...
--HG--
branch : trunk
2010-10-10 13:48:49 +02:00
holger krekel
32fce34825
move config to _config
...
--HG--
branch : trunk
2010-10-10 13:48:49 +02:00
holger krekel
51bb0f53c5
move session.py and collect.py to a unified pytest_session.py plugin.
...
--HG--
branch : trunk
2010-10-10 13:48:48 +02:00
holger krekel
d1aff902d5
remove pylib things and move things to new pytest namespace
...
--HG--
branch : trunk
2010-10-07 11:59:00 +02:00
holger krekel
f488da5cc8
merge parseopt into config module
...
--HG--
branch : trunk
2010-10-07 13:26:07 +02:00
holger krekel
98bdf022d3
merge conftesthandle into config.py
...
--HG--
branch : trunk
2010-10-07 11:51:58 +02:00
Ronny Pfannschmidt
09a9ce1da1
fix and test a unbound local in _diff_text of the assertion plugin
...
--HG--
branch : trunk
2010-10-09 07:35:28 +02:00
holger krekel
6b0db18eca
two fixes for Jython
...
--HG--
branch : trunk
2010-10-07 08:55:44 +02:00
holger krekel
253c173a88
skip attribute tests on <(2,6)
...
--HG--
branch : trunk
2010-10-06 19:57:14 +02:00
Floris Bruynooghe
ec5ea5c05e
Show final value first when explaining an attribute
...
Then show the expansion as a "where" part of the explanation.
--HG--
branch : trunk
2010-10-06 18:20:09 +01:00
holger krekel
eccc2a868c
fix issue126 : introduce py.test.set_trace() to allow dropping to
...
interactive debugging even when py.test is configured to capture output.
If you like you can override pdb.set_trace by default like this:
# content of conftest.py
def pytest_configure():
import py, pdb
pdb.set_trace = py.test.set_trace
--HG--
branch : trunk
2010-10-06 14:48:24 +02:00
antocuni
94c2fd4033
fix the annoying interaction between "pdb.set_trace()" and --pdb. The problem
...
is that pdb raises BdbQuit on exit, which is then caught by --pdb, showing an
unwanted pdb prompt. Fix it by making --pdb to ignore BdbQuit
--HG--
branch : trunk
2010-10-06 14:28:06 +02:00
holger krekel
fe54762b93
fix tests to avoid pyc-caching and skip python2.4 which doesn't support "python -m" on packages.
...
--HG--
branch : trunk
2010-10-06 09:40:14 +02:00
holger krekel
eead8f9ab4
fix issue123 - new "python -m py.test" invocation.
...
--HG--
branch : trunk
2010-10-05 17:52:32 +02:00
holger krekel
7c6e47f715
fix issue124 - make test reporting more resilient against tests changing FD 1
...
--HG--
branch : trunk
2010-10-05 17:21:50 +02:00
holger krekel
cebcdb83cf
refine printing of exceptions via the pluginmanager.
...
if there is no pytest_internalerror() hook acknowledging
receival we print the exception to sys.stderr. This helps
to see issues when there are failures in TerminalReporter
initialization.
--HG--
branch : trunk
2010-10-05 17:21:41 +02:00
holger krekel
a054b63bac
introduce py.builtin.any
...
--HG--
branch : trunk
2010-10-05 17:21:27 +02:00
holger krekel
6892dc47a3
use repr() to print extra / differing values in assertion comparison failures
...
and guard against failures in detail-representations
--HG--
branch : trunk
2010-10-04 18:49:30 +02:00
holger krekel
f6da7ea0a5
remove config.getinitialnodes() method that was only used for testing method after the refactoring.
...
--HG--
branch : trunk
2010-10-04 16:55:03 +02:00
holger krekel
29051458fc
fix issue 109 - sibling conftest.py files shall not be loaded.
...
also simplify / refine tests a bit.
--HG--
branch : trunk
2010-10-04 16:19:01 +02:00
holger krekel
4eb45dab08
small simplification and shuffling of python tests, no content change
...
--HG--
branch : trunk
2010-10-04 11:04:15 +02:00
holger krekel
939a53c436
fix a problem and make a note about pytest_nose calling setup/teardown functions
...
--HG--
branch : trunk
2010-10-03 11:17:37 +02:00
holger krekel
a6003ac332
some fixes after the merge
...
--HG--
branch : trunk
2010-10-02 20:49:24 +02:00
holger krekel
63bb9efd29
merge heads
...
--HG--
branch : trunk
2010-10-02 19:36:15 +02:00
holger krekel
77cacb99ee
to better match the naming of the corresponding AST (and in case
...
we want to add more customizations later)
rename pytest_assert_binrepr -> pytest_assertrepr_compare
rename binrepr -> reprcompare
--HG--
branch : trunk
2010-10-02 19:00:47 +02:00
holger krekel
1ff173baee
refactor assert interpretation to invoke a simple callable
...
and let the assertion plugin handle the hook invocation
and its multi-results and also pass in an (optional) test config
object to the hook. Add and refactor also a few tests.
--HG--
branch : trunk
2010-10-02 18:47:39 +02:00
holger krekel
b56d3c223d
merge Floris branch and skip interpret-tests on python2.4
...
--HG--
branch : trunk
2010-10-02 16:15:02 +02:00
holger krekel
e2c11f1ddb
fix python3 issues, add py32 environment
...
--HG--
branch : trunk
2010-09-28 17:37:20 +02:00
holger krekel
81ec29a597
fix python3 bugs
...
--HG--
branch : trunk
2010-09-28 16:38:46 +02:00
holger krekel
a60e470573
fix a collection bug where a: 🅱️ :c could not be resolved properly if
...
there are multiple 'b' nodes.
--HG--
branch : trunk
2010-09-28 15:24:36 +02:00
holger krekel
f779d3f863
rework session instantiation and exitstatus handling
...
--HG--
branch : trunk
2010-09-28 12:59:48 +02:00
holger krekel
a2fe6714f8
implement pytest_runtest_logstart(nodeid, location) hook
...
factor out a NodeInfo helper, and streamline terminal printing a bit
--HG--
branch : trunk
2010-09-26 16:23:45 +02:00
holger krekel
1c020c3d32
shift reporting info generation away from terminal reporting time, simplify code.
...
also get rid of redundant 'shortrepr' on collect/test reports
and rename reportinfo to "location" in some places
--HG--
branch : trunk
2010-09-26 16:23:44 +02:00
holger krekel
7d1585215d
clean up and simplify startup test protocols and objects
...
introduce some new experimental hooks pytest_runtest_mainloop
to better integrate distributed testing
--HG--
branch : trunk
2010-09-26 16:23:43 +02:00
holger krekel
2cf22e3124
shift all python related testing functioanlity to a dedicated
...
pytest_python
plugin which incorporates pytest's logic of python function testing (including funcargs).
--HG--
branch : trunk
2010-09-25 18:23:26 +02:00
Floris Bruynooghe
c3166ee84a
Fix bug when the right list was longer then the left
...
Thanks to Holger for finding this.
--HG--
branch : trunk
2010-09-22 18:52:07 +01:00
Floris Bruynooghe
56b955dfb5
Make pytest_assert_binrepr work on python3 too
...
--HG--
branch : trunk
2010-09-22 18:42:04 +01:00
Floris Bruynooghe
4b2cb3acbe
Merge tip from py-trunk.
...
--HG--
branch : trunk
2010-09-22 18:14:59 +01:00
Floris Bruynooghe
ca84a5e8e0
Rename pytest_assert_compare to pytest_assert_binrepr
...
Holger prefers to only have one hook and it also turns out that "in"
is actually a ast.Compare node as well too.
This also modifies the pytest_assert_binrepr hook slightly so that
it's more accomodating to other operators then just compare (i.e.
don't bail out as soon as the types of the operands differ).
--HG--
branch : trunk
2010-09-22 00:56:39 +01:00
Floris Bruynooghe
abab8f6f63
Move all tests to test_pytest_assertion
...
The py.code code is independent of any py.test specifics so we should
avoid creating dependencies on py.test in those parts.
--HG--
branch : trunk
2010-09-18 13:03:28 +01:00
Floris Bruynooghe
58169edc8e
Add set comparison
...
Also add a (too) simple mechanism too truncate too long explanations.
--HG--
branch : trunk
2010-09-16 01:06:07 +01:00
holger krekel
e2683f4538
refactor all collection related logic
...
- drop all pickling support (for now)
- perform collection completely ahead of test running (no iterativity)
- introduce new collection related hooks
- shift all keyword-selection code to pytest_keyword plugin
- simplify session object
- besides: fix issue88
--HG--
branch : trunk
2010-09-15 10:30:50 +02:00
Floris Bruynooghe
6fb56443a9
Split the tests between the core and plugin
...
The tests for _assertionnew are much better, the ones for
pytest_assert_compare() are still not great.
--HG--
branch : trunk
2010-09-08 22:21:52 +01:00
holger krekel
6f40441ef8
fixing test for python2.4 (thanks ronny)
...
--HG--
branch : trunk
2010-09-08 18:29:26 +02:00
Ronny Pfannschmidt
2b59200786
implement and naively test the native traceback style
...
--HG--
branch : trunk
2010-09-08 12:00:36 +02:00
Floris Bruynooghe
2b3ac35780
Merge py-trunk tip
...
--HG--
branch : trunk
2010-09-07 22:45:19 +01:00
holger krekel
c17bb32f70
patch from flub to allow callable objects as hook implementations
...
--HG--
branch : trunk
2010-09-07 10:03:11 +02:00
Floris Bruynooghe
cd013746cf
Initial patch as sent to py-dev
...
With a small but disasterous typo fixed though.
--HG--
branch : trunk
2010-09-06 19:35:17 +01:00
holger krekel
95bafbccd1
fix issue116 : --doctestmodules also works in the presence of __init__.py files, done by fixing the underlyingly used path.pyimport()
...
--HG--
branch : trunk
2010-09-04 09:21:35 +02:00
Ed Singleton
a2f9fbb178
Added a test and fix for nose compatible setup/teardown functions so that even less errors are ignored
...
--HG--
branch : trunk
2010-09-03 11:32:12 +01:00
Ed Singleton
f814cb5346
Added a test and fix for nose compatible setup/teardown functions that are partials, and so errors are not ignored
...
--HG--
branch : trunk
2010-09-03 11:27:47 +01:00
Ed Singleton
b690290c3f
Whitespace normalisation inside funcs in test_pytest_nose.py
...
--HG--
branch : trunk
2010-09-03 10:09:41 +01:00
Ed Singleton
c542806396
Whitespace normalisation between funcs in test_pytest_nose.py
...
--HG--
branch : trunk
2010-09-03 10:07:17 +01:00
Ed Singleton
faf0fe8887
Added a test and fix for nose compatible setup/teardown functions that contain a variable
...
--HG--
branch : trunk
2010-09-03 10:04:45 +01:00
holger krekel
d8fcc96563
committed a xfailing test for sibling conftests
...
--HG--
branch : trunk
2010-08-02 16:39:36 +02:00
holger krekel
8f2b0d0889
test and fix for apipkg (also available in apipkg default branch)
...
--HG--
branch : trunk
2010-08-01 20:43:02 +02:00
holger krekel
efeae72509
fixes issue113 - assertion represenation issue
...
--HG--
branch : trunk
2010-07-29 12:55:39 +02:00
holger krekel
74523a9d09
avoid loading conftest files which are exactly the same content as a previously loaded conftest file
...
--HG--
branch : trunk
2010-07-29 11:22:16 +02:00
holger krekel
677f7c0a6a
remove trailing whitespace everywhere
...
--HG--
branch : trunk
2010-07-26 21:15:15 +02:00
holger krekel
b14f8505d0
fix test on python2.4
...
--HG--
branch : trunk
2010-07-26 13:34:59 +02:00
holger krekel
ed8e24312c
fix terminal dimension detection to work with stdout
...
--HG--
branch : trunk
2010-07-26 13:13:10 +02:00
holger krekel
6ea944a350
don't run too-long-filename test
...
--HG--
branch : trunk
2010-07-08 15:54:51 +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
2664230fad
fix test for python2.7
...
--HG--
branch : trunk
2010-07-06 13:29:32 +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
f856db29dc
refine py.process.cmdexec handling wrt unicode on all python versions
...
--HG--
branch : trunk
2010-06-25 10:30:15 +02:00
Benjamin Peterson
4d75c703a0
correct expected message
...
--HG--
branch : trunk
2010-06-18 22:55:06 -05: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
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
Ronny Pfannschmidt
d1c8209875
support using py.test.raises in context manager style
...
--HG--
branch : trunk
2010-06-09 10:50:00 +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
804dcd3521
some adjustments to make py.test --basetemp=XYZ work where
...
XYZ is a subdir the checkout which contains a conftest.py
--HG--
branch : trunk
2010-06-07 21:02:26 +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
10baa7f8af
fix python3 failure by making a relative import work
...
--HG--
branch : trunk
2010-06-05 16:10:17 +02:00
holger krekel
c56f4f9444
don't depend on (and don't actually use anymore) testing/__init__.py
...
--HG--
branch : trunk
2010-06-04 00:39:58 +02:00
Ronny Pfannschmidt
f8404be1b2
add a rootdir param to py.path.local.mkdtemp
...
--HG--
branch : trunk
2010-06-03 11:14:32 +02:00
Ronny Pfannschmidt
a07e494554
add kwarg support to py.errpr.checked_call
...
--HG--
branch : trunk
2010-06-03 10:21:48 +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
fa074da5a9
when --runxfail is supplied also show tracebacks when running a test that
...
calls py.test.xfail
--HG--
branch : trunk
2010-05-22 17:08:49 +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
93712a3ce6
terser reporting header
...
--HG--
branch : trunk
2010-05-22 13:59: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
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
eac0345689
fix wrong test invocation
...
--HG--
branch : trunk
2010-05-19 17:05:13 +02:00
holger krekel
20424a9c76
fix and test "-rP" option to show xpass-test ids
...
--HG--
branch : trunk
2010-05-19 16:52:03 +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
c3bd29b490
fix issue95 - treat a failing pytest_genscript import
...
as non-critical, give a hint.
--HG--
branch : trunk
2010-05-19 16:22:23 +02:00
holger krekel
cf255cd643
some special handling of stdin capturing, unification, un-xfail the win32 test
...
--HG--
branch : trunk
2010-05-18 12:12:34 -07:00
holger krekel
10296faff1
for now don't test close(0) on windows - it hangs there
...
--HG--
branch : trunk
2010-05-18 11:43:22 -07:00
holger krekel
9f5e6f9761
simplify and unify FDCapture API and usage:
...
* FDCapture now takes care through the 'patchsys' option to
also set sys.stdin/out/err - setfiles/unsetfiles methods removed -
i doubt anybody uses this outside of py.test's own old usage.
* stdin also goes through FDCapture now.
--HG--
branch : trunk
2010-05-18 20:03:44 +02:00
holger krekel
da097c9d67
deal gracefully with invalid file descriptors - don't capture the particular stream
...
--HG--
branch : trunk
2010-05-18 16:52:56 +02:00
holger krekel
4f5d7948f7
- try to fix the nightly failures by refining internal capturing mechanism
...
and adding tests, including a "lsof" test for making sure the number of
open file descriptors does not increase.
- also move a py.io related logging test to testing/io
--HG--
branch : trunk
2010-05-18 16:01:58 +02:00
holger krekel
1a97c59439
fix test to account for earlier capfd skipping (on jython)
...
--HG--
branch : trunk
2010-05-18 09:54:04 +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
f97e082543
fix test to work on jython and cpy
...
--HG--
branch : trunk
2010-05-14 15:25:24 +02:00
holger krekel
91880ffc19
adding three x-failing tests for issue88, issue93 and related issues
...
--HG--
branch : trunk
2010-05-14 12:02:43 +02:00
holger krekel
169d8d1e54
fix test to account for jython python file ending
...
--HG--
branch : trunk
2010-05-12 14:12:07 +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
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
28150c7486
add unit-tests for xfail and refine xfail handling and reporting
...
--HG--
branch : trunk
2010-05-04 12:37:56 +02:00
holger krekel
dd7fd97810
add a terminalreporter.testid method
...
--HG--
branch : trunk
2010-05-04 12:37:52 +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
82d4aae571
some internal fixes regarding the new required hook-finding prefix
...
--HG--
branch : trunk
2010-05-02 17:10:38 +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
Ronny Pfannschmidt
b3ce06bbf9
add close method to DontReadFromInput so multiprocessing can close it
...
--HG--
branch : trunk
2010-04-29 19:46:43 +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
1c1623885f
fix a py3k related skip - py.io.TextIO on py3k should probably
...
not allow to write bytes to it.
--HG--
branch : trunk
2010-04-29 10:50:20 +02:00
holger krekel
5dc66bb4ca
make py.io.ansi_print and py.io.get_terminal_width() directly available.
...
--HG--
branch : trunk
2010-04-29 10:49:50 +02:00
holger krekel
030548bc73
expose py.code._reinterpret functions so that pypy and internal
...
uses don't need to go through internal implementation imports
--HG--
branch : trunk
2010-04-29 01:20:56 +02:00
Benjamin Peterson
d93016d85f
remove the unused return value of fnmatch_lines
...
--HG--
branch : trunk
2010-04-28 17:12:38 -05: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
ed7a2d2da3
refine/fix isimportable-logic and ensure that 'tmpdir' has a python-importable name
...
--HG--
branch : trunk
2010-04-27 16:10:25 +02:00
holger krekel
8131f5bdc0
(fixes issue83) don't try to import conftest from an invalid package path, refine path.pyimport() logic
...
--HG--
branch : trunk
2010-04-27 15:49:13 +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
Benjamin Peterson
7629b8fda7
make test source syntax valid
...
--HG--
branch : trunk
2010-04-23 20:49:00 -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