holger krekel
a9d1f40c29
merge, add changelog entry
2013-11-02 07:04:26 +01:00
holger krekel
cf9d345382
fix unicode handling with junitxml, fixes issue368.
2013-10-21 16:54:25 +02:00
holger krekel
0d8392bc45
fix unicode handling with new monkeypatch.setattr(import_path, value)
...
API. Thanks Rob Dennis. Fixes issue371.
2013-10-21 14:01:02 +02:00
holger krekel
b0a5740898
fix changelog
2013-10-21 13:34:24 +02:00
holger krekel
bc8c4b3ebd
pytestconfig is now session-config as it is the same object during the
...
whole test run. Fixes issue370
2013-10-21 13:33:36 +02:00
holger krekel
d81b703f10
avoid one surprising case of marker malfunction/confusion::
...
@pytest.mark.some(lambda arg: ...)
def test_function():
would not work correctly because pytest assumes @pytest.mark.some
gets a function to be decorated already. We now at least detect if this
arg is an lambda and thus the example will work. Thanks Alex Gaynor
for bringing it up.
2013-10-11 14:36:54 +02:00
holger krekel
1265cb9952
add changelog entry: refine pytest / pkg_resources interactions: The
...
AssertionRewritingHook PEP302 compliant loader now registers itself with
setuptools/pkg_resources properly so that the
pkg_resources.resource_stream method works properly. Fixes issue366.
Thanks for the investigations and full PR to Jason R. Coombs.
2013-10-11 09:29:28 +02:00
holger krekel
a5d4c20905
make "--runxfail" turn imperative pytest.xfail calls into no ops
...
(it already did neutralize pytest.mark.xfail markers)
2013-10-09 22:55:20 +02:00
Benjamin Peterson
56e6ae567c
fix detection of the coding cookie when it is on the second line of the file ( fixes #330 )
2013-10-05 15:16:08 -04:00
Benjamin Peterson
33b663e03d
fix coding cookie detection logic
2013-10-05 15:03:04 -04:00
holger krekel
018860d626
finalize release announcement, changelog
2013-10-04 12:34:47 +02:00
holger krekel
19a76337a4
add pluginmanager.do_configure(config) as a link to
...
config.do_configure() for plugin-compatibility
add some more plugins to plugin-test.sh
2013-10-04 11:36:45 +02:00
holger krekel
0780f2573f
bump version to 2.4.2, regen docs
2013-10-03 19:09:18 +02:00
holger krekel
cec7d47c1f
remove fd-fixing attempt at startup of pytest. It's
...
not clear it's actually needed and it's not nice
to still do FD-dupping when "-s" is specified.
2013-10-03 18:53:40 +02:00
holger krekel
cb65c56037
fix issue365 and depend on a newer py versions which uses colorama
...
for coloring instead of its own ctypes hacks.
2013-10-03 17:46:36 +02:00
holger krekel
2248a31a44
more fixes regarding marking, in particular plugins should use add_marker/get_marker now.
2013-10-03 15:43:56 +02:00
holger krekel
9fdfa155fb
fix issue354: avoid tmpdir fixture to create too long filenames especially
...
when parametrization is used
2013-10-03 14:22:54 +02:00
holger krekel
e49eca8d59
simplify the implementation of NodeKeywords getting rid of __ descriptors appearing there.
2013-10-03 13:53:22 +02:00
holger krekel
071960250f
avoid "IOError: Bad Filedescriptor" on pytest shutdown by not closing
...
the internal dupped stdout (fix is slightly hand-wavy but work).
2013-10-02 12:39:01 +02:00
holger krekel
d3c9927fee
fix regression reported by dstufft: regression when a 1-tuple ("arg",) is used
...
for specifying parametrization (the values of the parametrization were passed
nested in a tuple).
2013-10-02 08:08:26 +02:00
holger krekel
acc5679bc8
adapt changelog
2013-10-02 07:56:30 +02:00
holger krekel
c62bfaefd6
add to CHANGELOG
2013-10-01 22:39:23 +02:00
Floris Bruynooghe
1db6fc87c7
Allow unicode strings in parser.add_argument()
...
This fixes issue360 by also converting unicode strings to the argparse
syntax instead of just native strings.
2013-10-01 13:20:20 +01:00
holger krekel
895d52471b
bump version to dev again, new CHANGELOG section for 2.4.1.dev.
2013-10-01 12:51:52 +02:00
holger krekel
f9927e457b
bump version to 2.4.0
2013-10-01 10:43:36 +02:00
holger krekel
2c7d00579b
bump version, some windows test fixes, prevent logging from raising exceptions at the end (finally), add py25 to tox.ini.
2013-09-30 16:09:26 +02:00
holger krekel
de35b077a2
disallow yield in non-yield-fixtures for now. This is an incompataibility but we want to prepare for possibly merging fixture and yield_fixture some day.
2013-09-30 13:56:54 +02:00
holger krekel
086d4e4ced
strike keyword argument in favour of new pytest.yield_fixture decorator
2013-09-30 13:42:39 +02:00
holger krekel
431ce79d94
add missing entry to CHANGELOG
2013-09-30 13:23:32 +02:00
holger krekel
db6f347db6
fix issue358 -- introduce new pytest_load_initial_conftests hook and make capturing initialization use it, relying on a new (somewhat internal) parser.parse_known_args() method.
...
This also addresses issue359 -- plugins like pytest-django could implement a pytest_load_initial_conftests hook like the capture plugin.
2013-09-30 13:14:16 +02:00
holger krekel
ac19212b2d
remove very likely unused pytest_plugin_unregister hook (pytest itself and all plugins i know don't use it)
2013-09-28 22:22:57 +02:00
holger krekel
1fc466e8ac
add terminalreporter.section|line methods to print extra information.
2013-09-27 15:48:03 +02:00
holger krekel
209a0cd5b2
is actually a new feature, the syntax: pytest.mark.parametrize("arg1,arg2", ...)
2013-09-27 14:15:53 +02:00
holger krekel
9ddfd62848
re-order CHANGELOG and group it into "features" and "bugs" and "known incompatibilities"
2013-09-27 12:58:26 +02:00
holger krekel
39503932a4
merge monkeypatch.replace into monkeypatch.setattr, also support monkeypatch.delattr.
2013-09-27 12:33:06 +02:00
holger krekel
2bdd034242
fix issue355: junitxml generates name="pytest" tag.
2013-09-26 08:45:50 +02:00
holger krekel
d565df90ad
fix issue333: fix a case of bad unittest/pytest hook interaction.
2013-09-09 09:56:53 +02:00
holger krekel
c478027805
make "import pdb ; pdb.set_trace()" work natively wrt capturing (no "-s" needed
...
anymore), turning ``pytest.set_trace()`` into a mere shortcut.
2013-09-06 15:29:00 +02:00
holger krekel
94ee37cdb3
- fix issue181: --pdb now also works on collect errors. This was
...
implemented by a slight internal refactoring and the introduction
of a new hook ``pytest_exception_interact`` hook.
- fix issue341: introduce new experimental hook for IDEs/terminals to
intercept debugging: ``pytest_exception_interact(node, call, report)``.
2013-09-06 11:56:04 +02:00
holger krekel
517d498285
fix issue169: respect --tb=style with setup/teardown errors as well.
2013-09-05 15:43:19 +02:00
holger krekel
ca7c1f5d8e
merge pull request #27 : correctly handle nose.SkipTest during collection. Thanks
...
Antonio Cuni, Ronny Pfannschmidt. I did a few tweaks to the test and the
activation (depending on if unittest is imported at all).
2013-08-16 11:33:58 +02:00
holger krekel
4b88d6d2d7
monkeypatch.replace() now only accepts a string. Improved error handling and
...
docs thanks to suggestions from flub, pelme, schmir, ronny.
2013-08-07 16:49:29 +02:00
holger krekel
407283ef81
a new monkeypatch.replace(target, value) call which derives the
...
monkeypatch location from target (can be class/module/function or
string which is taken as importable python path)
examples:
monkeypatch.replace(os.path.abspath, lambda x: "")
monkeypatch.replace("requests.get", ...)
2013-08-07 15:35:27 +02:00
holger krekel
7d86827b5e
ref #322 cleanup all teardown calling to only happen when setup succeeded.
...
don't use autouse fixtures for now because it would cause a proliferation
and overhead for the execution of every test. Rather introduce a
node.addfinalizer(fin) to attach a finalizer to the respective node
and call it from node.setup() functions if the setup phase succeeded
(i.e. there is no setup function or it finished successfully)
2013-08-02 09:52:40 +02:00
holger krekel
b2ebb80878
fix issue322: tearDownClass is not run if setUpClass failed. Thanks
...
Mathieu Agopian for fixing. The patch moves handling setUpClass
into a new autofixture. (XXX impl-decide if rather adding addfinalizer()
API to node's would have a similar effect)
2013-08-02 00:02:28 +02:00
Ronny Pfannschmidt
3b85a56db2
merge
2013-08-01 22:55:16 +02:00
Ronny Pfannschmidt
743711cd1f
fix issue317: assertion rewriter support for the is_package method
2013-08-01 22:11:18 +02:00
Floris Bruynooghe
cfe1d4f7c9
mention fix for issue 336 in changelog
2013-08-01 19:03:53 +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
Floris Bruynooghe
18fa7d866d
Close issue 279: improved assertrepr_compare
2013-08-01 15:02:58 +01: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
b60a8c12d5
fix Mathieu's name.
2013-08-01 12:12:09 +02:00
holger krekel
a24c7b42f1
add changelog entry for fixed issue 335.
2013-08-01 11:36:05 +02:00
holger krekel
1023390f53
fix issue334: don't recommend distribute but setuptools everywhere, also remove implicit distribute_setup support from setup.py.
2013-08-01 09:42:44 +02:00
holger krekel
46901fb813
fix issue338: honor --tb style for setup/teardown errors as well. Thanks Maho.
...
(this is just changing the CHANGELOG entry because the bug was already fixed earlier)
2013-08-01 07:43:00 +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
holger krekel
788303523e
add changelog: integrate option tab-completion when argcomplete is used. Thanks
...
Anthon van der Neut for the PR. This also lets pytest use argparse
instead of optparse.
2013-07-26 07:51:33 +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
c53556b88d
paint last line red if "failures" or "errors" occured, attribute theuni
2013-07-17 09:31:55 +02:00
holger krekel
ca8281f229
merge better parametrize error messages, thanks Brianna Laugher
2013-07-16 15:32:05 +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
holger krekel
a00b516f9a
add kasia to changelog
2013-07-06 17:06:51 +02:00
Floris Bruynooghe
1a319056fc
Mention issue 300 in changelog
2013-07-06 11:00:29 +02:00
holger krekel
c4c966683c
fix issue323 - parametrize() of many module-scoped params
2013-06-28 12:57:10 +02:00
holger krekel
f9720a38fe
mention added support for setUpModule/tearDownModule detection, thanks Brian Okken.
2013-06-23 09:24:48 +02: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
holger krekel
da1996b5f5
fix issue316 - properly reference collection hooks in docs
2013-06-03 10:04:50 +02: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
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
holger krekel
afbeb056f0
added changelog for improved doctest counting
2013-05-17 20:48:51 +02:00
holger krekel
e6e86fa462
fix issue307 - use yaml.safe_load instead of yaml.load, thanks Mark Eichin.
2013-05-16 09:59:48 +02:00
holger krekel
5a1ce3c45c
add Jaap Broekhuizen for junitxml gen
2013-05-10 08:14:39 +02:00
holger krekel
67279418ff
fix junitxml generation when test output contains control characters,
...
addressing issue267
2013-05-10 08:13:35 +02:00
holger krekel
c610c903f6
mention --tb style change in changelog
2013-05-09 15:50:28 +02:00
holger krekel
36e7cc1b9c
honor --tb style for setup/teardown errors as well.
2013-05-09 15:50:09 +02:00
holger krekel
150ad0172f
document context fixtures, also improve plugin docs
2013-05-07 21:37:08 +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
51688270ac
implemented as context managers. Thanks Andreas Pelme,
...
ladimir Keleshev.
fix issue245 by depending on the released py-1.4.14
which fixes py.io.dupfile to work with files with no
mode. Thanks Jason R. Coombs.
2013-05-07 10:53:31 +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
c5f9958783
never consider a fixture function for test function collection
2013-04-29 10:31:51 +02: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
holger krekel
0bc98eb9d2
add to changelog: put captured stdout/stderr into junitxml output even
...
for passing tests (thanks Adam Goucher)
2013-04-16 09:14:47 +02: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
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
Benjamin Peterson
5e479c94ce
disable assertion rewriting on CPython 2.6.0 because of bugs ( fixes #280 )
2013-03-21 12:19:01 -05:00
holger krekel
1884be0121
added changelog entry for getfixture() for doctests
2013-03-21 12:41:39 +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
850fd2b7f7
Mention fix of issue 266 in changelog
2013-02-15 13:28:26 +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
d23f9fab46
update changelog
2013-02-14 13:17:05 +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
Ronny Pfannschmidt
162c3689c6
fix issue 260 - don't use nose specials on plain unittest cases
2013-02-07 17:53:13 +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
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
holger krekel
3d79e7060e
allow to specify prefixes starting with "_" when
...
customizing python_functions test discovery. (thanks Graham Horler)
2012-11-28 09:23:36 +01: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
b97de57ebe
improve docstring for metafunc.parametrize()
2012-11-21 10:13:44 +01:00
holger krekel
03445913e0
reanme README.txt to README.rst
2012-11-20 14:37:39 +01:00
holger krekel
8580058ffb
move long description into README
2012-11-20 14:24:26 +01:00
holger krekel
1c9ef2443f
bump version, fix -k option help
2012-11-20 14:20:39 +01:00
holger krekel
765b053984
bump version, add announcement, regen docs
2012-11-20 13:42:00 +01:00
holger krekel
7f403950ad
adapt changelog entry about autouse fixtures and yield
2012-11-19 22:20:37 +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
b940ed11a0
fix issue226 - LIFO ordering for fixture-added teardowns
2012-11-16 10:03:51 +01:00
holger krekel
e15da7cbef
add a note about yield tests at least in the CHANGELOG
2012-11-14 10:02:47 +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
ff0c75aa34
- add a Package/dir level setup example
...
- make tox.ini's doc/regen use pytest release instead of dev version
2012-11-07 11:11:40 +01:00
holger krekel
65d6ebe7d1
bump to 2.3.3, add release announce
2012-11-06 14:41:10 +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
holger krekel
f203401964
amend changelog entries
2012-11-06 09:27:58 +01:00
holger krekel
c64699bba6
fix issue219 - add trove classifiers for py24-py33
2012-11-06 09:14:41 +01:00
Ronny Pfannschmidt
1a41c9c001
update changelog
2012-11-05 21:31:08 +01:00
holger krekel
d5ad91c64f
fix issue209 - depend on pylib dev version which again supports python2.4
2012-11-05 12:21: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
6ad16936bb
bump version to 2.3.2, regen docs and changelog
2012-10-25 13:48:31 +02:00
holger krekel
bcb8dc71d2
fix issue208 and fix issue29 - avoid long pauses in traceback printing
...
by using the new getstatementrange() code of the py lib which uses
AST-parsing rather than the previous heuristic which had O(n^2) complexity
(with n = len(sourcelines))
- require new (in-dev) py version to
2012-10-25 12:08:11 +02:00
holger krekel
b8277bfed8
fix issue127 - improve pytest_addoption and related documentation
2012-10-25 11:07:07 +02: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
720fe3405b
allow to run self-tests with "python setup.py test" for pytest tests itself
2012-10-20 17:32:03 +02:00
holger krekel
c894b2b459
add tox.ini to distribution
2012-10-20 17:08:02 +02:00
holger krekel
d4d213f83d
some more fixes
2012-10-20 14:10:12 +02:00
holger krekel
f41f7fda68
improve --markers output
2012-10-20 13:56:53 +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
0852e84d9f
skip pexpect using tests on freebsd
2012-10-19 15:59:29 +02:00
holger krekel
76db624639
start new dev cycle
2012-10-19 15:01:29 +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
b0b6695538
improve automatic id generation for parametrized tests
2012-10-19 10:07:13 +02:00
holger krekel
024df6e00b
some more finalization of docs
2012-10-19 10:07:11 +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
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
5173647b4d
fixes to against python3.3
2012-10-01 10:14:54 +02:00
Ronny Pfannschmidt
35cbb5791d
fixes issue 156: monkeypatch class level descriptors
2012-09-25 18:15:13 +02:00