Floris Bruynooghe
2cdb54225c
Fix issue 336: autouse fixtures in plugins work again
...
When an autouse fixture in a plugin was encountered None was stored as nodeid
where it used to be ''. This broke the lookup of autouse fixtures later on.
This also adds another test for the normal fixture ordering which was slightly
wrong: a fixture without location was always added at the front of the fixture
list rather then at the end of the fixtures without location but before the
fixtures with location.
2013-08-01 18:58:28 +01:00
holger krekel
8f24e10571
add changelog entry for anthon's hynek-fication of options,
...
and change the docs and tests to use the new style.
2013-08-01 17:32:19 +02:00
Anthon van der Neut
e96da76c3b
changes to addoption() for hyphenated long-options
...
--HG--
branch : opt-drop-non-hyphened-long-options
2013-08-01 16:49:26 +02:00
Anthon van der Neut
e24b56af6c
removed two superfluous parser arguments
...
--HG--
branch : opt-drop-non-hyphened-long-options
2013-08-01 16:27:06 +02:00
Anthon van der Neut
007a77c2ba
drop help for long options if longer versions with hyphens are available
...
--HG--
branch : opt-drop-non-hyphened-long-options
2013-08-01 16:21:33 +02:00
holger krekel
9ccd52d538
fix issue305 - ignore any problems in writing a pyc file, but print out a trace.
2013-08-01 15:43:42 +02:00
holger krekel
cbbbfcd101
fix collection imports for python2.5
2013-08-01 15:38:03 +02:00
Mathieu Agopian
72a48d69cd
refs #279 : sequence assertions can also deal with (Mutable)Sequence instances
2013-08-01 14:48:34 +02:00
holger krekel
b90d82c17f
fix some py33 issues introduced with rev 2985
...
--HG--
branch : argcomplete
2013-08-01 14:24:25 +02:00
Anthon van der Neut
ef2ddb6f16
monkeypatch for os.environment changes
...
--HG--
branch : argcomplete
2013-07-31 21:33:13 +02:00
Anthon van der Neut
e3a2e1bbf8
fix for tests running subprocesses of py.test after test_argcomplete
...
(which all still ran with argcompletion enabled) -> fail
--HG--
branch : argcomplete
2013-07-31 16:03:53 +02:00
Anthon van der Neut
6817a56270
minor adjustment, added test for positional argument completion
...
--HG--
branch : argcomplete
2013-07-30 12:33:38 +02:00
Anthon van der Neut
87860600fb
Fixes for argcomplete
...
- separate out most argcomplete related stuff in new file _argcomplete.py
(could probably be in the py library)
- allow positional arguments to be interspaced with optional arguments
( + test in test_parseopt.py )
- removed double argument in tox.ini
- add documentation on installing argcomplete (>=0.5.7 as needed for
Python 3), might need improving/incorporation in index.
This does not work on 2.5 yet. I have patches for argcomplete
(with/print()/"".format) but I am not sure they will be accepted.
Agreed with hpk not to push for that.
Removing argcomplete and leaving completion code active now works by early
exit, so <TAB> no longer re-runs the programs without parameters
(which took long for py.test)
test calls bash with a script that redirects filedescriptor 8 (as used by
argcomplete), so the result can be tested.
--HG--
branch : argcomplete
2013-07-30 11:26:15 +02:00
holger krekel
377f63085a
be more liberal with respect to lsof checks because jenkins keeps some files open
2013-07-29 15:39:24 +02:00
holger krekel
2a7c79dbf5
make genscript provide information as to compatibility
...
(now that argparse is a dependency on python2.6)
2013-07-26 08:59:31 +02:00
Anthon van der Neut
15ec5a898c
moving from optparse to argparse. Major difficulty is
...
that argparse does not have Option objects -> added class Argument
Needed explicit call of MyOptionParser.format_epilog as argparse
does not have that. The parse_arg epilog argument wraps the text,
which is not the same (could be handled with a special formatter).
- parser.parse() now returns single argument (with positional args in
.file_or_dir)
- "file_or_dir" made a class variable Config._file_or_dir and used in help and tests
- added code for argcomplete (because of which this all started!)
addoption:
- if option type is a string ('int' or 'string', this converted to
int resp. str
- if option type is 'count' this is changed to the type of choices[0]
testing:
- added tests for Argument
- test_mark.test_keyword_extra split as ['-k', '-mykeyword'] generates argparse
error test split in two and one marked as fail
- testing hints, multiline and more strickt (for if someone moves format_epilog
to epilog argument of parse_args without Formatter)
- test for destination derived from long option with internal dash
- renamed second test_parseopt.test_parse() to test_parse2 as it was
not tested at all (the first was tested.)
--HG--
branch : argparse
2013-07-25 15:33:43 +02:00
holger krekel
1280add047
SO-17664702: call fixture finalizers even if the fixture function
...
partially failed (finalizers would not always be called before)
2013-07-17 10:29:11 +02:00
holger krekel
60a53c75a6
some python2.5/3.3 fixes of Brianna's parametrize improvements
2013-07-16 15:43:20 +02:00
holger krekel
af7db5195b
Merged in pfctdayelise/pytest (pull request #38 )
...
A couple of improvements to parametrize
2013-07-16 15:30:48 +02:00
Anatoly Bubenkov
87eae6213e
fixes for py25 in test_skipping
2013-07-11 11:15:31 +02:00
holger krekel
13ddce2381
fix issue320 - fix class scope for fixtures when mixed with
...
module-level functions. Thanks Anatloy Bubenkoff.
2013-07-08 15:54:38 +02:00
Anatoly Bubenkov
589138ea71
re #320 fallback to test scope if the class-scoped fixture is used in non-class-based test function
...
--HG--
branch : 320-class-scoped-fixture-caching-is-broken-if
2013-07-06 21:30:24 +02:00
holger krekel
f7a9beaefb
Merged in bubenkoff/pytest/329-skipif-requires-expression-as-a-string (pull request #43 )
...
re #329 add test for skipif failure when you pass boolean without the reason. add emphasize to the docs.
2013-07-06 20:13:27 +02:00
Anatoly Bubenkov
214793f697
re #329 add test for skipif failure when you pass boolean without the reason. add emphasize to the docs.
...
--HG--
branch : 329-skipif-requires-expression-as-a-string
2013-07-06 18:54:24 +02:00
Floris Bruynooghe
e6a063ee47
Solve fixture ordering when loading plugins from conftest
...
Conftests are plugins with a location attached to them while other
plugins do not have a location. When ordering fixturedefs those from
plugins without a location need to be listed first.
2013-07-06 17:56:54 +02:00
Katarzyna Jachim
ffa1bf726d
merge
2013-07-06 15:54:33 +02:00
Katarzyna Jachim
87df85f12d
improved reporting
...
added intermediate level of quiet reporting:
* -q now shows short summary (# passed/failed tests + time)
* the former -q is now -qq
2013-07-06 15:43:59 +02:00
Anatoly Bubenkov
ea7a997afc
remove unnecessary print
2013-07-06 10:26:14 +02:00
Anatoly Bubenkov
2c7613c15c
merge with upstream
2013-07-06 10:06:12 +02:00
holger krekel
c4c966683c
fix issue323 - parametrize() of many module-scoped params
2013-06-28 12:57:10 +02:00
Brian Okken
28b2859718
change how the test is called
2013-06-22 09:42:31 -07:00
Brian Okken
5e77eb23eb
add test_unittest_style_setup_teardown()
...
to test setUpModule() and tearDownModule()
2013-06-22 09:35:10 -07:00
holger krekel
ac3d8800fd
make sessionfinish hooks execute with the same cwd-context as at
...
session start (helps fix plugin behaviour which write output files
with relative path such as pytest-cov)
2013-06-10 10:09:28 +02:00
Erik Bray
17e1106584
reindent a few of the blockquotes in these tests
2013-06-07 17:30:10 -04:00
Brianna Laugher
345b8391c4
A couple of improvements to parametrize
...
- When not specifying ids, let None and bools use their native string form (like str, int, float) rather than obfuscated form used for objects
- When specifying ids, explicitly raise a ValueError if a different number of ids are specified compared to the test cases
- Add tests for both these items.
2013-05-29 12:59:47 +10:00
Erik Bray
b1595d3f61
Adds a test for and fixes #112 . If attempting to write to the __pycache__ directory raises a permission error _write_pyc() should just return False to prevent any further write attempts.
2013-05-28 18:11:12 -04:00
holger krekel
c294a417bd
allow to specify parametrize inputs as a comma-separated string
...
add Wouter to changelog and to authors
2013-05-28 10:32:54 +02:00
holger krekel
655afba17d
Merged in w00t0r/pytest-fixes (pull request #35 )
...
Fixed issue #306 : Keywords and markers are now matched in a defined way. Also applied some pep8 formatting while fixing.
2013-05-27 21:40:41 +02:00
Wouter van Ackooy
212f4b4d64
Issue 306: Used a set for the extra_keywords, and used listchain for parent iteration.
2013-05-27 18:14:35 +02:00
Wouter van Ackooy
72afbbbd71
Added new test to check on matching markers to full test names, which was possible before. Also adjusted check on number of deselected tests.
2013-05-23 12:21:40 +02:00
Wouter van Ackooy
583c736f0c
Added a test to check there is no matching on magic values.
2013-05-23 09:12:50 +02:00
holger krekel
8a0a18e9b3
- add Brianna (@pfctdayelise ) to changelog and contributors
...
- fix some broken tests on py32/py33 (related to issue308 merge)
- re-format docstrings
-
2013-05-22 15:24:58 +02:00
Brianna Laugher
f2175146a9
Merged hpk42/pytest into default
2013-05-21 11:18:37 +10:00
Wouter van Ackooy
fe27f3cc7d
Fixed issue #306 : Keywords and markers are now matched in a defined way. Also applied some pep8 formatting while fixing.
2013-05-20 14:37:58 +02:00
Brianna Laugher
ee65ca10f4
issue #308
...
address some comments by @hpk42 on 0b9d82e :
- move tests into their own class, rename
- add test showing metafunc.parametrize called in pytest_generate_tests rather than as decorator
- add test and fix single-argname case
- convert two loops into one in parametrize()
also
- renamed 'input' to 'n', since 'input' is a built-in
2013-05-20 12:52:20 +10:00
Danilo de Jesus da Silva Bellini
242b67de17
zero to many doctests from module instead of one
2013-05-17 12:18:22 -03:00
Brianna Laugher
5373a63008
issue #308
...
first attempt, mark individual parametrize test instances with other marks (like xfail)
2013-05-17 18:46:36 +10:00
holger krekel
1f1c24fe15
Merged in jaapz/pytest-xml-escape-control-chars (pull request #32 )
...
Fix junitxml generation when using special characters in parametrized tests.
2013-05-10 08:06:31 +02:00
Jaap Broekhuizen
7803bca335
Implemented a test for xml control character fail.
2013-05-09 21:16:57 +02:00
holger krekel
a113c4c6d3
Merged in maho/pytest (pull request #31 )
...
#299
2013-05-09 15:32:29 +02:00
maho
9e3cd03721
#299 - polishing
2013-05-08 17:01:20 +02:00
holger krekel
bbd265184d
support boolean condition expressions in skipif/xfail
...
change documentation to prefer it over string expressions
2013-05-07 18:40:26 +02:00
holger krekel
56aa9962fc
allow fixture functions to be implemented as context managers:
...
@pytest.fixture
def myfix():
# setup
yield 1
# teardown
2013-05-05 14:48:37 +02:00
holger krekel
05c4ecf892
fix recursion within import hook and source.decode in particular
2013-04-30 12:05:58 +02:00
holger krekel
c5f9958783
never consider a fixture function for test function collection
2013-04-29 10:31:51 +02:00
Floris Bruynooghe
7a90515d49
Treat frozenset as a set
...
Thanks to Brianna Laugher.
2013-04-28 20:59:10 +01:00
holger krekel
b2cb93e06d
allow re-running of a test item (as exercised by the
...
pytest-rerunfailures plugins) by re-initializing and removing
request/funcargs information in runtestprotocol() - which is a slightly
odd place to add funcarg-related functionality but it allows all
pytest_runtest_setup/teardown hooks to properly see a valid
request/funcarg content on test items.
2013-04-22 10:35:48 +02:00
Floris Bruynooghe
c93fbb0e57
Load conftest files in the correct order initially
...
When the conftest.py files are looked for intially they got loaded
starting from the subdir ending at the parent dir(s). Later on during
collection any conftest.py files are loaded starting from the parent
dir ending at the subdir. Due to how extending fixtures works the
latter is correct as otherwise the wrong fixture will be available.
So this changes the initial conftest loading to start at the root and
go towards the subdir.
This does also affect the order of other hooks, hence the order of the
reporting being different in testing/test_terminal.py.
2013-04-18 12:24:53 +01:00
holger krekel
bfe9779b37
merge
2013-04-16 09:13:58 +02:00
holger krekel
bb6f3ebd31
slightly improve -k help string
...
cosmetic change to test_nose.py
2013-04-16 09:04:05 +02:00
Adam Goucher
1cbd2db621
stdout/stderr now captured by junitxml
2013-04-16 00:45:14 -04:00
holger krekel
712898cfe1
- add release announce
2013-03-28 10:21:03 +01:00
Floris Bruynooghe
f31dc7a8b7
Attempt to improve detailed failure reporting
...
* If --verbose is used do not truncate.
* Add a special dict comparison instead of diffing
pprint output.
2013-03-28 01:39:01 +00:00
Ronny Pfannschmidt
9c9679945e
fix Issue 265 - integrate nose setup/teardown with setupstate
...
as sideeffect teardown is only called if setup doesnt fail
2013-03-25 10:52:02 +01:00
Ronny Pfannschmidt
ba79c1926c
add a test for issue 14 that will xfail on python < 2.7
2013-03-25 08:53:08 +01:00
Ronny Pfannschmidt
76fb51a4ba
fix issue 271 - dont write junitxml on slave nodes
2013-03-24 20:43:25 +01:00
Ronny Pfannschmidt
93da606763
fix Issue 274 - dont fail when doctest does not know the example location
...
instead only the last test is shown, this could use some further enhancement
2013-03-24 20:05:29 +01:00
holger krekel
8f8466ee40
Merged in witsch/pytest/doctest-fixtures (pull request #25 )
...
fixture support in doctests
2013-03-21 12:33:43 +01:00
Andreas Zeidler
dfcb0e322c
rename `get_fixture` to `getfixture` to better match the current API style
...
--HG--
branch : doctest-fixtures
2013-03-21 12:04:14 +01:00
Andreas Zeidler
da3b42ce46
remove debugging left-overs
...
--HG--
branch : doctest-fixtures
2013-03-21 01:03:59 +01:00
Andreas Zeidler
5a3547dd7e
also provide `get_fixture` helper for module level doctests
...
--HG--
branch : doctest-fixtures
2013-03-20 17:32:48 +01:00
Andreas Zeidler
c4b3a09886
test `get_fixture` helper for doctests
...
--HG--
branch : doctest-fixtures
2013-03-20 17:14:28 +01:00
Antonio Cuni
37c47155e0
correctly handle nose.SkipTest during collection
2013-03-14 16:10:33 +01:00
Benjamin Peterson
0cf79b29cd
in the default Python 2 case, manually check the source is ASCII ( fixes #269 )
2013-03-08 10:44:41 -05:00
Floris Bruynooghe
48e6aa9dc7
Allow MarkEvaluator expressions to be unicode
...
This fixes issue #266 .
2013-02-15 11:47:48 +00:00
Ronny Pfannschmidt
0dd05023b8
fix issue 251 - report a skip instead of ignoring classes with init
2013-02-15 10:18:00 +01:00
Ronny Pfannschmidt
69ef750091
fix issue134 - print the collect errors that prevent running specified test items
2013-02-14 12:21:42 +01:00
holger krekel
857c99d354
fix py32 incompatible syntax
2013-02-14 12:17:23 +01:00
holger krekel
d0e18ac63f
issue250 unicode/str mixes in parametrization names and values now works
2013-02-12 23:30:34 +01:00
holger krekel
296f752cca
fix --genscript option to generate standalone scripts that also
...
work with python3.3 (importer ordering)
2013-02-12 22:59:29 +01:00
holger krekel
456731ed0f
fix issue257 assertion-triggered compilation of source ending in a
...
comment line doesn't blow up in python2.5 (fixed through py>=1.4.13.dev6)
2013-02-12 22:43:33 +01:00
holger krekel
c8653b4c02
merge
2013-02-12 20:45:01 +01:00
Ronny Pfannschmidt
162c3689c6
fix issue 260 - don't use nose specials on plain unittest cases
2013-02-07 17:53:13 +01:00
holger krekel
570ad36eaf
fix parametrized testid to provide for uniqueness
2013-02-05 17:41:45 +01:00
holger krekel
9d107523a1
py3 fixes
2013-02-04 16:07:51 +01:00
Ronny Pfannschmidt
570688f701
ensure OutcomeExceptions like skip/fail have initialized exception attributes
2013-01-27 02:06:19 +01:00
Benjamin Peterson
65edf87ea6
display the repr of some global names ( fixes #171 )
2013-01-10 11:59:08 -06:00
holger krekel
5f99511ab7
fix test after ronny's pytest-debug improvements
2012-12-04 20:31:37 +01:00
holger krekel
22dd5e29e2
when informations gets truncated, mention use of "-vv" to see it.
2012-11-30 12:18:12 +01:00
Ronny Pfannschmidt
725e63db66
improve PYTEST_DEBUG tracing output
...
by putingextra data on a new lines
with additional indent
2012-11-29 10:04:39 +01:00
Graham Horler
1d7c71884e
Remove check for "_" prefix on python functions (use python_functions)
...
(See IRC hpk 2012-11-27 14:56: after the python_functions customization
was introduced, it makes sense to disregard the preliminary "_" check)
2012-11-27 16:58:08 +00:00
holger krekel
68786a6434
fix bug where using capsys with pytest.set_trace() in a test
...
function would break when looking at capsys.readouterr()
2012-11-21 20:43:31 +01:00
holger krekel
a9adfa9114
don't run long-args test on windows because it can't work
2012-11-20 11:52:06 +01:00
holger krekel
f263f54889
make yielded tests participate in the autouse protocol
2012-11-19 22:17:59 +01:00
holger krekel
d66ff7e63e
fix autouse invocation (off-by-one error), relates to issue in moinmoin test suite
2012-11-19 22:17:55 +01:00
holger krekel
f3e03fc298
modernize tmpdir fixture (use request.node in tmpdir fixture, use @pytest.fixture)
2012-11-19 14:07:14 +01:00
holger krekel
b940ed11a0
fix issue226 - LIFO ordering for fixture-added teardowns
2012-11-16 10:03:51 +01:00
holger krekel
c64c567b75
fix issue224 - invocations with >256 char arguments now work
2012-11-12 10:15:43 +01:00
holger krekel
4ac465acfb
allow to pass expressions to "-k" option, just like with the "-m" option
2012-11-09 12:29:33 +01:00
holger krekel
a4909a0ae4
allow to dynamically define markers (e.g. during pytest_collection_modifyitems)
2012-11-09 12:07:41 +01:00
holger krekel
33cd414420
fix issue127 improve pytest_addoption docs, add new config.getoption(name) method for consistency.
2012-11-06 14:09:12 +01:00
holger krekel
dba2a8bc64
fix issue217 - to support @mock.patch with pytest funcarg-fixtures, also split out python integration tests into python/integration.py and fix nose/mark tests
2012-11-06 11:04:11 +01:00
Ronny Pfannschmidt
b3c8991b22
add a xfailing test for issue 199
2012-11-05 21:52:12 +01:00
Ronny Pfannschmidt
df444906d6
merge pull request
2012-11-05 21:18:50 +01:00
Ronny Pfannschmidt
04754f6748
test call_optional not calling non-callable functions
2012-11-05 21:17:58 +01:00
holger krekel
7e831b66ec
fix issue148 - recognize @unittest.skip on classes, avoid setup/teardown
2012-11-03 20:54:48 +01:00
holger krekel
ba9b27fcd3
fix issue215 - refactor test_python.py into multiple files:
...
- python/collect.py cotaining the core collection nodes
- python/fixture.py containing funcargs/fixture code
- python/metafunc.py generate_tests and metafunc usage
- python/raises.py the pytest.raises implementation
2012-11-02 16:04:57 +01:00
holger krekel
fb173a97a8
extended - fix issue214 - ignore attribute-access errors with objects in test modules that can blow up (for example flask's request object)
2012-10-31 17:00:55 +01:00
Ronny Pfannschmidt
e7e5ee805f
fix issue 214 - gracefully handle proxy objects that look like fixtures
2012-10-31 17:00:43 +01:00
holger krekel
fce13c3e46
re-allow to parametrize with values that don't support __eq__ (closes issue213)
2012-10-28 14:52:43 +01:00
holger krekel
2637326782
improve support for trial a bit more: don't run trial's empty TestCase.runTest() method
2012-10-22 19:22:01 +02:00
holger krekel
aa79c0a4b9
fix unittest emulation: TestCase.runTest is now ignored
...
if there are test* methods.
2012-10-22 16:25:09 +02:00
holger krekel
05c86aeb28
make sure ihook uses a node's fspath - important for hooks
...
e.g. during a Module's collect to pick up conftest.py files
residing in the same dir
2012-10-22 16:12:22 +02:00
holger krekel
f28f073c7c
fix teardown-ordering for parametrized setups/teardowns
2012-10-22 12:16:54 +02:00
holger krekel
036557ac18
fix issue206 - unset PYTHONDONTWRITEBYTECODE in assertrewrite test
2012-10-22 11:14:18 +02:00
holger krekel
1b61fbc8ed
- fix test_nose.py by being more tolerant about the error message
...
(differs between py32 and py33, thanks Arfrever)
- use pypi again now that py is released
2012-10-22 10:55:59 +02:00
holger krekel
97f03edcd6
fix issue205 - nested conftest to pickup pycollect_makemodule - relates to the two
...
reports of a failing doc/en/example/py2py3.
2012-10-22 10:17:50 +02:00
holger krekel
d4d213f83d
some more fixes
2012-10-20 14:10:12 +02:00
holger krekel
9ed127b5da
fix issue203 - fixture functions with a scope=function should have a "self" that points to the actual instance with which the test functions run.
2012-10-20 09:59:20 +02:00
holger krekel
dca5fa2241
fixing links for 2.3 release, and fixing a windows32 failure on py3
2012-10-19 10:53:28 +02:00
holger krekel
586befb945
make usefixtures appear in py.test --markers output
2012-10-19 10:17:13 +02:00
holger krekel
b0b6695538
improve automatic id generation for parametrized tests
2012-10-19 10:07:13 +02:00
holger krekel
64544bee1a
fix trial tests
2012-10-18 15:09:20 +02:00
holger krekel
7c8755cc89
refine docs, fix a marker/keywords bit, and add a test that request.keywords points to node.keywords.
2012-10-18 15:06:55 +02:00
holger krekel
7d747a1cde
remove .markers attribute which was added in development and after 2.2.4
...
so never released. Rather extend keywords to also exist on nodes. Assigning
to node.keywords will make the value appear on all subchildren's
keywords.
2012-10-18 13:52:32 +02:00
holger krekel
67de2c53ac
fix issue198 - detection of fixtures from conftest.py files in deeper nested dir structures with certain invocations
2012-10-17 13:42:40 +02:00
holger krekel
26ab80c4cd
fix and test --fixtures location information
2012-10-17 13:12:33 +02:00
holger krekel
20849a44f5
improve --fixtures output with per-plugin grouping and hiding underscore names in non-verbose mode, re-introduce --funcargs for compatibiliy
2012-10-17 12:57:05 +02:00
holger krekel
98513b995a
simplify/integrate fixturemapper into FixtureManager
...
also fix jstests test failures
2012-10-17 11:20:45 +02:00
holger krekel
dc4e205876
typographic fixes, little simplification
2012-10-17 09:21:04 +02:00
holger krekel
cc2337af3a
refine parsefactories interface, fix two_classes test originally reported by Alex Okrushko, also add a few more tests to make sure autouse-fixtures are properly distinguished
2012-10-16 16:13:12 +02:00
holger krekel
37965657d0
make factorydeflist immutable by using an index
2012-10-16 13:59:12 +02:00
holger krekel
2f3bbdafda
use fixturemapper/fixtureinfo from Function objects
2012-10-16 13:48:00 +02:00
holger krekel
021c087701
implement fixture information stored on the parentnode of functions
...
to be reused by metafunc mechanics and Function setup
2012-10-16 13:47:59 +02:00
holger krekel
4541456a96
add plan for better fixture implementation, an xfailing test
...
and a slight refactoring of Metafunc tests/creation
2012-10-16 13:47:59 +02:00
holger krekel
f5d796b093
improve docs further, refine unittest docs, rename ``autoactive`` to ``autouse``
...
to better match ``@pytest.mark.usefixtures`` naming.
2012-10-12 14:52:36 +02:00
holger krekel
6eec2f5893
make tmpdir fixture always return a realpath()ed tmpdir and make a note
...
about it in the changed test. Currently, i don't see a reason why this
is a bad idea (tm)
2012-10-11 13:05:16 +02:00
holger krekel
0594265adc
fix output of --fixtures for @pytest.fixture defined functions.
2012-10-09 16:49:04 +02:00
holger@merlinux.eu
39b8a19cf7
Fix test for windows
2012-10-08 13:42:31 +02:00
holger krekel
df643f65f0
remove support for @pytest.fixture on classes, to be reserved for future use:
...
Fixture-classes could offer setup/teardown/addoption/configure methods
and provide higher level support. Preliminary allowing it to work on classes
may make introducing it harder.
2012-10-08 11:22:31 +02:00
holger krekel
d630d02c5b
remove pytest.setup usage
2012-10-08 08:34:21 +02:00
holger krekel
cda84fb566
- allow to use fixtures directly, i.e. without ()
...
- also allow scope to be determined by a dynamic function
2012-10-06 21:03:55 +02:00
holger krekel
d3893dd5d1
allow metafunc.parametrize(scope=...) calls to override the scope of a Fixture function definition. This is useful for cases where you want to dynamically
...
set scope and parametrization for a fixture instead of statically declaring
it on the fixture function.
2012-10-06 21:01:13 +02:00
holger krekel
55a8bfd174
fix issue197 - in case a function is parametrized with zero arguments,
...
skip it during setup
2012-10-06 11:34:06 +02:00
holger krekel
d8c365ef2c
implement pytest.mark.usefixtures and ini-file usefixtures setting
...
and also refine fixture docs a bit - fixtures.txt should now mostly
reflect the current state of the implementation
2012-10-05 19:20:40 +02:00
holger krekel
d1a3f5c3a6
make the default non-error pass simpler and faster, refine error reporting by presenting "fixture" tracebacks
2012-10-05 14:24:45 +02:00
holger krekel
bb07ba7807
rename a number of internal and externally visible variables to use the fixture name
...
rather than funcargs. Introduce .funcargnames compatibility attribute for backward compat.
2012-10-05 14:24:44 +02:00
holger krekel
8282efbb40
internally unify setup and fixture code, making setup a shortcut to fixture(autoactive=True)
2012-10-05 10:21:35 +02:00
holger krekel
9251e747af
rename pytest.factory usages into pytest.fixture ones
2012-10-05 10:21:35 +02:00
holger krekel
3049af618c
avoid pyc file issues by parametrizing the test instead of rewriting conftest.py files
2012-10-04 11:51:14 +02:00
holger krekel
5173647b4d
fixes to against python3.3
2012-10-01 10:14:54 +02:00
holger krekel
57a832812b
remove unneccessary internal __request__ funcarg.
2012-10-01 09:23:39 +02:00
holger krekel
b9767fd74c
remove print, pass python32
2012-09-27 13:27:22 +02:00
holger krekel
dbe66f468a
ensure proper calling of finalizers in case of parametrization on classes
2012-09-26 12:24:04 +02:00
Ronny Pfannschmidt
35cbb5791d
fixes issue 156: monkeypatch class level descriptors
2012-09-25 18:15:13 +02:00
holger krekel
a1c3d60747
add an xfail-ed test for a potential future "enabled" parameter to setup functions
2012-09-25 15:04:30 +02:00
holger krekel
cd1ead4f7b
- make request.funcargnames carry the closure of all used funcargs
...
- make metafunc.funcargnames carry the closure of used funcargs
2012-09-24 17:04:34 +02:00
holger krekel
7768972ec5
make sure setups are called ahead of the funcarg factories of the test function
2012-09-24 10:36:22 +02:00
holger krekel
754fab9b55
merge
2012-09-22 20:26:13 +02:00
Ronny Pfannschmidt
253a87b2dc
fix issue 191 - add support for runTest method of unittest.TestCase subclasses
2012-09-22 18:24:53 +02:00
holger krekel
81082ed3d3
extend --help to tell about --markers and --funcargs
2012-09-22 11:44:56 +02:00
holger krekel
465cfff6f9
don't call nose' setup methods if they are marked with pytest.setup
2012-09-22 00:23:36 +02:00
holger krekel
738f14a48a
improve the parametrization scenario example to sort by id, rather than by file-order, see also: http://stackoverflow.com/questions/12521924/pytest-running-scenarios-in-the-correct-order-in-the-class
2012-09-21 09:39:54 +02:00
holger krekel
6cb3281ddd
allow factory/setup-markers on classes, using their respective __init__ methods which can use the funcarg mechanism
2012-09-18 14:00:47 +02:00
holger krekel
a7c6688bd6
implement full @pytest.setup function unittest.TestCase interaction
2012-09-18 10:54:12 +02:00
holger krekel
631d311e89
- add request.node which maps to the collection node as specified by the scope.
...
- remove request.markers which is now available via request.node.markers
2012-09-17 20:43:37 +02:00
holger krekel
a94bb0a8bb
introduce a new "markers" attribute to nodes and the request object. It is
...
a dynamic class making holdin
2012-09-17 17:32:23 +02:00
holger krekel
646c2c6001
drops special testcontext object in favour of "old" request object, simplifying communication and code for the 2.2-2.3 transition. also modify docs and examples.
2012-09-17 16:36:10 +02:00
Ronny Pfannschmidt
bf5b226474
fix issue 188 - ensure sys.exc_info on py2 is clear before calling into a test
2012-09-15 15:20:49 +02:00
Ronny Pfannschmidt
bfaf8e50b6
fix issue 182: testdir.inprocess_run now considers passed plugins
2012-09-03 10:12:30 +02:00
Ronny Pfannschmidt
848c749d1a
adapt the junit xml escaping test to my escaping changes
2012-09-03 09:54:02 +02:00
holger krekel
41ad7dbae1
fix issue185 monkeypatching time.time does not cause pytest to fail
2012-09-01 09:58:10 +02:00
Benjamin Peterson
a6060dfb6d
use py3 compatible print syntax
2012-08-28 16:37:43 -04:00
Benjamin Peterson
7f36649763
remove usage of exception module, which is gone in py3.3
2012-08-28 16:35:06 -04:00
Ronny Pfannschmidt
e876ad9abd
fix issue 179 - propperly show the dependency chain of factories on setup failure
2012-08-22 21:43:42 +02:00
Ronny Pfannschmidt
503addbf09
correctly have the test for issue #[C179 actually fail
2012-08-22 21:20:18 +02:00
Ronny Pfannschmidt
1318df4f5b
add xfailing test for issue 179
2012-08-22 19:49:50 +02:00
Ronny Pfannschmidt
0e8cd9297a
fix issue 176: raises(AssertionError) now catches builtin AssertionError as well
2012-08-19 13:45:26 +02:00
Ronny Pfannschmidt
0cca20bef9
ignore magic callables with no sane code in factory/setup discovery
2012-08-19 12:36:49 +02:00
Ronny Pfannschmidt
1446b4b4e6
fix issue #178 and extend the failure escape test
2012-08-17 16:08:08 +02:00
holger krekel
627e068516
fix issue172 so that @pytest.setup marked setup_module/function... functions
...
are not called twice. Also fix ordering to that broader scoped setup
functions are executed first.
2012-08-13 13:37:14 +02:00
holger krekel
935761f098
also improve missing funcarg error for setup functions
2012-08-08 14:53:47 +02:00
holger krekel
dd268c1b2b
improve error representation for missing factory definitions
...
in recursive funcarg reconstruction
2012-08-08 11:48:53 +02:00
holger krekel
172505f703
fix/consolidate --junitxml=path construction with relative pathes
2012-08-04 10:33:43 +02:00
holger krekel
46dc7eeacb
move pytest.mark.factory/setup to pytest.factory/setup, as per flub 's suggestion
2012-08-02 12:41:46 +02:00
holger krekel
535d892f27
- rename @funcarg to @factory
...
- introduce a "testcontext" object for new-style funcargs and setup methods
- New-style funcargs and setup methods cannot use the "request" object anymore.
2012-08-01 13:57:09 +02:00
holger krekel
cb2eb9ba33
reorder internal layout so that funcarg-related functionality is in python.py
2012-08-01 09:23:39 +02:00
holger krekel
4f94ab4e42
mark a test as xfailing on python2.5
2012-08-01 09:10:40 +02:00
holger krekel
449b55cc70
- enhance ordering of tests using parametrized resources
...
- introduce a refined way to perform finalization for setup functions
which does not use cached_setup() anymore
2012-08-01 09:07:32 +02:00
holger krekel
9dc79fd187
introduce a funcargcall object, holding meta information
2012-07-30 12:39:45 +02:00
holger krekel
b57fb9fd47
introduce a SetupCall, holding meta information and setup calling state
2012-07-30 11:51:50 +02:00
holger krekel
d68c65b493
minimize active parametrized non-function scoped resources by
...
- re-ordering at collection time
- modifying setup/teardown
2012-07-30 10:46:03 +02:00
holger krekel
fa61927c6b
introduce @pytest.mark.setup decorated function,
...
extend newexamples.txt and draft a V4 resources API doc.
2012-07-24 12:10:04 +02:00
holger krekel
d4a487c725
allow funcarg factories to receive funcargs
2012-07-23 10:55:09 +02:00
holger krekel
6b0f0adf5b
implement a scope/parametrized examples using the so-far new features
...
also fix a bug with scoping/parametrization
2012-07-20 14:16:50 +02:00
holger krekel
396045e53f
allow registration of "funcarg" marked factories
2012-07-20 14:16:49 +02:00
holger krekel
80db25822c
implement funcarg factory scope marker and ScopeMismatch detection
2012-07-20 14:16:46 +02:00
holger krekel
f358fe7154
extend Metafunc and write a pytest_generate_tests hook on the funcarg manager
...
which discovers factories
2012-07-20 14:16:46 +02:00
holger krekel
e14459d45c
discover funcarg factories independently from request/Function items
2012-07-20 14:16:28 +02:00
holger krekel
4e4b507472
move funcarg factory to a new FuncargManager object at session level
2012-07-19 09:20:14 +02:00
holger krekel
c7ee6e71ab
re-introduce the old 2.2.4 FuncargRequest implementation as it is a better
...
base for implementing the new funcarg/setup api. Also Un-optimize
funcargnames discovery for now.
2012-07-18 19:49:14 +02:00
holger krekel
8adac2878f
put automatic funcarg_ API to Py*objects only, refine internal subclassing and initialisation logic
2012-07-16 10:46:44 +02:00
Benjamin Peterson
099ac1e1f4
cleanup test a bit
2012-07-07 08:01:44 -07:00
Floris Bruynooghe
1aca6c9d7c
Fix extension of of cached re-written file
...
With PYTHONOPTIMIZE set this had the extension of "o" instead of ".pyo".
Fixes issue #168 .
2012-07-07 16:09:53 +02:00
Ronny Pfannschmidt
74e55493d1
test and implement showing verbose assert repr for py.test -vv
2012-06-27 17:26:55 +02:00
holger krekel
ecec653e98
fix issue151 - heuristcally lookup conftest files on all command line arguments, not just the first existing dir/file
...
you can install the corresponding pytest-2.3.dev2 via
pip install -i http:/pypi.testrun.org -U pytest
2012-06-26 21:56:03 +02:00
holger krekel
b4b86159cd
better name for the oejskit-compatibility-class.
2012-06-25 17:49:13 +02:00
holger krekel
91b6f2bda8
mid-scale refactoring to make request API available directly on items.
...
This commit was slightly tricky because i want to backward
compatibility especially for the oejskit plugin which
uses Funcarg-filling for non-Function objects.
2012-06-25 17:35:33 +02:00
holger krekel
227d847216
fix problem with unicode in writing failure representations to terminal, thanks ThomasWaldmann
2012-06-24 16:42:31 +02:00
holger krekel
6e0c30d67d
fix skip/xfail confusion, reported and discussed on
...
http://stackoverflow.com/questions/11105828/in-py-test-when-i-explicitly-skip-a-test-that-is-marked-as-xfail-how-can-i-get
2012-06-23 11:32:32 +02:00
holger krekel
e79a312b92
fix internal test setup failure
2012-06-21 11:30:10 +02:00
holger krekel
ccc04b9fc4
some refinements to reporting and hook order
2012-06-21 11:07:22 +02:00
holger krekel
18306a4644
add header info: always report 3rd party plugins in test runs
2012-06-20 00:16:47 +02:00
holger krekel
1bbe1d086c
fix issue160 a failing setup of an xfail-marked tests should
...
be reported as xfail (not xpass)
2012-06-19 23:48:39 +02:00
holger krekel
b2e87ce027
change pluginmanager.register API to raise ValueError if the plugin object or the name is already registered
2012-06-16 21:29:04 +02:00
holger krekel
3f17784386
fix issue128 - show captured output when capsys/capfd are in use
2012-06-03 21:01:27 +02:00
holger krekel
0790f7a75f
fix issue 144 - wrong classname in junitxml
2012-05-22 17:18:04 +02:00
Ronny Pfannschmidt
db8fbe7661
skip test for pyo on pypy since pypy doesnt do pyo
2012-05-22 16:20:58 +02:00
holger krekel
51d94a4a6e
use higher difference on timing
2012-05-18 13:56:49 +02:00
holger krekel
e18abfd013
fix issue143 - call unconfigure/sessionfinish always when
...
configure/sessionstart where called
use exitcode 4 (instead of 3 which signaled an internal error)
when an initial directory/file was not found
2012-05-17 23:11:23 +02:00
Ronny Pfannschmidt
0e3779b14f
strip bound wrappers of class setup/tardown, fixes #140
...
on python3 im_func is replaced by __func__
2012-05-06 23:03:16 +02:00
Benjamin Peterson
b4588f1798
escape the % operator in string formatting
2012-05-03 13:49:30 -04:00
Benjamin Peterson
1c817aa7bd
don't use octal syntax, since its not py2/py3 compatible
2012-04-18 11:26:44 -04:00
Ronny Pfannschmidt
d02eaa8881
fix a import strange loop that affects pypy test appsupport on python2.5
2012-04-13 12:41:02 +02:00
holger krekel
58933aac2a
try to better handle @unittest.expectedFailure decorator
2012-03-19 22:53:52 -07:00
Ronny Pfannschmidt
ee8d2f9950
junitxml: use a exclusive match on the legal ranges of xml for binary escaping, fixes issue 126
2012-03-09 13:12:18 +01:00
Ronny Pfannschmidt
2ca6d9f039
no longer check if indirect metafunc.parametrize params are funcarg names
2012-02-03 16:54:00 +01:00
Ronny Pfannschmidt
78e7d7aed0
more quit collectonly shows only files and the number of tests in them
2012-02-03 16:56:06 +01:00
Ronny Pfannschmidt
68b353be0d
create session.items before preparse, so collectonly wont break on preparse fail, fixes #115
2012-02-03 16:33:32 +01:00
holger krekel
dfa273dc25
fix issue177 - actually perform session scope finalization
2012-02-01 08:52:34 -05:00
Ronny Pfannschmidt
5263656df6
kwarg support for reports, so xdist can deserialized extended reports
2012-01-20 19:50:45 +01:00
Ralf Schmitt
93424b0f9c
add monkeypatch.chdir method
2012-01-04 12:43:19 +01:00
Ralf Schmitt
4131923c0f
test that a second undo doesn't change sys.path
...
also use a 'mp' funcarg that restores sys.path and the current working
directory in preparation for the monkeypatch.chdir method.
2012-01-04 12:40:57 +01:00
holger krekel
fa6d5bd15b
work around an apparent python2.4/python2.5 bug with subprocess.Popen,
...
causing jenkins failures. Apparently "os.environ.popitem(name, None)"
is not the same as::
try:
del os.environ[name]
except KeyError:
pass
2011-12-28 15:49:13 +00:00
holger krekel
f2c8a837af
fix issue106: allow parametrize to be applied per-class/per-module
2011-12-28 15:47:19 +00:00
holger krekel
ccc1b21ebd
internally keep multiple applications of the same markers as separate
...
entities such that the new iter() API can iterate over pytest.mark
function attributes, getting all such applications. See added example
for more info.
2011-12-28 15:47:18 +00:00
holger krekel
85f2a78005
fix wrongly committed line
2011-12-28 07:57:19 +00:00
holger krekel
e21202b730
fix Jenkins test failures
2011-12-27 21:03:15 +00:00
Benjamin Peterson
8e83af1c33
fix spacing
2011-12-19 14:23:39 -05:00
Benjamin Peterson
268c051eba
propogate current PYTHONPATH
2011-12-19 12:02:07 -05:00
Benjamin Peterson
03cb37b1eb
use an exception more consistent across python versions
2011-12-19 11:56:22 -05:00
holger krekel
d5c3265763
fix issue101: wrong args to unittest.TestCase test function now
...
produce better output
2011-12-18 23:01:39 +00:00
holger krekel
5093d8b925
fix test to actually mean something useful (thanks Jurko)
2011-12-18 10:56:39 +00:00
holger krekel
40187ec9bb
robustify monkeypatch
2011-12-16 22:41:23 +00:00
holger krekel
82ba764bb6
fix unorderable types as reported by Ralf Schmitt
2011-12-14 10:56:51 +00:00
holger krekel
a94a6b4282
fix issue99 - internalerror with --resultlog now produce better output.
...
the fix depends on another change in the py lib which unifies
the output for native and non-native traceback formatting styles
2011-12-10 08:49:21 +00:00
holger krekel
8307270cec
yay! now that we have perfect teardowns we don't need some ugly internal hooks anymore.
2011-12-02 21:00:21 +00:00
holger krekel
c4fe622b82
fix issue93 - avoid "delayed" teardowns for distributed testing by
...
simplifying handling of teardowns.
2011-12-02 21:00:19 +00:00
Ronny Pfannschmidt
b28977fbaf
take the skip property of unittest cases and functions into account
2011-12-01 20:17:24 +01:00
holger krekel
a5e7b2760d
fix issue90 - perform teardown after its actual test function/item. This is implemented by modifying the runtestprotocol to remember "pending" teardowns and call them before the setup of the next item.
2011-11-18 16:01:29 +00:00
holger krekel
ec0565fac5
introduce metafunc.parametrize() and @pytest.mark.parametrize with examples. deprecate metafunc.addcall()
2011-11-17 11:09:21 +00:00
holger krekel
8f55425898
fix issue87 - pastebin option now works with python3
2011-11-15 13:35:06 +00:00
holger krekel
a51e52aee3
fix issue89 apply Daniel Nouri's patch to doctest/--pdb interaction.
2011-11-15 13:28:22 +00:00
Ronny Pfannschmidt
69dfc75572
test and fix pastebin xmlrpc import name missmatch, fixes #87
2011-11-14 17:51:12 +01:00
holger krekel
f7c1b9087a
fix test
2011-11-11 23:18:33 +00:00
holger krekel
36c42b5c15
introduce a new -m mark_expression option
2011-11-11 23:02:06 +00:00
holger krekel
bc8ee95e72
add ini-file "markers" option and a cmdline option "--markers" to show defined markers. Add "skipif", "xfail" etc. to the set of builtin markers shown with the --markers option.
2011-11-11 22:56:11 +00:00
holger krekel
979dfd20f2
add a method to the config object to dynamically add a value to an (line-type) ini-value
2011-11-11 22:56:08 +00:00
holger krekel
bd296c796f
try to avoid timing/race condition
2011-11-08 23:04:31 +00:00
holger krekel
7144cec580
avoid race condition in test, fix doc link
2011-11-08 22:06:57 +00:00
holger krekel
99a1188287
simplify durations output, no percentage, no "remaining" bits
2011-11-08 20:57:19 +00:00
holger krekel
0b18b6094e
fix duration option in case of collection errors
2011-11-08 19:00:25 +00:00
holger krekel
a324826dfd
separate out the duration tests
2011-11-08 18:12:16 +00:00
holger krekel
29bf205f3a
make --durations also show the execution times of setup/teardown calls. This requires a slight incompatibility - pytest_runtest_logreport now sees setup/teardown reports even if the tests passed.
2011-11-08 17:53:46 +00:00
holger krekel
3b9fd3abd8
introduce --durations=N showing slowest test executions
2011-11-08 17:20:56 +00:00
holger krekel
974e4e3a9d
skip the symlink test on windows, win32/py32 does not support it without privs
2011-11-07 22:00:12 +00:00
holger krekel
369b7709f7
use os.symlink to make things work on windows/py32
2011-11-07 21:02:07 +00:00
holger krekel
a2f4a11301
refine lsof/FD leakage testing and rework test setup and some of pytest own tests. Note that the actual diff to non-test code is small. Also remove some redundant tests (introduced by a copy-paste-error apparently in test_mark.py).
2011-11-07 18:08:41 +00:00
holger krekel
077c468589
don't remove symlinks from temporary directory path - should help with some standard OSX setups
2011-11-06 19:34:02 +00:00
holger krekel
d4fe273b2f
fix FD leakage during pytest's own test run and add "--lsof" option to tox default test runs.
...
the leakage came down to a problematic bit of the stdlib logging module: it takes ownerships of stdout/stderr making it hard for pytest to implement clean capturing. The current work around is to add some extra code in the setup machinery of pytest's own tests which actually closes sub-FDs.
2011-11-06 15:40:17 +00:00
Ronny Pfannschmidt
5ae04397bd
proper tests for issue74, thanks Arfrever
2011-10-26 23:59:22 +02:00
Ronny Pfannschmidt
2c230f910d
fix issue74 - propperly filter out missfit names in _tryconvertpyarg
2011-10-26 22:40:08 +02:00
Floris Bruynooghe
e2201fe3a9
Look up the pytest_assertrepr_compare hook for each test item
...
Before this was only done at the time the assertion plugin was loaded.
This lead to counter-intuitive behaviour where two subdirectories with
a pytest_assertrepr_compare hook in their conftest.py would not work,
only one would ever be used.
This defers assiging the _pytest.assertion.util._reprcompare function
until the item is loaded (pytest_runtest_setup) so that it can use the
hookrelay of the test item to find the appropriate
pytest_assertrepr_compare hook for the item.
This fixes issue #77 .
2011-10-16 11:51:15 +01:00
Benjamin Peterson
29b4082b00
put the explanation generating code in the conditional fail body ( fixes #79 )
2011-10-14 16:26:13 -04:00
Ronny Pfannschmidt
6ac638ba87
add a reportchar for reporting errors, fixes #76
2011-09-29 23:44:26 +02:00
Ronny Pfannschmidt
f2512017ea
correctly handle zero length cmdline arguments
2011-09-25 23:26:49 +02:00
holger krekel
3bd3ba133f
fix issue75 - test failure on jython.
...
also experimentally enable more tests in the jython test env.
2011-09-25 07:40:43 +02:00
holger krekel
d37af98db3
try to make test suite pass on jython 2.5.1 again
2011-09-21 08:12:37 +02:00
holger krekel
eaec527a60
relax error string matching
2011-09-21 06:21:48 +02:00
Benjamin Peterson
2bc4065a00
rewrite file newlines when the python parser is picky
2011-09-20 17:53:07 -04:00
holger krekel
5c32421f2e
merge, bump version
2011-09-12 08:57:35 +02:00
Florian Mayer
2315de8321
Add FIXME.
2011-09-05 22:01:50 +02:00
Florian Mayer
25711a0879
Add acceptance test for new --pyargs behavior.
2011-09-05 17:38:22 +02:00
Benjamin Peterson
8675cf640d
every boolop operand must have it's own format context ( fixes #69 )
2011-08-30 10:34:21 -04:00
Benjamin Peterson
661a8a4a92
only use the last part of the module name in the filename ( fixes #68 )
2011-08-30 00:12:07 -04:00
Benjamin Peterson
abe080c6b4
use different caches for optimized and unoptimized code ( fixes #66 )
2011-08-29 10:13:00 -04:00
holger krekel
fb1b1d9aae
jython-2.5.2 has a core bug preventing pytest to run :(
2011-08-19 19:25:52 +02:00
holger krekel
c426a67b0e
make test skipping more precise to fix a py32 test failure
2011-08-18 22:52:02 +02:00
Ronny Pfannschmidt
7636dc76e0
support pytest.set_trace in collection
2011-08-01 10:53:37 +02:00
Benjamin Peterson
643ab120f4
only try to create the __pycache__ dir (not a tree to it) fixes #60
...
Also, improve error handling surrounding __pycache__ creation.
2011-07-25 21:40:38 -05:00
Benjamin Peterson
f86c8469f5
now fix py3...
2011-07-19 22:56:34 -05:00
Benjamin Peterson
22335acd09
use binary mode
2011-07-19 22:45:27 -05:00
Benjamin Peterson
8b866aa065
add a newline for window's sake
2011-07-19 22:41:58 -05:00
Benjamin Peterson
2c4964d290
escape '%' in specialized comparison explanations ( fixes #63 )
2011-07-19 21:42:00 -05:00
holger krekel
650c3bcfde
enhance debug tracing: print trace tags at the end of message and forget about "prefix".
...
Always log to "pytestdebug.log" if "--debug" option is given.
also move related code to pytest_helpconfig plugin.
2011-07-14 19:11:50 +02:00
Benjamin Peterson
ade9b9aa8e
add a test for vararg call
2011-07-14 11:46:32 -05:00
Benjamin Peterson
7576b3c7d0
fix assertion rewriting on calls with a double-star arg
2011-07-14 11:45:42 -05:00
Benjamin Peterson
85415135a4
merge heads
2011-07-13 13:34:24 -05:00
Benjamin Peterson
3cc8697744
respect sys.dont_write_bytecode and PYTHONDONTWRITEBYTECODE
2011-07-13 13:33:54 -05:00
holger krekel
703da22831
put systemout/systemerr to correct xml location
2011-07-13 18:47:27 +02:00
Benjamin Peterson
14ceaf2459
fix assertion rewriting in read-only directories (refs #60 )
2011-07-12 17:09:14 -05:00
holger krekel
f3bc197afb
fix #59 : provide better Jenkins stdout and stderr sections
2011-07-12 23:09:03 +02:00
Benjamin Peterson
a59c2c9e17
roll test_long_chain in with other boolop tests
2011-07-11 09:24:07 -05:00
Michał Bartoszkiewicz
6096aeca53
Fix a typo in assertion rewriting.
2011-07-11 11:57:47 +02:00
holger krekel
d1684e8052
report keyboardintterupt even if inteerrupted during sessionstartup
2011-07-07 21:24:09 +02:00
Benjamin Peterson
6a523b4f59
make test name shorter, so its testdir path isn't too long on windows
2011-07-07 09:43:39 -05:00
Benjamin Peterson
c13fa886d9
simplify rewrite-on-import
...
Use load_module on the import hook to load the rewritten module. This allows the
removal of the complicated code related to copying pyc files in and out of the
cache location. It also plays more nicely with parallel py.test processes like
the ones found in xdist.
2011-07-06 23:24:04 -05:00
holger krekel
758b5e3511
fix issue53: nose-style setup now called with the correct ordering
2011-07-05 21:23:59 +02:00
holger krekel
46950ef19a
rename and simplify the assert option:
...
cmdline usage is now: --assert=rewrite/reinterp/plain
there is no conflict detection (don't think that's neccessary)
2011-07-05 17:29:53 +02:00
holger krekel
407ca5b120
fix python2.5 compatibility
2011-07-05 15:21:08 +02:00
Benjamin Peterson
a4fe63c08d
test files are rewritten in a subprocess
2011-07-03 19:28:48 -05:00
Benjamin Peterson
ae8ee08ac0
adjust for new option
2011-06-29 13:28:04 -05:00
Benjamin Peterson
aa7f7a1c71
rename --assertmode choices to be more explicit
2011-06-29 09:44:04 -05:00
Benjamin Peterson
48b76c7544
rewrite test modules on import
2011-06-28 21:13:12 -05:00
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
8e81ed693a
put explanation simplification in format_explanation so everyone can benefit
2011-06-12 22:41:58 -05:00
Benjamin Peterson
2618e3640f
account for quotes in error messages
2011-06-03 22:11:00 -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
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
holger krekel
8bc9fdc8d3
fix a buffering issue that i think/hope only occurs during internal tests
2011-05-29 09:21:48 +02:00
holger krekel
5e311d3bfc
fix timing float comparison
2011-05-29 00:45:31 +02:00
Ronny Pfannschmidt
5498fe960f
add another normpath in the junitxml tests
2011-05-28 19:00:23 +02:00
Ronny Pfannschmidt
4c885cf0d2
hopefully final win32 fix for the junitxml path expansion
2011-05-28 17:36:38 +02:00
Ronny Pfannschmidt
70dc7a976d
dont wrap comparisation paths in py.path.local for the junitxml tests, since missing $HOME causes issues else
2011-05-28 16:52:05 +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
971f34147a
test that tests get rewritten
2011-05-26 20:06:11 -05:00
Benjamin Peterson
7cf8afef47
cause configure hooks to be called
2011-05-26 18:10:49 -05:00
Benjamin Peterson
dd199d255c
move _setupstate into session
2011-05-26 17:08:56 -05:00
Benjamin Peterson
c4d761fe99
these tests should cause pytest_configure to be called
2011-05-26 16:50:04 -05:00
Benjamin Peterson
d438a0bd83
introduce --assertmode option
2011-05-26 14:34:27 -05:00
Benjamin Peterson
250160b4b0
refactor explanation formatting things into their own module
2011-05-26 12:01:34 -05:00
Benjamin Peterson
f423ce9c01
import assertion code from pylib
2011-05-25 17:54:02 -05:00
Benjamin Peterson
491c05cea7
create the _pytest/assertion package
2011-05-25 16:18:45 -05:00
Benjamin Peterson
c0910abf2f
account py3 range objects
2011-05-24 18:30:18 -05:00
Benjamin Peterson
fa412675fc
use py.builtin.exec_
2011-05-24 18:28:05 -05:00
Benjamin Peterson
0bb84abca7
handle comparison results which raise when asked for their truth value
2011-05-24 18:15:08 -05:00
Benjamin Peterson
f5decc90ca
test that python loads our fake pycs
2011-05-24 17:52:17 -05:00
Benjamin Peterson
76cede83c0
add a way to disable assertion rewriting for a module
2011-05-24 17:30:35 -05:00
Benjamin Peterson
9c4f6791e5
give initial imports a reasonable lineno
2011-05-24 17:21:58 -05:00
Benjamin Peterson
7ba8fee3dc
improve this test
2011-05-20 09:44:36 -05:00
Benjamin Peterson
aae89cd021
correctly handle multiple asserts
2011-05-19 18:56:48 -05:00
Benjamin Peterson
9e6dfaefd9
place assertion imports after __future__ statements and docstrings
2011-05-19 16:53:13 -05:00
Benjamin Peterson
c742e47de0
new assertion debugger which rewrites asserts before they are run
2011-05-18 15:31:10 -05:00
Ronny Pfannschmidt
b6815538c5
introduce the pytest_configure_funcargs hook for better control on funcarg instanciation/configuration
2011-05-12 23:47:05 +02:00
holger krekel
942ae47cd1
tentatively use internal list for cleanups at unconfigure time - this helps reporting with partially executed pytest_configure() hooks
2011-04-17 12:20:13 +02:00
holger krekel
06ca7090f9
fix issue38 - nicer tracebacks on sessionstart/configure (and other internal/custom hook failures)
2011-04-17 12:20:11 +02:00
Floris Bruynooghe
1c1918eb22
Prevent null-characters from appearing in junitxml's output
...
The Jenkins XML parser does not deal with null-characters inside the
XML. This replaces any null character with nothing in the XML output,
which makes no visual difference.
2011-04-16 00:09:25 +01:00
Floris Bruynooghe
60ff2e8529
Allow unicode characters in testdir.makepyfile()
...
On python2.x text arguments where passed through str, which meant only
ascii-encodable strings could be used. This uses
py.builting._totext() to keep unicode until it is written out to the
file, which was already UTF-8 encoded.
2011-04-11 23:15:56 +01:00
holger krekel
3a9788fc6f
fix missing reason/name information for skipped tests
2011-03-19 17:59:07 +01:00
holger krekel
ed6d2537bc
fix issue33 - no collection error for classes prefixed "test" deriving from object
2011-03-16 16:36:18 +01:00
holger krekel
1a7c6ecc42
fix slightly wrong verbose output for non subclasses on windows
2011-03-08 13:37:00 +01:00
holger krekel
f2670651b3
half the overhead for calling a test function by introducing some caching
2011-03-07 18:28:45 +01:00
holger krekel
c552b58dc5
fix issue27 - --collectonly and -k keyword selection now work together.
...
internally, collectonly and terminal reporting has been unified.
2011-03-06 18:32:00 +01:00
holger krekel
18e784c9c9
re-introduce pytest._fillfuncargs - it's actually used by oejskit,
...
added a test documenting this.
2011-03-06 08:56:58 +01:00
Ronny Pfannschmidt
a6c518e68c
unittest plugin: prune __unittest marked modules from traces
2011-03-05 17:49:51 +01:00
holger krekel
7e44c38570
avoid this test on pypy because syntax errors on pypy-1.4.1 are not precise it seems
2011-03-05 14:59:06 +01:00
holger krekel
bfe6e98abb
don't expose _fillfuncargs (no clue why it ever was exposed)
2011-03-05 14:29:10 +01:00
holger krekel
07cee24122
avoid deprecation warnings for our internal accesses
2011-03-05 14:16:27 +01:00
holger krekel
318e8a404b
fix and improve error reporting for parametrizing funcargs (originally reported by antlong)
2011-03-05 12:11:35 +01:00
holger krekel
070c73ff2f
fix issue30 (the second time)
...
put module globals into namespace for xfail and skipif expressions
2011-03-03 23:22:55 +01:00
holger krekel
682773e0cb
fix issue30 - better handling and reporting of errors in xfail expressions
2011-03-03 12:19:17 +01:00
holger krekel
6f3b84da9f
fix issue 28 - setup_method now works with pytest_generate_tests
2011-03-02 18:03:43 +01:00
Floris Bruynooghe
2f2586af72
Fix pytest_assertrepr_compare on python3 (issue24)
...
The maxsize argument must be an integer and the devision syntax changed
between python2 and python3.
2011-02-15 23:24:18 +00:00
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
Benjamin Peterson
f16d54f9a8
merge main
...
--HG--
branch : trunk
2010-04-23 20:28:32 -05:00
Benjamin Peterson
d909aead4e
provide encoding to dupfile() for py3
...
--HG--
branch : trunk
2010-04-23 20:27:34 -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
hpk@tannit.openend.se
4337702a6a
fixes for testrun on jython
...
--HG--
branch : trunk
2010-04-23 12:05:29 +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
c10f0c2c36
merge in fixes
...
--HG--
branch : trunk
2010-04-21 14:49:38 +02:00
holger krekel
061f4c1515
robustify check
...
--HG--
branch : trunk
2010-04-21 14:46:41 +02: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
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
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
105ed6dcaa
fix this test
...
--HG--
branch : trunk
2010-02-05 22:57:46 +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
02c129df7a
fix a test
...
--HG--
branch : trunk
2010-02-04 16:13:30 +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
4d5ea7be43
install pygments for tests
...
--HG--
branch : trunk
2010-01-27 13:02:02 +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
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
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
89068d9471
fix python2.4 issue
...
--HG--
branch : trunk
2010-01-18 02:01:16 +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
030986dcc4
reduce usage of the global py.test.config which maybe should die or become less global at some point (along with py.test.ensuretemp)
...
--HG--
branch : trunk
2010-01-13 18:04:58 +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
5c27076d32
flatten test directory hierarchy and merge smaller into larger files
...
--HG--
branch : trunk
2010-01-13 16:17:50 +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
59f3adb46b
fix reqs2 to point to released execnet
...
--HG--
branch : trunk
2010-01-12 21:57:26 +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
a9fe84d9b9
adding a second requirements file which uses execnet-1.0.2
...
--HG--
branch : trunk
2010-01-12 16:15:07 +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
3239bd250b
avoid dependency on directory ordering
...
--HG--
branch : trunk
2010-01-03 18:19:52 +01:00
holger krekel
9fcd108091
relax a test to pass on jython and fix install docs to include genscript standalone usage.
...
--HG--
branch : trunk
2010-01-03 14:19:31 +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
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
1b6391d814
higher timeout to accomodate slower execution environments
...
--HG--
branch : trunk
2010-01-02 18:32:11 +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
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
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
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
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
9be7d78fb1
some debug info aimed at helping to find out about a randomly failing test_export
...
test setup issue
--HG--
branch : trunk
2009-12-29 21:18:17 +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
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
holger krekel
abb05d9384
fixing windows32 svn-testing issues
...
--HG--
branch : trunk
2009-12-25 01:47:43 -08:00
holger krekel
516cee2a94
windows fixes and print funcargs for keyboardinterrupt traces
...
--HG--
branch : trunk
2009-12-25 09:53:36 +01:00
holger krekel
88e61467f1
fixing and cleaning up some tests
...
--HG--
branch : trunk
2009-12-25 00:24:58 +01:00
holger krekel
6d46efa87a
introduce --ignore option to ignore paths during collection
...
--HG--
branch : trunk
2009-12-24 22:23:45 +01:00
holger krekel
7864f6a4fd
rather use newest execnet always
...
--HG--
branch : trunk
2009-12-24 20:35:18 +01:00
holger krekel
51a684f488
adding pip requirements file
...
--HG--
branch : trunk
2009-12-24 20:22:19 +01:00
holger krekel
f254b6f7c1
fixes to various tests, related to execnet automatic ID generation and other bits.
...
also lowering the version as "1.1.1post1" for now. 1.1.2 is still a bit off.
--HG--
branch : trunk
2009-12-24 19:43:14 +01:00
Benjamin Peterson
ec96ab5286
2.7's TextIO requires unicode
...
--HG--
branch : trunk
2009-12-06 11:47:41 -06:00
holger krekel
56c1391a16
fix keyword calling
...
--HG--
branch : trunk
2009-11-27 20:32:21 +01:00
holger krekel
9d5b313aad
adjustments and fixes to test run, distribution files. thanks thm.
...
--HG--
branch : trunk
2009-11-24 15:16:58 +01:00
holger krekel
9652be0ac1
don't consider setuptools plugins if it is not installed.
...
--HG--
branch : trunk
2009-11-24 10:49:04 +01:00
holger krekel
ed03eef81b
introduce plugin discovery through setuptools "pytest11" entrypoints
...
and refine execnet dependency handling. Prepare 1.1 release
--HG--
branch : trunk
2009-11-23 17:20:36 +01:00
holger krekel
bcede77e45
fix a flaky test
...
--HG--
branch : trunk
2009-11-20 10:04:40 +01:00
holger krekel
452ce50d7d
fix compatibility issue with svnwc.update and put CHANGELOG to rootlevel
...
--HG--
branch : trunk
2009-11-20 00:12:06 +01:00
holger krekel
6d9e3ac686
adapt to new execnet.Group code (since execnet-1.0.0b4), strike superflous code
...
--HG--
branch : trunk
2009-11-19 23:13:29 +01:00
holger krekel
3adf6687c9
reintroduce py.test.cmdline.main() (alias for py.cmdline.pytest())
...
resolves issue #61
--HG--
branch : trunk
2009-11-19 23:13:28 +01:00
holger krekel
1a86d09da4
a few internal test related fixes as to run on a osx/no-execnet situation
...
--HG--
branch : trunk
2009-11-12 21:15:59 +01:00
holger krekel
f4ec2d1ecd
improve deprecation, start changelog
...
--HG--
branch : trunk
2009-11-12 13:10:30 +01:00
holger krekel
a4a652af85
fix a bug with svnwc.listdir() not accepting a checker(versioned=...)
...
--HG--
branch : trunk
2009-11-12 13:09:27 +01:00
holger krekel
a5a94c4e8f
largely improve and reshuffle docs, heading strongly towards a 1.1.0
...
--HG--
branch : trunk
2009-11-05 03:18:55 +01:00
holger krekel
b04a04cabd
make py lib a self-contained directory again
...
- move and merge _py/ bits back to py/
- fixes all around
--HG--
branch : trunk
2009-11-04 21:34:07 +01:00
holger krekel
6a82cdb37f
fix jython issue, flexibilize sysexec params
...
--HG--
branch : trunk
2009-10-29 23:46:14 +01:00
holger krekel
30710a9cd6
fix windows32 issues, introduce a simplistic path.samefile for it, fix tests
...
--HG--
branch : trunk
2009-10-29 20:10:05 +01:00
holger krekel
92d482069c
moving py/bin to rootlevel bin/ and fixing tests
...
--HG--
branch : trunk
2009-10-29 16:53:02 +01:00
holger krekel
cc15685015
remove pyrest and _py/rest before first 1.1. release
...
--HG--
branch : trunk
2009-10-29 12:25:47 +01:00
holger krekel
58e1693af0
fix a test-import issue occuring when there is a second 'testing' directory in PYTHONPATH or so.
...
--HG--
branch : trunk
2009-10-28 21:33:26 +01:00
holger krekel
86fc12dd15
resolves issue #59
...
resolves issue #48
Have the path.pyimport() helper raise an EnvironmentError if an
import of a given file returns a module that does not appear to
be coming from the actual path. E.g. for a directory layout like this:
a / test_whatever.py
b / test_whatever.py
calling py.path.local("b/test_whatever.py").pyimport() will
fail if the other globally scoped test_whatever module was
loaded already.
--HG--
branch : trunk
2009-10-28 19:51:20 +01:00
holger krekel
84efdacfc0
enabling assertions with jython, fixing one .format occurence
...
to provide the setting for http://paste.pocoo.org/show/147361/
--HG--
branch : trunk
2009-10-27 21:51:05 +01:00
holger krekel
d2e6cd0523
first round of fixing jython compatibility issues, marking some tests as xfail-on-jython
...
--HG--
branch : trunk
2009-10-27 21:34:11 +01:00
holger krekel
33bd39053f
using apipkg 1.0b2 snapshot version - adjusting/cleaning up some impl-detail accesses
...
--HG--
branch : trunk
2009-10-27 21:31:42 +01:00
holger krekel
cc3404b832
merged ronny's nose-compatibility hacks, i.e. nosestyle
...
setup_module() and setup() functions are supported.
added a few notes to changelog and documentation about it
--HG--
branch : trunk
2009-10-27 16:49:38 +01:00
holger krekel
2b1505c0f3
fix "py.cleanup -d" - add test and check to only remove empty dirs (!)
...
--HG--
branch : trunk
2009-10-27 16:03:14 +01:00
holger krekel
09ba42a1bb
fix bug: a false xfail expression would erranonously report XPASS on failures
...
--HG--
branch : trunk
2009-10-27 12:02:40 +01:00
holger krekel
a161a865c8
remove deprecated parser.addgroup usage in favour of getgroup
...
--HG--
branch : trunk
2009-10-27 10:03:11 +01:00
Ronny Pfannschmidt
6f80c985fb
support nose style argument-free setup/teardown functions
...
--HG--
branch : trunk
2009-10-23 16:17:06 +02:00
Ronny Pfannschmidt
8e5efa7d6d
better tests for the nose plugin, support module level teardown
...
--HG--
branch : trunk
2009-10-23 15:27:59 +02:00
Ronny Pfannschmidt
82caacd633
nosetest plugin now supports fallback to module level setup
...
--HG--
branch : trunk
2009-10-23 15:11:53 +02:00
holger krekel
6c2b1c4363
refine naming, API and docs for py.test.mark mechanism - now contained in pytest_mark plugin
...
--HG--
branch : trunk
2009-10-22 20:57:21 +02:00
holger krekel
861f34fe90
use new marking idioms, simplify generalized skipping implementation
...
--HG--
branch : trunk
2009-10-22 18:37:24 +02:00
holger krekel
4a76c096da
extend and refine test marking
...
- allow to mark tests via a "pytestmark" name at class/module level.
- make combined positional args of marker calls available via an _args argument
--HG--
branch : trunk
2009-10-22 15:21:58 +02:00
holger krekel
9ac4faf3af
don't visit '_' attributes on python objects for calling hooks
...
--HG--
branch : trunk
2009-10-21 18:44:12 +02:00
holger krekel
9910db2ca6
player nicer for missing parent Module objects for a collected function (bug triggered by oejskit)
...
--HG--
branch : trunk
2009-10-20 16:38:12 +02:00
holger krekel
80f3e33e41
deprecate addgroup / allow ordering of option groups
...
--HG--
branch : trunk
2009-10-17 17:43:33 +02:00
holger krekel
3795b08e95
add --report cmdline option, shift refined xfailed and skipped reporting to skipping plugin
...
--HG--
branch : trunk
2009-10-17 17:42:40 +02:00
holger krekel
eab7e039eb
streamline pluginmanager api and test/beautify printing of plugins with --trace
...
--HG--
branch : trunk
2009-10-17 12:56:59 +02:00
holger krekel
d8b9b5f1c8
- make importorskip static at py.test.importorskip because it's
...
used for conditional plugin loading
- fix case where xfail is defined at module/class level
- fixes and improvements to docs, correct links to plugins
- use new skip facilities here and there
--HG--
branch : trunk
2009-10-15 20:10:06 +02:00
holger krekel
3ca770b420
generalize skipping
...
- rename pytest_xfail to pytest_skip
- dynamic "skipif" and "xfail" decorators
- move most skipping code to the plugin
also coming with this commit:
- extend mark keyword to accept positional args + docs
- fix a few documentation related issues
- leave version as "trunk" for now
--HG--
branch : trunk
2009-10-15 16:18:57 +02:00
holger krekel
5e21e39125
resolve issue 54
...
triggered by @haypo's issue and patch the
process.cmdexec function now always uses
subprocess under the hood. Also fixed
some 3k related encoding issues.
--HG--
branch : trunk
2009-10-14 23:54:01 +02:00
holger krekel
1bdc0896ca
introduce "-d" to py.cleanup
...
--HG--
branch : trunk
2009-10-12 11:24:41 +02:00
holger krekel
90f39426b4
fix some tests after the py/_py split
...
--HG--
branch : trunk
2009-10-09 15:26:46 +02:00
holger krekel
f10bfbb7e5
resolves #59 - robustify unittest collection
...
--HG--
branch : trunk
2009-10-09 15:09:26 +02:00
holger krekel
6e11f8cd2a
* remove unused py._thread namespace, rewrite the one usage
...
* remove unused py/test/web directory
--HG--
branch : trunk
2009-10-03 19:57:48 +02:00
holger krekel
5791c06bf2
rewrote the initpkg mechanism and moved py lib implementation files to
...
_py/... with py/__init__.py containing pointers into them
The new apipkg is only around 70 lines of code and allows
us to get rid of the infamous "py.__." by regular non-magical
"_py." imports. It is also available as a separately installable
package, see http://bitbucket.org/hpk42/apipkg
--HG--
branch : trunk
2009-10-03 01:47:39 +02:00
holger krekel
1f29529a24
* don't add distributed command line options when 'execnet' is not
...
installed, report a nice message.
* fix tests and code to work with non-existing execnet
* point execnet doc to the new package
--HG--
branch : trunk
2009-10-02 22:29:22 +02:00
holger krekel
ab9f6a75ad
remove py.execnet, substitute py.execnet usages with "execnet" ones.
...
--HG--
branch : trunk
2009-10-02 16:58:57 +02:00
holger krekel
496e3b1138
adding internal repr for debugging
...
adding an example for generating multi-args/multi python tests
--HG--
branch : trunk
2009-09-30 18:36:04 +02:00
holger krekel
aed66120a2
fix typo, add ronny to authors, normalize email addresses
...
--HG--
branch : trunk
2009-09-30 17:59:03 +02:00
holger krekel
5914277f92
internally rename "provider" to "factory" to be consistent
...
with documentation.
--HG--
branch : trunk
2009-09-30 12:59:47 +02:00
holger krekel
98b2300266
fix cached_setup to deal properly for test_functions
...
with multiple args. closes #50
--HG--
branch : trunk
2009-09-30 12:52:40 +02:00
Ronny Pfannschmidt
2986c5dc74
simplify serializer tests
...
* use generate_tests to generate the simple non-string checks
* get rid of the TestSerializer class
--HG--
branch : trunk
2009-09-28 23:43:38 +02:00
Benjamin Peterson
7466516673
the check_sequence name is more specific
...
--HG--
branch : trunk
2009-09-28 15:55:09 -05:00
Ronny Pfannschmidt
2c523cd0d6
enhance the serializer tests
...
* use generate_tests hook to generate the serialize deserialize combinations
* add dump/load funcargs to simplify the tests
--HG--
branch : trunk
2009-09-28 22:46:32 +02:00
Ronny Pfannschmidt
40e91dcd85
add separate test for the serializer bigint fail
...
--HG--
branch : trunk
2009-09-28 22:42:36 +02:00
Benjamin Peterson
3d2975f38e
support floats
...
--HG--
branch : trunk
2009-09-26 18:26:32 -05:00
Benjamin Peterson
4d598370b4
test cross version serialization by launching subprocesses; much cleaner!
...
--HG--
branch : trunk
2009-09-26 12:35:24 -05:00
Benjamin Peterson
1e71a5c392
Add a simple (hopefully) cross-python marshaller
...
Will rewrite the tests soon...
--HG--
branch : trunk
2009-09-22 21:08:40 -05:00
Benjamin Peterson
8af3ede092
allow a path to explicity given for py.lookup
...
--HG--
branch : trunk
2009-09-22 21:04:25 -05:00
holger krekel
6ddea4a1bc
visit() now returns paths in depth-first order. fixes issue #47
...
--HG--
branch : trunk
2009-09-22 19:13:33 +02:00
holger krekel
e3b34c9da3
* allowing arbitrary keys for xspecs but adding some sanity checks to xspec-parsing and makegateway.
...
* fixing a python3 IO issue - we need to retain sys.stdout/stdin
references to keep the underlying byte stream open.
--HG--
branch : trunk
2009-09-22 18:40:20 +02:00
Samuele Pedroni
1b97d06a09
(micke, pedronis)
...
teach the resultlog plugin about the xfail tweaked outcomes
--HG--
branch : trunk
2009-09-17 15:31:35 +02:00
Benjamin Peterson
81062c5e2f
compiling AST to code is new in python 2.6
...
--HG--
branch : trunk
2009-09-11 15:24:43 -05:00
holger krekel
47bad98c07
* various cleanups and detailed doc string for gateway_base module
...
* remove old multi-file-send mechanism/tests now that
only gateway_base is send to the other side.
* adding some (c) notices where i am pretty sure about them.
--HG--
branch : trunk
2009-09-11 16:26:19 +02:00
holger krekel
22c1ad9f7b
fix a bug with funcarg setup and remove XXX comment because "scope=module" now would work but leaving it as session for now.
...
--HG--
branch : trunk
2009-09-09 23:07:42 +02:00
holger krekel
6d84da39e4
some doc about the experiemntal pytest_gwmanage_newgateway hook.
...
and use process-scope for execnet test funcargs because
of weird setup/teardown issues when running distributedly itself.
--HG--
branch : trunk
2009-09-09 20:45:51 +02:00
holger krekel
5df58c619d
* move gateway management code to py/test/dist because it's not clear
...
how generally useful it is.
* provide pytest_dist_makegateway(txspec) hook so that plugins
can add their own interpretation/keywords.
--HG--
branch : trunk
2009-09-09 20:12:03 +02:00
holger krekel
8ea2364039
ups, forgot to add a neccessary file.
...
--HG--
branch : trunk
2009-09-09 15:36:53 +02:00
holger krekel
b70c7a209d
* moving execnet tests to funcarg-style, some cleanup
...
* slight refinement to FAQ license topic
--HG--
branch : trunk
2009-09-08 10:10:36 +02:00
holger krekel
0f29b503ef
monkeypatch, doc, apiwarn, deprecation fixes
...
--HG--
branch : trunk
2009-09-07 17:53:50 +02:00
holger krekel
29d437489d
some fixes to support Jython better
...
--HG--
branch : trunk
2009-09-07 14:59:26 +02:00
holger krekel
c8119d89b6
move test files out of py lib proper
...
* separate all tests from plugins
* simplify implicit inclusion of plugins under test
* have test_initpkg perform direct checks instead of yielding tests
* fix example tests for 3k
--HG--
branch : trunk
2009-09-06 16:59:39 +02:00