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