diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/tools/pytest/doc/en/announce | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/tools/pytest/doc/en/announce')
41 files changed, 2881 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/index.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/index.rst new file mode 100644 index 000000000..877afff77 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/index.rst @@ -0,0 +1,48 @@ + +Release announcements +=========================================== + +.. toctree:: + :maxdepth: 2 + + + sprint2016 + release-2.9.0 + release-2.8.7 + release-2.8.6 + release-2.8.5 + release-2.8.4 + release-2.8.3 + release-2.8.2 + release-2.7.2 + release-2.7.1 + release-2.7.0 + release-2.6.3 + release-2.6.2 + release-2.6.1 + release-2.6.0 + release-2.5.2 + release-2.5.1 + release-2.5.0 + release-2.4.2 + release-2.4.1 + release-2.4.0 + release-2.3.5 + release-2.3.4 + release-2.3.3 + release-2.3.2 + release-2.3.1 + release-2.3.0 + release-2.2.4 + release-2.2.2 + release-2.2.1 + release-2.2.0 + release-2.1.3 + release-2.1.2 + release-2.1.1 + release-2.1.0 + release-2.0.3 + release-2.0.2 + release-2.0.1 + release-2.0.0 + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.0.rst new file mode 100644 index 000000000..af745fc59 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.0.rst @@ -0,0 +1,129 @@ +py.test 2.0.0: asserts++, unittest++, reporting++, config++, docs++ +=========================================================================== + +Welcome to pytest-2.0.0, a major new release of "py.test", the rapid +easy Python testing tool. There are many new features and enhancements, +see below for summary and detailed lists. A lot of long-deprecated code +has been removed, resulting in a much smaller and cleaner +implementation. See the new docs with examples here: + + http://pytest.org/2.0.0/index.html + +A note on packaging: pytest used to part of the "py" distribution up +until version py-1.3.4 but this has changed now: pytest-2.0.0 only +contains py.test related code and is expected to be backward-compatible +to existing test code. If you want to install pytest, just type one of:: + + pip install -U pytest + easy_install -U pytest + +Many thanks to all issue reporters and people asking questions or +complaining. Particular thanks to Floris Bruynooghe and Ronny Pfannschmidt +for their great coding contributions and many others for feedback and help. + +best, +holger krekel + + +New Features +----------------------- + +- new invocations through Python interpreter and from Python:: + + python -m pytest # on all pythons >= 2.5 + + or from a python program:: + + import pytest ; pytest.main(arglist, pluginlist) + + see http://pytest.org/2.0.0/usage.html for details. + +- new and better reporting information in assert expressions + if comparing lists, sequences or strings. + + see http://pytest.org/2.0.0/assert.html#newreport + +- new configuration through ini-files (setup.cfg or tox.ini recognized), + for example:: + + [pytest] + norecursedirs = .hg data* # don't ever recurse in such dirs + addopts = -x --pyargs # add these command line options by default + + see http://pytest.org/2.0.0/customize.html + +- improved standard unittest support. In general py.test should now + better be able to run custom unittest.TestCases like twisted trial + or Django based TestCases. Also you can now run the tests of an + installed 'unittest' package with py.test:: + + py.test --pyargs unittest + +- new "-q" option which decreases verbosity and prints a more + nose/unittest-style "dot" output. + +- many many more detailed improvements details + +Fixes +----------------------- + +- fix issue126 - introduce py.test.set_trace() to trace execution via + PDB during the running of tests even if capturing is ongoing. +- fix issue124 - make reporting more resilient against tests opening + files on filedescriptor 1 (stdout). +- fix issue109 - sibling conftest.py files will not be loaded. + (and Directory collectors cannot be customized anymore from a Directory's + conftest.py - this needs to happen at least one level up). +- fix issue88 (finding custom test nodes from command line arg) +- fix issue93 stdout/stderr is captured while importing conftest.py +- fix bug: unittest collected functions now also can have "pytestmark" + applied at class/module level + +Important Notes +-------------------- + +* The usual way in pre-2.0 times to use py.test in python code was + to import "py" and then e.g. use "py.test.raises" for the helper. + This remains valid and is not planned to be deprecated. However, + in most examples and internal code you'll find "import pytest" + and "pytest.raises" used as the recommended default way. + +* pytest now first performs collection of the complete test suite + before running any test. This changes for example the semantics of when + pytest_collectstart/pytest_collectreport are called. Some plugins may + need upgrading. + +* The pytest package consists of a 400 LOC core.py and about 20 builtin plugins, + summing up to roughly 5000 LOCs, including docstrings. To be fair, it also + uses generic code from the "pylib", and the new "py" package to help + with filesystem and introspection/code manipulation. + +(Incompatible) Removals +----------------------------- + +- py.test.config is now only available if you are in a test run. + +- the following (mostly already deprecated) functionality was removed: + + - removed support for Module/Class/... collection node definitions + in conftest.py files. They will cause nothing special. + - removed support for calling the pre-1.0 collection API of "run()" and "join" + - removed reading option values from conftest.py files or env variables. + This can now be done much much better and easier through the ini-file + mechanism and the "addopts" entry in particular. + - removed the "disabled" attribute in test classes. Use the skipping + and pytestmark mechanism to skip or xfail a test class. + +- py.test.collect.Directory does not exist anymore and it + is not possible to provide an own "Directory" object. + If you have used this and don't know what to do, get + in contact. We'll figure something out. + + Note that pytest_collect_directory() is still called but + any return value will be ignored. This allows to keep + old code working that performed for example "py.test.skip()" + in collect() to prevent recursion into directory trees + if a certain dependency or command line option is missing. + + +see :ref:`changelog` for more detailed changes. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.1.rst new file mode 100644 index 000000000..2f41ef943 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.1.rst @@ -0,0 +1,67 @@ +py.test 2.0.1: bug fixes +=========================================================================== + +Welcome to pytest-2.0.1, a maintenance and bug fix release of pytest, +a mature testing tool for Python, supporting CPython 2.4-3.2, Jython +and latest PyPy interpreters. See extensive docs with tested examples here: + + http://pytest.org/ + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +Many thanks to all issue reporters and people asking questions or +complaining. Particular thanks to Floris Bruynooghe and Ronny Pfannschmidt +for their great coding contributions and many others for feedback and help. + +best, +holger krekel + +Changes between 2.0.0 and 2.0.1 +---------------------------------------------- + +- refine and unify initial capturing so that it works nicely + even if the logging module is used on an early-loaded conftest.py + file or plugin. +- fix issue12 - show plugin versions with "--version" and + "--traceconfig" and also document how to add extra information + to reporting test header +- fix issue17 (import-* reporting issue on python3) by + requiring py>1.4.0 (1.4.1 is going to include it) +- fix issue10 (numpy arrays truth checking) by refining + assertion interpretation in py lib +- fix issue15: make nose compatibility tests compatible + with python3 (now that nose-1.0 supports python3) +- remove somewhat surprising "same-conftest" detection because + it ignores conftest.py when they appear in several subdirs. +- improve assertions ("not in"), thanks Floris Bruynooghe +- improve behaviour/warnings when running on top of "python -OO" + (assertions and docstrings are turned off, leading to potential + false positives) +- introduce a pytest_cmdline_processargs(args) hook + to allow dynamic computation of command line arguments. + This fixes a regression because py.test prior to 2.0 + allowed to set command line options from conftest.py + files which so far pytest-2.0 only allowed from ini-files now. +- fix issue7: assert failures in doctest modules. + unexpected failures in doctests will not generally + show nicer, i.e. within the doctest failing context. +- fix issue9: setup/teardown functions for an xfail-marked + test will report as xfail if they fail but report as normally + passing (not xpassing) if they succeed. This only is true + for "direct" setup/teardown invocations because teardown_class/ + teardown_module cannot closely relate to a single test. +- fix issue14: no logging errors at process exit +- refinements to "collecting" output on non-ttys +- refine internal plugin registration and --traceconfig output +- introduce a mechanism to prevent/unregister plugins from the + command line, see http://pytest.org/latest/plugins.html#cmdunregister +- activate resultlog plugin by default +- fix regression wrt yielded tests which due to the + collection-before-running semantics were not + setup as with pytest 1.3.4. Note, however, that + the recommended and much cleaner way to do test + parametrization remains the "pytest_generate_tests" + mechanism, see the docs. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.2.rst new file mode 100644 index 000000000..733a9f7bd --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.2.rst @@ -0,0 +1,73 @@ +py.test 2.0.2: bug fixes, improved xfail/skip expressions, speed ups +=========================================================================== + +Welcome to pytest-2.0.2, a maintenance and bug fix release of pytest, +a mature testing tool for Python, supporting CPython 2.4-3.2, Jython +and latest PyPy interpreters. See the extensive docs with tested examples here: + + http://pytest.org/ + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +Many thanks to all issue reporters and people asking questions +or complaining, particularly Jurko for his insistence, +Laura, Victor and Brianna for helping with improving +and Ronny for his general advise. + +best, +holger krekel + +Changes between 2.0.1 and 2.0.2 +---------------------------------------------- + +- tackle issue32 - speed up test runs of very quick test functions + by reducing the relative overhead + +- fix issue30 - extended xfail/skipif handling and improved reporting. + If you have a syntax error in your skip/xfail + expressions you now get nice error reports. + + Also you can now access module globals from xfail/skipif + expressions so that this for example works now:: + + import pytest + import mymodule + @pytest.mark.skipif("mymodule.__version__[0] == "1") + def test_function(): + pass + + This will not run the test function if the module's version string + does not start with a "1". Note that specifying a string instead + of a boolean expressions allows py.test to report meaningful information + when summarizing a test run as to what conditions lead to skipping + (or xfail-ing) tests. + +- fix issue28 - setup_method and pytest_generate_tests work together + The setup_method fixture method now gets called also for + test function invocations generated from the pytest_generate_tests + hook. + +- fix issue27 - collectonly and keyword-selection (-k) now work together + Also, if you do "py.test --collectonly -q" you now get a flat list + of test ids that you can use to paste to the py.test commandline + in order to execute a particular test. + +- fix issue25 avoid reported problems with --pdb and python3.2/encodings output + +- fix issue23 - tmpdir argument now works on Python3.2 and WindowsXP + Starting with Python3.2 os.symlink may be supported. By requiring + a newer py lib version the py.path.local() implementation acknowledges + this. + +- fixed typos in the docs (thanks Victor Garcia, Brianna Laugher) and particular + thanks to Laura Creighton who also revieved parts of the documentation. + +- fix slighly wrong output of verbose progress reporting for classes + (thanks Amaury) + +- more precise (avoiding of) deprecation warnings for node.Class|Function accesses + +- avoid std unittest assertion helper code in tracebacks (thanks Ronny) diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.3.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.3.rst new file mode 100644 index 000000000..ed746e851 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.0.3.rst @@ -0,0 +1,40 @@ +py.test 2.0.3: bug fixes and speed ups +=========================================================================== + +Welcome to pytest-2.0.3, a maintenance and bug fix release of pytest, +a mature testing tool for Python, supporting CPython 2.4-3.2, Jython +and latest PyPy interpreters. See the extensive docs with tested examples here: + + http://pytest.org/ + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +There also is a bugfix release 1.6 of pytest-xdist, the plugin +that enables seemless distributed and "looponfail" testing for Python. + +best, +holger krekel + +Changes between 2.0.2 and 2.0.3 +---------------------------------------------- + +- fix issue38: nicer tracebacks on calls to hooks, particularly early + configure/sessionstart ones + +- fix missing skip reason/meta information in junitxml files, reported + via http://lists.idyll.org/pipermail/testing-in-python/2011-March/003928.html + +- fix issue34: avoid collection failure with "test" prefixed classes + deriving from object. + +- don't require zlib (and other libs) for genscript plugin without + --genscript actually being used. + +- speed up skips (by not doing a full traceback represenation + internally) + +- fix issue37: avoid invalid characters in junitxml's output + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.0.rst new file mode 100644 index 000000000..831548ac2 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.0.rst @@ -0,0 +1,47 @@ +py.test 2.1.0: perfected assertions and bug fixes +=========================================================================== + +Welcome to the release of pytest-2.1, a mature testing tool for Python, +supporting CPython 2.4-3.2, Jython and latest PyPy interpreters. See +the improved extensive docs (now also as PDF!) with tested examples here: + + http://pytest.org/ + +The single biggest news about this release are **perfected assertions** +courtesy of Benjamin Peterson. You can now safely use ``assert`` +statements in test modules without having to worry about side effects +or python optimization ("-OO") options. This is achieved by rewriting +assert statements in test modules upon import, using a PEP302 hook. +See http://pytest.org/assert.html#advanced-assertion-introspection for +detailed information. The work has been partly sponsored by my company, +merlinux GmbH. + +For further details on bug fixes and smaller enhancements see below. + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel / http://merlinux.eu + +Changes between 2.0.3 and 2.1.0 +---------------------------------------------- + +- fix issue53 call nosestyle setup functions with correct ordering +- fix issue58 and issue59: new assertion code fixes +- merge Benjamin's assertionrewrite branch: now assertions + for test modules on python 2.6 and above are done by rewriting + the AST and saving the pyc file before the test module is imported. + see doc/assert.txt for more info. +- fix issue43: improve doctests with better traceback reporting on + unexpected exceptions +- fix issue47: timing output in junitxml for test cases is now correct +- fix issue48: typo in MarkInfo repr leading to exception +- fix issue49: avoid confusing error when initialization partially fails +- fix issue44: env/username expansion for junitxml file path +- show releaselevel information in test runs for pypy +- reworked doc pages for better navigation and PDF generation +- report KeyboardInterrupt even if interrupted during session startup +- fix issue 35 - provide PDF doc version and download link from index page diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.1.rst new file mode 100644 index 000000000..ecdd69f4d --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.1.rst @@ -0,0 +1,37 @@ +py.test 2.1.1: assertion fixes and improved junitxml output +=========================================================================== + +pytest-2.1.1 is a backward compatible maintenance release of the +popular py.test testing tool. See extensive docs with examples here: + + http://pytest.org/ + +Most bug fixes address remaining issues with the perfected assertions +introduced with 2.1.0 - many thanks to the bug reporters and to Benjamin +Peterson for helping to fix them. Also, junitxml output now produces +system-out/err tags which lead to better displays of tracebacks with Jenkins. + +Also a quick note to package maintainers and others interested: there now +is a "pytest" man page which can be generated with "make man" in doc/. + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel / http://merlinux.eu + +Changes between 2.1.0 and 2.1.1 +---------------------------------------------- + +- fix issue64 / pytest.set_trace now works within pytest_generate_tests hooks +- fix issue60 / fix error conditions involving the creation of __pycache__ +- fix issue63 / assertion rewriting on inserts involving strings containing '%' +- fix assertion rewriting on calls with a ** arg +- don't cache rewritten modules if bytecode generation is disabled +- fix assertion rewriting in read-only directories +- fix issue59: provide system-out/err tags for junitxml output +- fix issue61: assertion rewriting on boolean operations with 3 or more operands +- you can now build a man page with "cd doc ; make man" + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.2.rst new file mode 100644 index 000000000..51b7591d3 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.2.rst @@ -0,0 +1,33 @@ +py.test 2.1.2: bug fixes and fixes for jython +=========================================================================== + +pytest-2.1.2 is a minor backward compatible maintenance release of the +popular py.test testing tool. pytest is commonly used for unit, +functional- and integration testing. See extensive docs with examples +here: + + http://pytest.org/ + +Most bug fixes address remaining issues with the perfected assertions +introduced in the 2.1 series - many thanks to the bug reporters and to Benjamin +Peterson for helping to fix them. pytest should also work better with +Jython-2.5.1 (and Jython trunk). + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel / http://merlinux.eu + +Changes between 2.1.1 and 2.1.2 +---------------------------------------- + +- fix assertion rewriting on files with windows newlines on some Python versions +- refine test discovery by package/module name (--pyargs), thanks Florian Mayer +- fix issue69 / assertion rewriting fixed on some boolean operations +- fix issue68 / packages now work with assertion rewriting +- fix issue66: use different assertion rewriting caches when the -O option is passed +- don't try assertion rewriting on Jython, use reinterp + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.3.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.3.rst new file mode 100644 index 000000000..f4da60b8b --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.1.3.rst @@ -0,0 +1,32 @@ +py.test 2.1.3: just some more fixes +=========================================================================== + +pytest-2.1.3 is a minor backward compatible maintenance release of the +popular py.test testing tool. It is commonly used for unit, functional- +and integration testing. See extensive docs with examples here: + + http://pytest.org/ + +The release contains another fix to the perfected assertions introduced +with the 2.1 series as well as the new possibility to customize reporting +for assertion expressions on a per-directory level. + +If you want to install or upgrade pytest, just type one of:: + + pip install -U pytest # or + easy_install -U pytest + +Thanks to the bug reporters and to Ronny Pfannschmidt, Benjamin Peterson +and Floris Bruynooghe who implemented the fixes. + +best, +holger krekel + +Changes between 2.1.2 and 2.1.3 +---------------------------------------- + +- fix issue79: assertion rewriting failed on some comparisons in boolops, +- correctly handle zero length arguments (a la pytest '') +- fix issue67 / junitxml now contains correct test durations +- fix issue75 / skipping test failure on jython +- fix issue77 / Allow assertrepr_compare hook to apply to a subset of tests diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.0.rst new file mode 100644 index 000000000..20bfe0a19 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.0.rst @@ -0,0 +1,95 @@ +py.test 2.2.0: test marking++, parametrization++ and duration profiling +=========================================================================== + +pytest-2.2.0 is a test-suite compatible release of the popular +py.test testing tool. Plugins might need upgrades. It comes +with these improvements: + +* easier and more powerful parametrization of tests: + + - new @pytest.mark.parametrize decorator to run tests with different arguments + - new metafunc.parametrize() API for parametrizing arguments independently + - see examples at http://pytest.org/latest/example/parametrize.html + - NOTE that parametrize() related APIs are still a bit experimental + and might change in future releases. + +* improved handling of test markers and refined marking mechanism: + + - "-m markexpr" option for selecting tests according to their mark + - a new "markers" ini-variable for registering test markers for your project + - the new "--strict" bails out with an error if using unregistered markers. + - see examples at http://pytest.org/latest/example/markers.html + +* duration profiling: new "--duration=N" option showing the N slowest test + execution or setup/teardown calls. This is most useful if you want to + find out where your slowest test code is. + +* also 2.2.0 performs more eager calling of teardown/finalizers functions + resulting in better and more accurate reporting when they fail + +Besides there is the usual set of bug fixes along with a cleanup of +pytest's own test suite allowing it to run on a wider range of environments. + +For general information, see extensive docs with examples here: + + http://pytest.org/ + +If you want to install or upgrade pytest you might just type:: + + pip install -U pytest # or + easy_install -U pytest + +Thanks to Ronny Pfannschmidt, David Burns, Jeff Donner, Daniel Nouri, Alfredo Deza and all who gave feedback or sent bug reports. + +best, +holger krekel + + +notes on incompatibility +------------------------------ + +While test suites should work unchanged you might need to upgrade plugins: + +* You need a new version of the pytest-xdist plugin (1.7) for distributing + test runs. + +* Other plugins might need an upgrade if they implement + the ``pytest_runtest_logreport`` hook which now is called unconditionally + for the setup/teardown fixture phases of a test. You may choose to + ignore setup/teardown failures by inserting "if rep.when != 'call': return" + or something similar. Note that most code probably "just" works because + the hook was already called for failing setup/teardown phases of a test + so a plugin should have been ready to grok such reports already. + + +Changes between 2.1.3 and 2.2.0 +---------------------------------------- + +- fix issue90: introduce eager tearing down of test items so that + teardown function are called earlier. +- add an all-powerful metafunc.parametrize function which allows to + parametrize test function arguments in multiple steps and therefore + from independent plugins and places. +- add a @pytest.mark.parametrize helper which allows to easily + call a test function with different argument values. +- Add examples to the "parametrize" example page, including a quick port + of Test scenarios and the new parametrize function and decorator. +- introduce registration for "pytest.mark.*" helpers via ini-files + or through plugin hooks. Also introduce a "--strict" option which + will treat unregistered markers as errors + allowing to avoid typos and maintain a well described set of markers + for your test suite. See examples at http://pytest.org/latest/mark.html + and its links. +- issue50: introduce "-m marker" option to select tests based on markers + (this is a stricter and more predictable version of "-k" in that "-m" + only matches complete markers and has more obvious rules for and/or + semantics. +- new feature to help optimizing the speed of your tests: + --durations=N option for displaying N slowest test calls + and setup/teardown methods. +- fix issue87: --pastebin now works with python3 +- fix issue89: --pdb with unexpected exceptions in doctest work more sensibly +- fix and cleanup pytest's own test suite to not leak FDs +- fix issue83: link to generated funcarg list +- fix issue74: pyarg module names are now checked against imp.find_module false positives +- fix compatibility with twisted/trial-11.1.0 use cases diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.1.rst new file mode 100644 index 000000000..f9764634c --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.1.rst @@ -0,0 +1,41 @@ +pytest-2.2.1: bug fixes, perfect teardowns +=========================================================================== + + +pytest-2.2.1 is a minor backward-compatible release of the the py.test +testing tool. It contains bug fixes and little improvements, including +documentation fixes. If you are using the distributed testing +pluginmake sure to upgrade it to pytest-xdist-1.8. + +For general information see here: + + http://pytest.org/ + +To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +Special thanks for helping on this release to Ronny Pfannschmidt, Jurko +Gospodnetic and Ralf Schmitt. + +best, +holger krekel + + +Changes between 2.2.0 and 2.2.1 +---------------------------------------- + +- fix issue99 (in pytest and py) internallerrors with resultlog now + produce better output - fixed by normalizing pytest_internalerror + input arguments. +- fix issue97 / traceback issues (in pytest and py) improve traceback output + in conjunction with jinja2 and cython which hack tracebacks +- fix issue93 (in pytest and pytest-xdist) avoid "delayed teardowns": + the final test in a test node will now run its teardown directly + instead of waiting for the end of the session. Thanks Dave Hunt for + the good reporting and feedback. The pytest_runtest_protocol as well + as the pytest_runtest_teardown hooks now have "nextitem" available + which will be None indicating the end of the test run. +- fix collection crash due to unknown-source collected items, thanks + to Ralf Schmitt (fixed by depending on a more recent pylib) diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.2.rst new file mode 100644 index 000000000..733aedec4 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.2.rst @@ -0,0 +1,43 @@ +pytest-2.2.2: bug fixes +=========================================================================== + +pytest-2.2.2 (updated to 2.2.3 to fix packaging issues) is a minor +backward-compatible release of the versatile py.test testing tool. It +contains bug fixes and a few refinements particularly to reporting with +"--collectonly", see below for betails. + +For general information see here: + + http://pytest.org/ + +To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +Special thanks for helping on this release to Ronny Pfannschmidt +and Ralf Schmitt and the contributors of issues. + +best, +holger krekel + + +Changes between 2.2.1 and 2.2.2 +---------------------------------------- + +- fix issue101: wrong args to unittest.TestCase test function now + produce better output +- fix issue102: report more useful errors and hints for when a + test directory was renamed and some pyc/__pycache__ remain +- fix issue106: allow parametrize to be applied multiple times + e.g. from module, class and at function level. +- fix issue107: actually perform session scope finalization +- don't check in parametrize if indirect parameters are funcarg names +- add chdir method to monkeypatch funcarg +- fix crash resulting from calling monkeypatch undo a second time +- fix issue115: make --collectonly robust against early failure + (missing files/directories) +- "-qq --collectonly" now shows only files and the number of tests in them +- "-q --collectonly" now shows test ids +- allow adding of attributes to test reports such that it also works + with distributed testing (no upgrade of pytest-xdist needed) diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.4.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.4.rst new file mode 100644 index 000000000..8720bdb28 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.2.4.rst @@ -0,0 +1,39 @@ +pytest-2.2.4: bug fixes, better junitxml/unittest/python3 compat +=========================================================================== + +pytest-2.2.4 is a minor backward-compatible release of the versatile +py.test testing tool. It contains bug fixes and a few refinements +to junitxml reporting, better unittest- and python3 compatibility. + +For general information see here: + + http://pytest.org/ + +To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +Special thanks for helping on this release to Ronny Pfannschmidt +and Benjamin Peterson and the contributors of issues. + +best, +holger krekel + +Changes between 2.2.3 and 2.2.4 +----------------------------------- + +- fix error message for rewritten assertions involving the % operator +- fix issue 126: correctly match all invalid xml characters for junitxml + binary escape +- fix issue with unittest: now @unittest.expectedFailure markers should + be processed correctly (you can also use @pytest.mark markers) +- document integration with the extended distribute/setuptools test commands +- fix issue 140: propperly get the real functions + of bound classmethods for setup/teardown_class +- fix issue #141: switch from the deceased paste.pocoo.org to bpaste.net +- fix issue #143: call unconfigure/sessionfinish always when + configure/sessionstart where called +- fix issue #144: better mangle test ids to junitxml classnames +- upgrade distribute_setup.py to 0.6.27 + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.0.rst new file mode 100644 index 000000000..54fe3961f --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.0.rst @@ -0,0 +1,134 @@ +pytest-2.3: improved fixtures / better unittest integration +============================================================================= + +pytest-2.3 comes with many major improvements for fixture/funcarg management +and parametrized testing in Python. It is now easier, more efficient and +more predicatable to re-run the same tests with different fixture +instances. Also, you can directly declare the caching "scope" of +fixtures so that dependent tests throughout your whole test suite can +re-use database or other expensive fixture objects with ease. Lastly, +it's possible for fixture functions (formerly known as funcarg +factories) to use other fixtures, allowing for a completely modular and +re-useable fixture design. + +For detailed info and tutorial-style examples, see: + + http://pytest.org/latest/fixture.html + +Moreover, there is now support for using pytest fixtures/funcargs with +unittest-style suites, see here for examples: + + http://pytest.org/latest/unittest.html + +Besides, more unittest-test suites are now expected to "simply work" +with pytest. + +All changes are backward compatible and you should be able to continue +to run your test suites and 3rd party plugins that worked with +pytest-2.2.4. + +If you are interested in the precise reasoning (including examples) of the +pytest-2.3 fixture evolution, please consult +http://pytest.org/latest/funcarg_compare.html + +For general info on installation and getting started: + + http://pytest.org/latest/getting-started.html + +Docs and PDF access as usual at: + + http://pytest.org + +and more details for those already in the knowing of pytest can be found +in the CHANGELOG below. + +Particular thanks for this release go to Floris Bruynooghe, Alex Okrushko +Carl Meyer, Ronny Pfannschmidt, Benjamin Peterson and Alex Gaynor for helping +to get the new features right and well integrated. Ronny and Floris +also helped to fix a number of bugs and yet more people helped by +providing bug reports. + +have fun, +holger krekel + + +Changes between 2.2.4 and 2.3.0 +----------------------------------- + +- fix issue202 - better automatic names for parametrized test functions +- fix issue139 - introduce @pytest.fixture which allows direct scoping + and parametrization of funcarg factories. Introduce new @pytest.setup + marker to allow the writing of setup functions which accept funcargs. +- fix issue198 - conftest fixtures were not found on windows32 in some + circumstances with nested directory structures due to path manipulation issues +- fix issue193 skip test functions with were parametrized with empty + parameter sets +- fix python3.3 compat, mostly reporting bits that previously depended + on dict ordering +- introduce re-ordering of tests by resource and parametrization setup + which takes precedence to the usual file-ordering +- fix issue185 monkeypatching time.time does not cause pytest to fail +- fix issue172 duplicate call of pytest.setup-decoratored setup_module + functions +- fix junitxml=path construction so that if tests change the + current working directory and the path is a relative path + it is constructed correctly from the original current working dir. +- fix "python setup.py test" example to cause a proper "errno" return +- fix issue165 - fix broken doc links and mention stackoverflow for FAQ +- catch unicode-issues when writing failure representations + to terminal to prevent the whole session from crashing +- fix xfail/skip confusion: a skip-mark or an imperative pytest.skip + will now take precedence before xfail-markers because we + can't determine xfail/xpass status in case of a skip. see also: + http://stackoverflow.com/questions/11105828/in-py-test-when-i-explicitly-skip-a-test-that-is-marked-as-xfail-how-can-i-get + +- always report installed 3rd party plugins in the header of a test run + +- fix issue160: a failing setup of an xfail-marked tests should + be reported as xfail (not xpass) + +- fix issue128: show captured output when capsys/capfd are used + +- fix issue179: propperly show the dependency chain of factories + +- pluginmanager.register(...) now raises ValueError if the + plugin has been already registered or the name is taken + +- fix issue159: improve http://pytest.org/latest/faq.html + especially with respect to the "magic" history, also mention + pytest-django, trial and unittest integration. + +- make request.keywords and node.keywords writable. All descendant + collection nodes will see keyword values. Keywords are dictionaries + containing markers and other info. + +- fix issue 178: xml binary escapes are now wrapped in py.xml.raw + +- fix issue 176: correctly catch the builtin AssertionError + even when we replaced AssertionError with a subclass on the + python level + +- factory discovery no longer fails with magic global callables + that provide no sane __code__ object (mock.call for example) + +- fix issue 182: testdir.inprocess_run now considers passed plugins + +- fix issue 188: ensure sys.exc_info is clear on python2 + before calling into a test + +- fix issue 191: add unittest TestCase runTest method support +- fix issue 156: monkeypatch correctly handles class level descriptors + +- reporting refinements: + + - pytest_report_header now receives a "startdir" so that + you can use startdir.bestrelpath(yourpath) to show + nice relative path + + - allow plugins to implement both pytest_report_header and + pytest_sessionstart (sessionstart is invoked first). + + - don't show deselected reason line if there is none + + - py.test -vv will show all of assert comparisations instead of truncating + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.1.rst new file mode 100644 index 000000000..b787dc203 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.1.rst @@ -0,0 +1,39 @@ +pytest-2.3.1: fix regression with factory functions +=========================================================================== + +pytest-2.3.1 is a quick follow-up release: + +- fix issue202 - regression with fixture functions/funcarg factories: + using "self" is now safe again and works as in 2.2.4. Thanks + to Eduard Schettino for the quick bug report. + +- disable pexpect pytest self tests on Freebsd - thanks Koob for the + quick reporting + +- fix/improve interactive docs with --markers + +See + + http://pytest.org/ + +for general information. To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel + + +Changes between 2.3.0 and 2.3.1 +----------------------------------- + +- fix issue202 - fix regression: using "self" from fixture functions now + works as expected (it's the same "self" instance that a test method + which uses the fixture sees) + +- skip pexpect using tests (test_pdb.py mostly) on freebsd* systems + due to pexpect not supporting it properly (hanging) + +- link to web pages from --markers output which provides help for + pytest.mark.* usage. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.2.rst new file mode 100644 index 000000000..948b374d4 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.2.rst @@ -0,0 +1,57 @@ +pytest-2.3.2: some fixes and more traceback-printing speed +=========================================================================== + +pytest-2.3.2 is a another stabilization release: + +- issue 205: fixes a regression with conftest detection +- issue 208/29: fixes traceback-printing speed in some bad cases +- fix teardown-ordering for parametrized setups +- fix unittest and trial compat behaviour with respect to runTest() methods +- issue 206 and others: some improvements to packaging +- fix issue127 and others: improve some docs + +See + + http://pytest.org/ + +for general information. To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel + + +Changes between 2.3.1 and 2.3.2 +----------------------------------- + +- fix issue208 and fix issue29 use new py version to avoid long pauses + when printing tracebacks in long modules + +- fix issue205 - conftests in subdirs customizing + pytest_pycollect_makemodule and pytest_pycollect_makeitem + now work properly + +- fix teardown-ordering for parametrized setups + +- fix issue127 - better documentation for pytest_addoption + and related objects. + +- fix unittest behaviour: TestCase.runtest only called if there are + test methods defined + +- improve trial support: don't collect its empty + unittest.TestCase.runTest() method + +- "python setup.py test" now works with pytest itself + +- fix/improve internal/packaging related bits: + + - exception message check of test_nose.py now passes on python33 as well + + - issue206 - fix test_assertrewrite.py to work when a global + PYTHONDONTWRITEBYTECODE=1 is present + + - add tox.ini to pytest distribution so that ignore-dirs and others config + bits are properly distributed for maintainers who run pytest-own tests diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.3.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.3.rst new file mode 100644 index 000000000..1d7c7027b --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.3.rst @@ -0,0 +1,62 @@ +pytest-2.3.3: integration fixes, py24 suport, ``*/**`` shown in traceback +=========================================================================== + +pytest-2.3.3 is a another stabilization release of the py.test tool +which offers uebersimple assertions, scalable fixture mechanisms +and deep customization for testing with Python. Particularly, +this release provides: + +- integration fixes and improvements related to flask, numpy, nose, + unittest, mock + +- makes pytest work on py24 again (yes, people sometimes still need to use it) + +- show ``*,**`` args in pytest tracebacks + +Thanks to Manuel Jacob, Thomas Waldmann, Ronny Pfannschmidt, Pavel Repin +and Andreas Taumoefolau for providing patches and all for the issues. + +See + + http://pytest.org/ + +for general information. To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel + +Changes between 2.3.2 and 2.3.3 +----------------------------------- + +- fix issue214 - parse modules that contain special objects like e. g. + flask's request object which blows up on getattr access if no request + is active. thanks Thomas Waldmann. + +- fix issue213 - allow to parametrize with values like numpy arrays that + do not support an __eq__ operator + +- fix issue215 - split test_python.org into multiple files + +- fix issue148 - @unittest.skip on classes is now recognized and avoids + calling setUpClass/tearDownClass, thanks Pavel Repin + +- fix issue209 - reintroduce python2.4 support by depending on newer + pylib which re-introduced statement-finding for pre-AST interpreters + +- nose support: only call setup if its a callable, thanks Andrew + Taumoefolau + +- fix issue219 - add py2.4-3.3 classifiers to TROVE list + +- in tracebacks *,** arg values are now shown next to normal arguments + (thanks Manuel Jacob) + +- fix issue217 - support mock.patch with pytest's fixtures - note that + you need either mock-1.0.1 or the python3.3 builtin unittest.mock. + +- fix issue127 - improve documentation for pytest_addoption() and + add a ``config.getoption(name)`` helper function for consistency. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.4.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.4.rst new file mode 100644 index 000000000..d6c597b54 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.4.rst @@ -0,0 +1,39 @@ +pytest-2.3.4: stabilization, more flexible selection via "-k expr" +=========================================================================== + +pytest-2.3.4 is a small stabilization release of the py.test tool +which offers uebersimple assertions, scalable fixture mechanisms +and deep customization for testing with Python. This release +comes with the following fixes and features: + +- make "-k" option accept an expressions the same as with "-m" so that one + can write: -k "name1 or name2" etc. This is a slight usage incompatibility + if you used special syntax like "TestClass.test_method" which you now + need to write as -k "TestClass and test_method" to match a certain + method in a certain test class. +- allow to dynamically define markers via + item.keywords[...]=assignment integrating with "-m" option +- yielded test functions will now have autouse-fixtures active but + cannot accept fixtures as funcargs - it's anyway recommended to + rather use the post-2.0 parametrize features instead of yield, see: + http://pytest.org/latest/example/parametrize.html +- fix autouse-issue where autouse-fixtures would not be discovered + if defined in a a/conftest.py file and tests in a/tests/test_some.py +- fix issue226 - LIFO ordering for fixture teardowns +- fix issue224 - invocations with >256 char arguments now work +- fix issue91 - add/discuss package/directory level setups in example +- fixes related to autouse discovery and calling + +Thanks in particular to Thomas Waldmann for spotting and reporting issues. + +See + + http://pytest.org/ + +for general information. To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +best, +holger krekel diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.5.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.5.rst new file mode 100644 index 000000000..c4e91e0e6 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.3.5.rst @@ -0,0 +1,97 @@ +pytest-2.3.5: bug fixes and little improvements +=========================================================================== + +pytest-2.3.5 is a maintenance release with many bug fixes and little +improvements. See the changelog below for details. No backward +compatibility issues are foreseen and all plugins which worked with the +prior version are expected to work unmodified. Speaking of which, a +few interesting new plugins saw the light last month: + +- pytest-instafail: show failure information while tests are running +- pytest-qt: testing of GUI applications written with QT/Pyside +- pytest-xprocess: managing external processes across test runs +- pytest-random: randomize test ordering + +And several others like pytest-django saw maintenance releases. +For a more complete list, check out +https://pypi.python.org/pypi?%3Aaction=search&term=pytest&submit=search. + +For general information see: + + http://pytest.org/ + +To install or upgrade pytest: + + pip install -U pytest # or + easy_install -U pytest + +Particular thanks to Floris, Ronny, Benjamin and the many bug reporters +and fix providers. + +may the fixtures be with you, +holger krekel + + +Changes between 2.3.4 and 2.3.5 +----------------------------------- + +- never consider a fixture function for test function collection + +- allow re-running of test items / helps to fix pytest-reruntests plugin + and also help to keep less fixture/resource references alive + +- put captured stdout/stderr into junitxml output even for passing tests + (thanks Adam Goucher) + +- Issue 265 - integrate nose setup/teardown with setupstate + so it doesnt try to teardown if it did not setup + +- issue 271 - dont write junitxml on slave nodes + +- Issue 274 - dont try to show full doctest example + when doctest does not know the example location + +- issue 280 - disable assertion rewriting on buggy CPython 2.6.0 + +- inject "getfixture()" helper to retrieve fixtures from doctests, + thanks Andreas Zeidler + +- issue 259 - when assertion rewriting, be consistent with the default + source encoding of ASCII on Python 2 + +- issue 251 - report a skip instead of ignoring classes with init + +- issue250 unicode/str mixes in parametrization names and values now works + +- 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) + +- fix --genscript option to generate standalone scripts that also + work with python3.3 (importer ordering) + +- issue171 - in assertion rewriting, show the repr of some + global variables + +- fix option help for "-k" + +- move long description of distribution into README.rst + +- improve docstring for metafunc.parametrize() + +- fix bug where using capsys with pytest.set_trace() in a test + function would break when looking at capsys.readouterr() + +- allow to specify prefixes starting with "_" when + customizing python_functions test discovery. (thanks Graham Horler) + +- improve PYTEST_DEBUG tracing output by puting + extra data on a new lines with additional indent + +- ensure OutcomeExceptions like skip/fail have initialized exception attributes + +- issue 260 - don't use nose special setup on plain unittest cases + +- fix issue134 - print the collect errors that prevent running specified test items + +- fix issue266 - accept unicode in MarkEvaluator expressions + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.0.rst new file mode 100644 index 000000000..88130c481 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.0.rst @@ -0,0 +1,225 @@ +pytest-2.4.0: new fixture features/hooks and bug fixes +=========================================================================== + +The just released pytest-2.4.0 brings many improvements and numerous +bug fixes while remaining plugin- and test-suite compatible apart +from a few supposedly very minor incompatibilities. See below for +a full list of details. A few feature highlights: + +- new yield-style fixtures `pytest.yield_fixture + <http://pytest.org/latest/yieldfixture.html>`_, allowing to use + existing with-style context managers in fixture functions. + +- improved pdb support: ``import pdb ; pdb.set_trace()`` now works + without requiring prior disabling of stdout/stderr capturing. + Also the ``--pdb`` options works now on collection and internal errors + and we introduced a new experimental hook for IDEs/plugins to + intercept debugging: ``pytest_exception_interact(node, call, report)``. + +- shorter monkeypatch variant to allow specifying an import path as + a target, for example: ``monkeypatch.setattr("requests.get", myfunc)`` + +- better unittest/nose compatibility: all teardown methods are now only + called if the corresponding setup method succeeded. + +- integrate tab-completion on command line options if you + have `argcomplete <http://pypi.python.org/pypi/argcomplete>`_ + configured. + +- allow boolean expression directly with skipif/xfail + if a "reason" is also specified. + +- a new hook ``pytest_load_initial_conftests`` allows plugins like + `pytest-django <http://pypi.python.org/pypi/pytest-django>`_ to + influence the environment before conftest files import ``django``. + +- reporting: color the last line red or green depending if + failures/errors occurred or everything passed. + +The documentation has been updated to accomodate the changes, +see `http://pytest.org <http://pytest.org>`_ + +To install or upgrade pytest:: + + pip install -U pytest # or + easy_install -U pytest + + +**Many thanks to all who helped, including Floris Bruynooghe, +Brianna Laugher, Andreas Pelme, Anthon van der Neut, Anatoly Bubenkoff, +Vladimir Keleshev, Mathieu Agopian, Ronny Pfannschmidt, Christian +Theunert and many others.** + +may passing tests be with you, + +holger krekel + +Changes between 2.3.5 and 2.4 +----------------------------------- + +known incompatibilities: + +- if calling --genscript from python2.7 or above, you only get a + standalone script which works on python2.7 or above. Use Python2.6 + to also get a python2.5 compatible version. + +- all xunit-style teardown methods (nose-style, pytest-style, + unittest-style) will not be called if the corresponding setup method failed, + see issue322 below. + +- the pytest_plugin_unregister hook wasn't ever properly called + and there is no known implementation of the hook - so it got removed. + +- pytest.fixture-decorated functions cannot be generators (i.e. use + yield) anymore. This change might be reversed in 2.4.1 if it causes + unforeseen real-life issues. However, you can always write and return + an inner function/generator and change the fixture consumer to iterate + over the returned generator. This change was done in lieu of the new + ``pytest.yield_fixture`` decorator, see below. + +new features: + +- experimentally introduce a new ``pytest.yield_fixture`` decorator + which accepts exactly the same parameters as pytest.fixture but + mandates a ``yield`` statement instead of a ``return statement`` from + fixture functions. This allows direct integration with "with-style" + context managers in fixture functions and generally avoids registering + of finalization callbacks in favour of treating the "after-yield" as + teardown code. Thanks Andreas Pelme, Vladimir Keleshev, Floris + Bruynooghe, Ronny Pfannschmidt and many others for discussions. + +- allow boolean expression directly with skipif/xfail + if a "reason" is also specified. Rework skipping documentation + to recommend "condition as booleans" because it prevents surprises + when importing markers between modules. Specifying conditions + as strings will remain fully supported. + +- reporting: color the last line red or green depending if + failures/errors occurred or everything passed. thanks Christian + Theunert. + +- make "import pdb ; pdb.set_trace()" work natively wrt capturing (no + "-s" needed anymore), making ``pytest.set_trace()`` a mere shortcut. + +- fix issue181: --pdb now also works on collect errors (and + on internal errors) . This was implemented by a slight internal + refactoring and the introduction of a new hook + ``pytest_exception_interact`` hook (see next item). + +- fix issue341: introduce new experimental hook for IDEs/terminals to + intercept debugging: ``pytest_exception_interact(node, call, report)``. + +- new monkeypatch.setattr() variant to provide a shorter + invocation for patching out classes/functions from modules: + + monkeypatch.setattr("requests.get", myfunc) + + will replace the "get" function of the "requests" module with ``myfunc``. + +- fix issue322: tearDownClass is not run if setUpClass failed. Thanks + Mathieu Agopian for the initial fix. Also make all of pytest/nose + finalizer mimick the same generic behaviour: if a setupX exists and + fails, don't run teardownX. This internally introduces a new method + "node.addfinalizer()" helper which can only be called during the setup + phase of a node. + +- simplify pytest.mark.parametrize() signature: allow to pass a + CSV-separated string to specify argnames. For example: + ``pytest.mark.parametrize("input,expected", [(1,2), (2,3)])`` + works as well as the previous: + ``pytest.mark.parametrize(("input", "expected"), ...)``. + +- add support for setUpModule/tearDownModule detection, thanks Brian Okken. + +- integrate tab-completion on options through use of "argcomplete". + Thanks Anthon van der Neut for the PR. + +- change option names to be hyphen-separated long options but keep the + old spelling backward compatible. py.test -h will only show the + hyphenated version, for example "--collect-only" but "--collectonly" + will remain valid as well (for backward-compat reasons). Many thanks to + Anthon van der Neut for the implementation and to Hynek Schlawack for + pushing us. + +- fix issue 308 - allow to mark/xfail/skip individual parameter sets + when parametrizing. Thanks Brianna Laugher. + +- call new experimental pytest_load_initial_conftests hook to allow + 3rd party plugins to do something before a conftest is loaded. + +Bug fixes: + +- fix issue358 - capturing options are now parsed more properly + by using a new parser.parse_known_args method. + +- pytest now uses argparse instead of optparse (thanks Anthon) which + means that "argparse" is added as a dependency if installing into python2.6 + environments or below. + +- fix issue333: fix a case of bad unittest/pytest hook interaction. + +- PR27: correctly handle nose.SkipTest during collection. Thanks + Antonio Cuni, Ronny Pfannschmidt. + +- fix issue355: junitxml puts name="pytest" attribute to testsuite tag. + +- fix issue336: autouse fixture in plugins should work again. + +- fix issue279: improve object comparisons on assertion failure + for standard datatypes and recognise collections.abc. Thanks to + Brianna Laugher and Mathieu Agopian. + +- fix issue317: assertion rewriter support for the is_package method + +- fix issue335: document py.code.ExceptionInfo() object returned + from pytest.raises(), thanks Mathieu Agopian. + +- remove implicit distribute_setup support from setup.py. + +- fix issue305: ignore any problems when writing pyc files. + +- SO-17664702: call fixture finalizers even if the fixture function + partially failed (finalizers would not always be called before) + +- fix issue320 - fix class scope for fixtures when mixed with + module-level functions. Thanks Anatloy Bubenkoff. + +- you can specify "-q" or "-qq" to get different levels of "quieter" + reporting (thanks Katarzyna Jachim) + +- fix issue300 - Fix order of conftest loading when starting py.test + in a subdirectory. + +- fix issue323 - sorting of many module-scoped arg parametrizations + +- 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) + +- fix issue316 - properly reference collection hooks in docs + +- fix issue 306 - cleanup of -k/-m options to only match markers/test + names/keywords respectively. Thanks Wouter van Ackooy. + +- improved doctest counting for doctests in python modules -- + files without any doctest items will not show up anymore + and doctest examples are counted as separate test items. + thanks Danilo Bellini. + +- 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. + +- fix junitxml generation when test output contains control characters, + addressing issue267, thanks Jaap Broekhuizen + +- fix issue338: honor --tb style for setup/teardown errors as well. Thanks Maho. + +- fix issue307 - use yaml.safe_load in example, thanks Mark Eichin. + +- better parametrize error messages, thanks Brianna Laugher + +- pytest_terminal_summary(terminalreporter) hooks can now use + ".section(title)" and ".line(msg)" methods to print extra + information at the end of a test run. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.1.rst new file mode 100644 index 000000000..64ba170f8 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.1.rst @@ -0,0 +1,25 @@ +pytest-2.4.1: fixing three regressions compared to 2.3.5 +=========================================================================== + +pytest-2.4.1 is a quick follow up release to fix three regressions +compared to 2.3.5 before they hit more people: + +- When using parser.addoption() unicode arguments to the + "type" keyword should also be converted to the respective types. + thanks Floris Bruynooghe, @dnozay. (fixes issue360 and issue362) + +- fix dotted filename completion when using argcomplete + thanks Anthon van der Neuth. (fixes issue361) + +- fix regression when a 1-tuple ("arg",) is used for specifying + parametrization (the values of the parametrization were passed + nested in a tuple). Thanks Donald Stufft. + +- also merge doc typo fixes, thanks Andy Dirnberger + +as usual, docs at http://pytest.org and upgrades via:: + + pip install -U pytest + +have fun, +holger krekel diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.2.rst new file mode 100644 index 000000000..3b4aa95ab --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.4.2.rst @@ -0,0 +1,39 @@ +pytest-2.4.2: colorama on windows, plugin/tmpdir fixes +=========================================================================== + +pytest-2.4.2 is another bug-fixing release: + +- on Windows require colorama and a newer py lib so that py.io.TerminalWriter() + now uses colorama instead of its own ctypes hacks. (fixes issue365) + thanks Paul Moore for bringing it up. + +- fix "-k" matching of tests where "repr" and "attr" and other names would + cause wrong matches because of an internal implementation quirk + (don't ask) which is now properly implemented. fixes issue345. + +- avoid tmpdir fixture to create too long filenames especially + when parametrization is used (issue354) + +- fix pytest-pep8 and pytest-flakes / pytest interactions + (collection names in mark plugin was assuming an item always + has a function which is not true for those plugins etc.) + Thanks Andi Zeidler. + +- introduce node.get_marker/node.add_marker API for plugins + like pytest-pep8 and pytest-flakes to avoid the messy + details of the node.keywords pseudo-dicts. Adapted + docs. + +- remove attempt to "dup" stdout at startup as it's icky. + the normal capturing should catch enough possibilities + of tests messing up standard FDs. + +- add pluginmanager.do_configure(config) as a link to + config.do_configure() for plugin-compatibility + +as usual, docs at http://pytest.org and upgrades via:: + + pip install -U pytest + +have fun, +holger krekel diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.0.rst new file mode 100644 index 000000000..b8f28d6fd --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.0.rst @@ -0,0 +1,175 @@ +pytest-2.5.0: now down to ZERO reported bugs! +=========================================================================== + +pytest-2.5.0 is a big fixing release, the result of two community bug +fixing days plus numerous additional works from many people and +reporters. The release should be fully compatible to 2.4.2, existing +plugins and test suites. We aim at maintaining this level of ZERO reported +bugs because it's no fun if your testing tool has bugs, is it? Under a +condition, though: when submitting a bug report please provide +clear information about the circumstances and a simple example which +reproduces the problem. + +The issue tracker is of course not empty now. We have many remaining +"enhacement" issues which we'll hopefully can tackle in 2014 with your +help. + +For those who use older Python versions, please note that pytest is not +automatically tested on python2.5 due to virtualenv, setuptools and tox +not supporting it anymore. Manual verification shows that it mostly +works fine but it's not going to be part of the automated release +process and thus likely to break in the future. + +As usual, current docs are at + + http://pytest.org + +and you can upgrade from pypi via:: + + pip install -U pytest + +Particular thanks for helping with this release go to Anatoly Bubenkoff, +Floris Bruynooghe, Marc Abramowitz, Ralph Schmitt, Ronny Pfannschmidt, +Donald Stufft, James Lan, Rob Dennis, Jason R. Coombs, Mathieu Agopian, +Virgil Dupras, Bruno Oliveira, Alex Gaynor and others. + +have fun, +holger krekel + + +2.5.0 +----------------------------------- + +- dropped python2.5 from automated release testing of pytest itself + which means it's probably going to break soon (but still works + with this release we believe). + +- simplified and fixed implementation for calling finalizers when + parametrized fixtures or function arguments are involved. finalization + is now performed lazily at setup time instead of in the "teardown phase". + While this might sound odd at first, it helps to ensure that we are + correctly handling setup/teardown even in complex code. User-level code + should not be affected unless it's implementing the pytest_runtest_teardown + hook and expecting certain fixture instances are torn down within (very + unlikely and would have been unreliable anyway). + +- PR90: add --color=yes|no|auto option to force terminal coloring + mode ("auto" is default). Thanks Marc Abramowitz. + +- fix issue319 - correctly show unicode in assertion errors. Many + thanks to Floris Bruynooghe for the complete PR. Also means + we depend on py>=1.4.19 now. + +- fix issue396 - correctly sort and finalize class-scoped parametrized + tests independently from number of methods on the class. + +- refix issue323 in a better way -- parametrization should now never + cause Runtime Recursion errors because the underlying algorithm + for re-ordering tests per-scope/per-fixture is not recursive + anymore (it was tail-call recursive before which could lead + to problems for more than >966 non-function scoped parameters). + +- fix issue290 - there is preliminary support now for parametrizing + with repeated same values (sometimes useful to to test if calling + a second time works as with the first time). + +- close issue240 - document precisely how pytest module importing + works, discuss the two common test directory layouts, and how it + interacts with PEP420-namespace packages. + +- fix issue246 fix finalizer order to be LIFO on independent fixtures + depending on a parametrized higher-than-function scoped fixture. + (was quite some effort so please bear with the complexity of this sentence :) + Thanks Ralph Schmitt for the precise failure example. + +- fix issue244 by implementing special index for parameters to only use + indices for paramentrized test ids + +- fix issue287 by running all finalizers but saving the exception + from the first failing finalizer and re-raising it so teardown will + still have failed. We reraise the first failing exception because + it might be the cause for other finalizers to fail. + +- fix ordering when mock.patch or other standard decorator-wrappings + are used with test methods. This fixues issue346 and should + help with random "xdist" collection failures. Thanks to + Ronny Pfannschmidt and Donald Stufft for helping to isolate it. + +- fix issue357 - special case "-k" expressions to allow for + filtering with simple strings that are not valid python expressions. + Examples: "-k 1.3" matches all tests parametrized with 1.3. + "-k None" filters all tests that have "None" in their name + and conversely "-k 'not None'". + Previously these examples would raise syntax errors. + +- fix issue384 by removing the trial support code + since the unittest compat enhancements allow + trial to handle it on its own + +- don't hide an ImportError when importing a plugin produces one. + fixes issue375. + +- fix issue275 - allow usefixtures and autouse fixtures + for running doctest text files. + +- fix issue380 by making --resultlog only rely on longrepr instead + of the "reprcrash" attribute which only exists sometimes. + +- address issue122: allow @pytest.fixture(params=iterator) by exploding + into a list early on. + +- fix pexpect-3.0 compatibility for pytest's own tests. + (fixes issue386) + +- allow nested parametrize-value markers, thanks James Lan for the PR. + +- fix unicode handling with new monkeypatch.setattr(import_path, value) + API. Thanks Rob Dennis. Fixes issue371. + +- fix unicode handling with junitxml, fixes issue368. + +- In assertion rewriting mode on Python 2, fix the detection of coding + cookies. See issue #330. + +- make "--runxfail" turn imperative pytest.xfail calls into no ops + (it already did neutralize pytest.mark.xfail markers) + +- 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. + +- pytestconfig fixture is now session-scoped as it is the same object during the + whole test run. Fixes issue370. + +- 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. + +- xfail a test on pypy that checks wrong encoding/ascii (pypy does + not error out). fixes issue385. + +- internally make varnames() deal with classes's __init__, + although it's not needed by pytest itself atm. Also + fix caching. Fixes issue376. + +- fix issue221 - handle importing of namespace-package with no + __init__.py properly. + +- refactor internal FixtureRequest handling to avoid monkeypatching. + One of the positive user-facing effects is that the "request" object + can now be used in closures. + +- fixed version comparison in pytest.importskip(modname, minverstring) + +- fix issue377 by clarifying in the nose-compat docs that pytest + does not duplicate the unittest-API into the "plain" namespace. + +- fix verbose reporting for @mock'd test functions + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.1.rst new file mode 100644 index 000000000..a3a74cec6 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.1.rst @@ -0,0 +1,47 @@ +pytest-2.5.1: fixes and new home page styling +=========================================================================== + +pytest is a mature Python testing tool with more than a 1000 tests +against itself, passing on many different interpreters and platforms. + +The 2.5.1 release maintains the "zero-reported-bugs" promise by fixing +the three bugs reported since the last release a few days ago. It also +features a new home page styling implemented by Tobias Bieniek, based on +the flask theme from Armin Ronacher: + + http://pytest.org + +If you have anything more to improve styling and docs, +we'd be very happy to merge further pull requests. + +On the coding side, the release also contains a little enhancement to +fixture decorators allowing to directly influence generation of test +ids, thanks to Floris Bruynooghe. Other thanks for helping with +this release go to Anatoly Bubenkoff and Ronny Pfannschmidt. + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +have fun and a nice remaining "bug-free" time of the year :) +holger krekel + +2.5.1 +----------------------------------- + +- merge new documentation styling PR from Tobias Bieniek. + +- fix issue403: allow parametrize of multiple same-name functions within + a collection node. Thanks Andreas Kloeckner and Alex Gaynor for reporting + and analysis. + +- Allow parameterized fixtures to specify the ID of the parameters by + adding an ids argument to pytest.fixture() and pytest.yield_fixture(). + Thanks Floris Bruynooghe. + +- fix issue404 by always using the binary xml escape in the junitxml + plugin. Thanks Ronny Pfannschmidt. + +- fix issue407: fix addoption docstring to point to argparse instead of + optparse. Thanks Daniel D. Wright. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.2.rst new file mode 100644 index 000000000..9308ffdd6 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.5.2.rst @@ -0,0 +1,64 @@ +pytest-2.5.2: fixes +=========================================================================== + +pytest is a mature Python testing tool with more than a 1000 tests +against itself, passing on many different interpreters and platforms. + +The 2.5.2 release fixes a few bugs with two maybe-bugs remaining and +actively being worked on (and waiting for the bug reporter's input). +We also have a new contribution guide thanks to Piotr Banaszkiewicz +and others. + +See docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to the following people who contributed to this release: + + Anatoly Bubenkov + Ronny Pfannschmidt + Floris Bruynooghe + Bruno Oliveira + Andreas Pelme + Jurko Gospodnetić + Piotr Banaszkiewicz + Simon Liedtke + lakka + Lukasz Balcerzak + Philippe Muller + Daniel Hahler + +have fun, +holger krekel + +2.5.2 +----------------------------------- + +- fix issue409 -- better interoperate with cx_freeze by not + trying to import from collections.abc which causes problems + for py27/cx_freeze. Thanks Wolfgang L. for reporting and tracking it down. + +- fixed docs and code to use "pytest" instead of "py.test" almost everywhere. + Thanks Jurko Gospodnetic for the complete PR. + +- fix issue425: mention at end of "py.test -h" that --markers + and --fixtures work according to specified test path (or current dir) + +- fix issue413: exceptions with unicode attributes are now printed + correctly also on python2 and with pytest-xdist runs. (the fix + requires py-1.4.20) + +- copy, cleanup and integrate py.io capture + from pylib 1.4.20.dev2 (rev 13d9af95547e) + +- address issue416: clarify docs as to conftest.py loading semantics + +- fix issue429: comparing byte strings with non-ascii chars in assert + expressions now work better. Thanks Floris Bruynooghe. + +- make capfd/capsys.capture private, its unused and shouldnt be exposed + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.0.rst new file mode 100644 index 000000000..36b545a28 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.0.rst @@ -0,0 +1,153 @@ +pytest-2.6.0: shorter tracebacks, new warning system, test runner compat +=========================================================================== + +pytest is a mature Python testing tool with more than a 1000 tests +against itself, passing on many different interpreters and platforms. + +The 2.6.0 release should be drop-in backward compatible to 2.5.2 and +fixes a number of bugs and brings some new features, mainly: + +- shorter tracebacks by default: only the first (test function) entry + and the last (failure location) entry are shown, the ones between + only in "short" format. Use ``--tb=long`` to get back the old + behaviour of showing "long" entries everywhere. + +- a new warning system which reports oddities during collection + and execution. For example, ignoring collecting Test* classes with an + ``__init__`` now produces a warning. + +- various improvements to nose/mock/unittest integration + +Note also that 2.6.0 departs with the "zero reported bugs" policy +because it has been too hard to keep up with it, unfortunately. +Instead we are for now rather bound to work on "upvoted" issues in +the https://bitbucket.org/pytest-dev/pytest/issues?status=new&status=open&sort=-votes +issue tracker. + +See docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed, among them: + + Benjamin Peterson + Jurko Gospodnetić + Floris Bruynooghe + Marc Abramowitz + Marc Schlaich + Trevor Bekolay + Bruno Oliveira + Alex Groenholm + +have fun, +holger krekel + +2.6.0 +----------------------------------- + +- fix issue537: Avoid importing old assertion reinterpretation code by default. + Thanks Benjamin Peterson. + +- fix issue364: shorten and enhance tracebacks representation by default. + The new "--tb=auto" option (default) will only display long tracebacks + for the first and last entry. You can get the old behaviour of printing + all entries as long entries with "--tb=long". Also short entries by + default are now printed very similarly to "--tb=native" ones. + +- fix issue514: teach assertion reinterpretation about private class attributes + Thanks Benjamin Peterson. + +- change -v output to include full node IDs of tests. Users can copy + a node ID from a test run, including line number, and use it as a + positional argument in order to run only a single test. + +- fix issue 475: fail early and comprehensible if calling + pytest.raises with wrong exception type. + +- fix issue516: tell in getting-started about current dependencies. + +- cleanup setup.py a bit and specify supported versions. Thanks Jurko + Gospodnetic for the PR. + +- change XPASS colour to yellow rather then red when tests are run + with -v. + +- fix issue473: work around mock putting an unbound method into a class + dict when double-patching. + +- fix issue498: if a fixture finalizer fails, make sure that + the fixture is still invalidated. + +- fix issue453: the result of the pytest_assertrepr_compare hook now gets + it's newlines escaped so that format_exception does not blow up. + +- internal new warning system: pytest will now produce warnings when + it detects oddities in your test collection or execution. + Warnings are ultimately sent to a new pytest_logwarning hook which is + currently only implemented by the terminal plugin which displays + warnings in the summary line and shows more details when -rw (report on + warnings) is specified. + +- change skips into warnings for test classes with an __init__ and + callables in test modules which look like a test but are not functions. + +- fix issue436: improved finding of initial conftest files from command + line arguments by using the result of parse_known_args rather than + the previous flaky heuristics. Thanks Marc Abramowitz for tests + and initial fixing approaches in this area. + +- fix issue #479: properly handle nose/unittest(2) SkipTest exceptions + during collection/loading of test modules. Thanks to Marc Schlaich + for the complete PR. + +- fix issue490: include pytest_load_initial_conftests in documentation + and improve docstring. + +- fix issue472: clarify that ``pytest.config.getvalue()`` cannot work + if it's triggered ahead of command line parsing. + +- merge PR123: improved integration with mock.patch decorator on tests. + +- fix issue412: messing with stdout/stderr FD-level streams is now + captured without crashes. + +- fix issue483: trial/py33 works now properly. Thanks Daniel Grana for PR. + +- improve example for pytest integration with "python setup.py test" + which now has a generic "-a" or "--pytest-args" option where you + can pass additional options as a quoted string. Thanks Trevor Bekolay. + +- simplified internal capturing mechanism and made it more robust + against tests or setups changing FD1/FD2, also better integrated + now with pytest.pdb() in single tests. + +- improvements to pytest's own test-suite leakage detection, courtesy of PRs + from Marc Abramowitz + +- fix issue492: avoid leak in test_writeorg. Thanks Marc Abramowitz. + +- fix issue493: don't run tests in doc directory with ``python setup.py test`` + (use tox -e doctesting for that) + +- fix issue486: better reporting and handling of early conftest loading failures + +- some cleanup and simplification of internal conftest handling. + +- work a bit harder to break reference cycles when catching exceptions. + Thanks Jurko Gospodnetic. + +- fix issue443: fix skip examples to use proper comparison. Thanks Alex + Groenholm. + +- support nose-style ``__test__`` attribute on modules, classes and + functions, including unittest-style Classes. If set to False, the + test will not be collected. + +- fix issue512: show "<notset>" for arguments which might not be set + in monkeypatch plugin. Improves output in documentation. + +- avoid importing "py.test" (an old alias module for "pytest") diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.1.rst new file mode 100644 index 000000000..6f27c5861 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.1.rst @@ -0,0 +1,59 @@ +pytest-2.6.1: fixes and new xfail feature +=========================================================================== + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +The 2.6.1 release is drop-in compatible to 2.5.2 and actually fixes some +regressions introduced with 2.6.0. It also brings a little feature +to the xfail marker which now recognizes expected exceptions, +see the CHANGELOG below. + +See docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed, among them: + + Floris Bruynooghe + Bruno Oliveira + Nicolas Delaby + +have fun, +holger krekel + +Changes 2.6.1 +================= + +- No longer show line numbers in the --verbose output, the output is now + purely the nodeid. The line number is still shown in failure reports. + Thanks Floris Bruynooghe. + +- fix issue437 where assertion rewriting could cause pytest-xdist slaves + to collect different tests. Thanks Bruno Oliveira. + +- fix issue555: add "errors" attribute to capture-streams to satisfy + some distutils and possibly other code accessing sys.stdout.errors. + +- fix issue547 capsys/capfd also work when output capturing ("-s") is disabled. + +- address issue170: allow pytest.mark.xfail(...) to specify expected exceptions via + an optional "raises=EXC" argument where EXC can be a single exception + or a tuple of exception classes. Thanks David Mohr for the complete + PR. + +- fix integration of pytest with unittest.mock.patch decorator when + it uses the "new" argument. Thanks Nicolas Delaby for test and PR. + +- fix issue with detecting conftest files if the arguments contain + "::" node id specifications (copy pasted from "-v" output) + +- fix issue544 by only removing "@NUM" at the end of "::" separated parts + and if the part has an ".py" extension + +- don't use py.std import helper, rather import things directly. + Thanks Bruno Oliveira. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.2.rst new file mode 100644 index 000000000..4efc73a4e --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.2.rst @@ -0,0 +1,52 @@ +pytest-2.6.2: few fixes and cx_freeze support +=========================================================================== + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is drop-in compatible to 2.5.2 and 2.6.X. It also +brings support for including pytest with cx_freeze or similar +freezing tools into your single-file app distribution. For details +see the CHANGELOG below. + +See docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed, among them: + + Floris Bruynooghe + Benjamin Peterson + Bruno Oliveira + +have fun, +holger krekel + +2.6.2 +----------- + +- Added function pytest.freeze_includes(), which makes it easy to embed + pytest into executables using tools like cx_freeze. + See docs for examples and rationale. Thanks Bruno Oliveira. + +- Improve assertion rewriting cache invalidation precision. + +- fixed issue561: adapt autouse fixture example for python3. + +- fixed issue453: assertion rewriting issue with __repr__ containing + "\n{", "\n}" and "\n~". + +- fix issue560: correctly display code if an "else:" or "finally:" is + followed by statements on the same line. + +- Fix example in monkeypatch documentation, thanks t-8ch. + +- fix issue572: correct tmpdir doc example for python3. + +- Do not mark as universal wheel because Python 2.6 is different from + other builds due to the extra argparse dependency. Fixes issue566. + Thanks sontek. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.3.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.3.rst new file mode 100644 index 000000000..13fae31b8 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.6.3.rst @@ -0,0 +1,52 @@ +pytest-2.6.3: fixes and little improvements +=========================================================================== + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is drop-in compatible to 2.5.2 and 2.6.X. +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed, among them: + + Floris Bruynooghe + Oleg Sinyavskiy + Uwe Schmitt + Charles Cloud + Wolfgang Schnerring + +have fun, +holger krekel + +Changes 2.6.3 +====================== + +- fix issue575: xunit-xml was reporting collection errors as failures + instead of errors, thanks Oleg Sinyavskiy. + +- fix issue582: fix setuptools example, thanks Laszlo Papp and Ronny + Pfannschmidt. + +- Fix infinite recursion bug when pickling capture.EncodedFile, thanks + Uwe Schmitt. + +- fix issue589: fix bad interaction with numpy and others when showing + exceptions. Check for precise "maximum recursion depth exceed" exception + instead of presuming any RuntimeError is that one (implemented in py + dep). Thanks Charles Cloud for analysing the issue. + +- fix conftest related fixture visibility issue: when running with a + CWD outside a test package pytest would get fixture discovery wrong. + Thanks to Wolfgang Schnerring for figuring out a reproducable example. + +- Introduce pytest_enter_pdb hook (needed e.g. by pytest_timeout to cancel the + timeout when interactively entering pdb). Thanks Wolfgang Schnerring. + +- check xfail/skip also with non-python function test items. Thanks + Floris Bruynooghe. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.0.rst new file mode 100644 index 000000000..07ae44ca1 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.0.rst @@ -0,0 +1,101 @@ +pytest-2.7.0: fixes, features, speed improvements +=========================================================================== + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.6.X. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed, among them: + + Anatoly Bubenkoff + Floris Bruynooghe + Brianna Laugher + Eric Siegerman + Daniel Hahler + Charles Cloud + Tom Viner + Holger Peters + Ldiary Translations + almarklein + +have fun, +holger krekel + +2.7.0 (compared to 2.6.4) +----------------------------- + +- fix issue435: make reload() work when assert rewriting is active. + Thanks Daniel Hahler. + +- fix issue616: conftest.py files and their contained fixutres are now + properly considered for visibility, independently from the exact + current working directory and test arguments that are used. + Many thanks to Eric Siegerman and his PR235 which contains + systematic tests for conftest visibility and now passes. + This change also introduces the concept of a ``rootdir`` which + is printed as a new pytest header and documented in the pytest + customize web page. + +- change reporting of "diverted" tests, i.e. tests that are collected + in one file but actually come from another (e.g. when tests in a test class + come from a base class in a different file). We now show the nodeid + and indicate via a postfix the other file. + +- add ability to set command line options by environment variable PYTEST_ADDOPTS. + +- added documentation on the new pytest-dev teams on bitbucket and + github. See https://pytest.org/latest/contributing.html . + Thanks to Anatoly for pushing and initial work on this. + +- fix issue650: new option ``--docttest-ignore-import-errors`` which + will turn import errors in doctests into skips. Thanks Charles Cloud + for the complete PR. + +- fix issue655: work around different ways that cause python2/3 + to leak sys.exc_info into fixtures/tests causing failures in 3rd party code + +- fix issue615: assertion re-writing did not correctly escape % signs + when formatting boolean operations, which tripped over mixing + booleans with modulo operators. Thanks to Tom Viner for the report, + triaging and fix. + +- implement issue351: add ability to specify parametrize ids as a callable + to generate custom test ids. Thanks Brianna Laugher for the idea and + implementation. + +- introduce and document new hookwrapper mechanism useful for plugins + which want to wrap the execution of certain hooks for their purposes. + This supersedes the undocumented ``__multicall__`` protocol which + pytest itself and some external plugins use. Note that pytest-2.8 + is scheduled to drop supporting the old ``__multicall__`` + and only support the hookwrapper protocol. + +- majorly speed up invocation of plugin hooks + +- use hookwrapper mechanism in builtin pytest plugins. + +- add a doctest ini option for doctest flags, thanks Holger Peters. + +- add note to docs that if you want to mark a parameter and the + parameter is a callable, you also need to pass in a reason to disambiguate + it from the "decorator" case. Thanks Tom Viner. + +- "python_classes" and "python_functions" options now support glob-patterns + for test discovery, as discussed in issue600. Thanks Ldiary Translations. + +- allow to override parametrized fixtures with non-parametrized ones and vice versa (bubenkoff). + +- fix issue463: raise specific error for 'parameterize' misspelling (pfctdayelise). + +- On failure, the ``sys.last_value``, ``sys.last_type`` and + ``sys.last_traceback`` are set, so that a user can inspect the error + via postmortem debugging (almarklein). + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.1.rst new file mode 100644 index 000000000..cd37cad0c --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.1.rst @@ -0,0 +1,58 @@ +pytest-2.7.1: bug fixes +======================= + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.7.0. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Bruno Oliveira + Holger Krekel + Ionel Maries Cristian + Floris Bruynooghe + +Happy testing, +The py.test Development Team + + +2.7.1 (compared to 2.7.0) +------------------------- + +- fix issue731: do not get confused by the braces which may be present + and unbalanced in an object's repr while collapsing False + explanations. Thanks Carl Meyer for the report and test case. + +- fix issue553: properly handling inspect.getsourcelines failures in + FixtureLookupError which would lead to to an internal error, + obfuscating the original problem. Thanks talljosh for initial + diagnose/patch and Bruno Oliveira for final patch. + +- fix issue660: properly report scope-mismatch-access errors + independently from ordering of fixture arguments. Also + avoid the pytest internal traceback which does not provide + information to the user. Thanks Holger Krekel. + +- streamlined and documented release process. Also all versions + (in setup.py and documentation generation) are now read + from _pytest/__init__.py. Thanks Holger Krekel. + +- fixed docs to remove the notion that yield-fixtures are experimental. + They are here to stay :) Thanks Bruno Oliveira. + +- Support building wheels by using environment markers for the + requirements. Thanks Ionel Maries Cristian. + +- fixed regression to 2.6.4 which surfaced e.g. in lost stdout capture printing + when tests raised SystemExit. Thanks Holger Krekel. + +- reintroduced _pytest fixture of the pytester plugin which is used + at least by pytest-xdist. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.2.rst new file mode 100644 index 000000000..69130ad62 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.7.2.rst @@ -0,0 +1,58 @@ +pytest-2.7.2: bug fixes +======================= + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.7.1. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Bruno Oliveira + Floris Bruynooghe + Punyashloka Biswal + Aron Curzon + Benjamin Peterson + Thomas De Schampheleire + Edison Gustavo Muenz + Holger Krekel + +Happy testing, +The py.test Development Team + + +2.7.2 (compared to 2.7.1) +----------------------------- + +- fix issue767: pytest.raises value attribute does not contain the exception + instance on Python 2.6. Thanks Eric Siegerman for providing the test + case and Bruno Oliveira for PR. + +- Automatically create directory for junitxml and results log. + Thanks Aron Curzon. + +- fix issue713: JUnit XML reports for doctest failures. + Thanks Punyashloka Biswal. + +- fix issue735: assertion failures on debug versions of Python 3.4+ + Thanks Benjamin Peterson. + +- fix issue114: skipif marker reports to internal skipping plugin; + Thanks Floris Bruynooghe for reporting and Bruno Oliveira for the PR. + +- fix issue748: unittest.SkipTest reports to internal pytest unittest plugin. + Thanks Thomas De Schampheleire for reporting and Bruno Oliveira for the PR. + +- fix issue718: failed to create representation of sets containing unsortable + elements in python 2. Thanks Edison Gustavo Muenz + +- fix issue756, fix issue752 (and similar issues): depend on py-1.4.29 + which has a refined algorithm for traceback generation. + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.2.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.2.rst new file mode 100644 index 000000000..d70286161 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.2.rst @@ -0,0 +1,44 @@ +pytest-2.8.2: bug fixes +======================= + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.8.1. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Bruno Oliveira + Demian Brecht + Florian Bruhin + Ionel Cristian Mărieș + Raphael Pierzina + Ronny Pfannschmidt + holger krekel + +Happy testing, +The py.test Development Team + + +2.8.2 (compared to 2.7.2) +----------------------------- + +- fix #1085: proper handling of encoding errors when passing encoded byte + strings to pytest.parametrize in Python 2. + Thanks Themanwithoutaplan for the report and Bruno Oliveira for the PR. + +- fix #1087: handling SystemError when passing empty byte strings to + pytest.parametrize in Python 3. + Thanks Paul Kehrer for the report and Bruno Oliveira for the PR. + +- fix #995: fixed internal error when filtering tracebacks where one entry + was generated by an exec() statement. + Thanks Daniel Hahler, Ashley C Straw, Philippe Gauthier and Pavel Savchenko + for contributing and Bruno Oliveira for the PR. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.3.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.3.rst new file mode 100644 index 000000000..d080ac724 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.3.rst @@ -0,0 +1,59 @@ +pytest-2.8.3: bug fixes +======================= + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.8.2. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Bruno Oliveira + Florian Bruhin + Gabe Hollombe + Gabriel Reis + Hartmut Goebel + John Vandenberg + Lee Kamentsky + Michael Birtwell + Raphael Pierzina + Ronny Pfannschmidt + William Martin Stewart + +Happy testing, +The py.test Development Team + + +2.8.3 (compared to 2.8.2) +----------------------------- + +- fix #1169: add __name__ attribute to testcases in TestCaseFunction to + support the @unittest.skip decorator on functions and methods. + Thanks Lee Kamentsky for the PR. + +- fix #1035: collecting tests if test module level obj has __getattr__(). + Thanks Suor for the report and Bruno Oliveira / Tom Viner for the PR. + +- fix #331: don't collect tests if their failure cannot be reported correctly + e.g. they are a callable instance of a class. + +- fix #1133: fixed internal error when filtering tracebacks where one entry + belongs to a file which is no longer available. + Thanks Bruno Oliveira for the PR. + +- enhancement made to highlight in red the name of the failing tests so + they stand out in the output. + Thanks Gabriel Reis for the PR. + +- add more talks to the documentation +- extend documentation on the --ignore cli option +- use pytest-runner for setuptools integration +- minor fixes for interaction with OS X El Capitan system integrity protection (thanks Florian) + diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.4.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.4.rst new file mode 100644 index 000000000..a09629cef --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.4.rst @@ -0,0 +1,52 @@ +pytest-2.8.4 +============ + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.8.2. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Bruno Oliveira + Florian Bruhin + Jeff Widman + Mehdy Khoshnoody + Nicholas Chammas + Ronny Pfannschmidt + Tim Chan + + +Happy testing, +The py.test Development Team + + +2.8.4 (compared to 2.8.3) +----------------------------- + +- fix #1190: ``deprecated_call()`` now works when the deprecated + function has been already called by another test in the same + module. Thanks Mikhail Chernykh for the report and Bruno Oliveira for the + PR. + +- fix #1198: ``--pastebin`` option now works on Python 3. Thanks + Mehdy Khoshnoody for the PR. + +- fix #1219: ``--pastebin`` now works correctly when captured output contains + non-ascii characters. Thanks Bruno Oliveira for the PR. + +- fix #1204: another error when collecting with a nasty __getattr__(). + Thanks Florian Bruhin for the PR. + +- fix the summary printed when no tests did run. + Thanks Florian Bruhin for the PR. + +- a number of documentation modernizations wrt good practices. + Thanks Bruno Oliveira for the PR. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.5.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.5.rst new file mode 100644 index 000000000..7409022a1 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.5.rst @@ -0,0 +1,39 @@ +pytest-2.8.5 +============ + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.8.4. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Alex Gaynor + aselus-hub + Bruno Oliveira + Ronny Pfannschmidt + + +Happy testing, +The py.test Development Team + + +2.8.5 (compared to 2.8.4) +------------------------- + +- fix #1243: fixed issue where class attributes injected during collection could break pytest. + PR by Alexei Kozlenok, thanks Ronny Pfannschmidt and Bruno Oliveira for the review and help. + +- fix #1074: precompute junitxml chunks instead of storing the whole tree in objects + Thanks Bruno Oliveira for the report and Ronny Pfannschmidt for the PR + +- fix #1238: fix ``pytest.deprecated_call()`` receiving multiple arguments + (Regression introduced in 2.8.4). Thanks Alex Gaynor for the report and + Bruno Oliveira for the PR. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.6.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.6.rst new file mode 100644 index 000000000..215fae51e --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.6.rst @@ -0,0 +1,67 @@ +pytest-2.8.6 +============ + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.8.5. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + AMiT Kumar + Bruno Oliveira + Erik M. Bray + Florian Bruhin + Georgy Dyuldin + Jeff Widman + Kartik Singhal + Loïc Estève + Manu Phatak + Peter Demin + Rick van Hattem + Ronny Pfannschmidt + Ulrich Petri + foxx + + +Happy testing, +The py.test Development Team + + +2.8.6 (compared to 2.8.5) +------------------------- + +- fix #1259: allow for double nodeids in junitxml, + this was a regression failing plugins combinations + like pytest-pep8 + pytest-flakes + +- Workaround for exception that occurs in pyreadline when using + ``--pdb`` with standard I/O capture enabled. + Thanks Erik M. Bray for the PR. + +- fix #900: Better error message in case the target of a ``monkeypatch`` call + raises an ``ImportError``. + +- fix #1292: monkeypatch calls (setattr, setenv, etc.) are now O(1). + Thanks David R. MacIver for the report and Bruno Oliveira for the PR. + +- fix #1223: captured stdout and stderr are now properly displayed before + entering pdb when ``--pdb`` is used instead of being thrown away. + Thanks Cal Leeming for the PR. + +- fix #1305: pytest warnings emitted during ``pytest_terminal_summary`` are now + properly displayed. + Thanks Ionel Maries Cristian for the report and Bruno Oliveira for the PR. + +- fix #628: fixed internal UnicodeDecodeError when doctests contain unicode. + Thanks Jason R. Coombs for the report and Bruno Oliveira for the PR. + +- fix #1334: Add captured stdout to jUnit XML report on setup error. + Thanks Georgy Dyuldin for the PR. diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.7.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.7.rst new file mode 100644 index 000000000..d98d73106 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.8.7.rst @@ -0,0 +1,31 @@ +pytest-2.8.7 +============ + +This is a hotfix release to solve a regression +in the builtin monkeypatch plugin that got introduced in 2.8.6. + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. +This release is supposed to be drop-in compatible to 2.8.5. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Ronny Pfannschmidt + + +Happy testing, +The py.test Development Team + + +2.8.7 (compared to 2.8.6) +------------------------- + +- fix #1338: use predictable object resolution for monkeypatch
\ No newline at end of file diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.9.0.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.9.0.rst new file mode 100644 index 000000000..99c1c631f --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.9.0.rst @@ -0,0 +1,159 @@ +pytest-2.9.0 +============ + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Anatoly Bubenkov + Bruno Oliveira + Buck Golemon + David Vierra + Florian Bruhin + Galaczi Endre + Georgy Dyuldin + Lukas Bednar + Luke Murphy + Marcin Biernat + Matt Williams + Michael Aquilina + Raphael Pierzina + Ronny Pfannschmidt + Ryan Wooden + Tiemo Kieft + TomV + holger krekel + jab + + +Happy testing, +The py.test Development Team + + +2.9.0 (compared to 2.8.7) +------------------------- + +**New Features** + +* New ``pytest.mark.skip`` mark, which unconditionally skips marked tests. + Thanks `@MichaelAquilina`_ for the complete PR (`#1040`_). + +* ``--doctest-glob`` may now be passed multiple times in the command-line. + Thanks `@jab`_ and `@nicoddemus`_ for the PR. + +* New ``-rp`` and ``-rP`` reporting options give the summary and full output + of passing tests, respectively. Thanks to `@codewarrior0`_ for the PR. + +* ``pytest.mark.xfail`` now has a ``strict`` option which makes ``XPASS`` + tests to fail the test suite, defaulting to ``False``. There's also a + ``xfail_strict`` ini option that can be used to configure it project-wise. + Thanks `@rabbbit`_ for the request and `@nicoddemus`_ for the PR (`#1355`_). + +* ``Parser.addini`` now supports options of type ``bool``. Thanks + `@nicoddemus`_ for the PR. + +* New ``ALLOW_BYTES`` doctest option strips ``b`` prefixes from byte strings + in doctest output (similar to ``ALLOW_UNICODE``). + Thanks `@jaraco`_ for the request and `@nicoddemus`_ for the PR (`#1287`_). + +* give a hint on KeyboardInterrupt to use the --fulltrace option to show the errors, + this fixes `#1366`_. + Thanks to `@hpk42`_ for the report and `@RonnyPfannschmidt`_ for the PR. + +* catch IndexError exceptions when getting exception source location. This fixes + pytest internal error for dynamically generated code (fixtures and tests) + where source lines are fake by intention + +**Changes** + +* **Important**: `py.code <http://pylib.readthedocs.org/en/latest/code.html>`_ has been + merged into the ``pytest`` repository as ``pytest._code``. This decision + was made because ``py.code`` had very few uses outside ``pytest`` and the + fact that it was in a different repository made it difficult to fix bugs on + its code in a timely manner. The team hopes with this to be able to better + refactor out and improve that code. + This change shouldn't affect users, but it is useful to let users aware + if they encounter any strange behavior. + + Keep in mind that the code for ``pytest._code`` is **private** and + **experimental**, so you definitely should not import it explicitly! + + Please note that the original ``py.code`` is still available in + `pylib <http://pylib.readthedocs.org>`_. + +* ``pytest_enter_pdb`` now optionally receives the pytest config object. + Thanks `@nicoddemus`_ for the PR. + +* Removed code and documentation for Python 2.5 or lower versions, + including removal of the obsolete ``_pytest.assertion.oldinterpret`` module. + Thanks `@nicoddemus`_ for the PR (`#1226`_). + +* Comparisons now always show up in full when ``CI`` or ``BUILD_NUMBER`` is + found in the environment, even when -vv isn't used. + Thanks `@The-Compiler`_ for the PR. + +* ``--lf`` and ``--ff`` now support long names: ``--last-failed`` and + ``--failed-first`` respectively. + Thanks `@MichaelAquilina`_ for the PR. + +* Added expected exceptions to pytest.raises fail message + +* Collection only displays progress ("collecting X items") when in a terminal. + This avoids cluttering the output when using ``--color=yes`` to obtain + colors in CI integrations systems (`#1397`_). + +**Bug Fixes** + +* The ``-s`` and ``-c`` options should now work under ``xdist``; + ``Config.fromdictargs`` now represents its input much more faithfully. + Thanks to `@bukzor`_ for the complete PR (`#680`_). + +* Fix (`#1290`_): support Python 3.5's ``@`` operator in assertion rewriting. + Thanks `@Shinkenjoe`_ for report with test case and `@tomviner`_ for the PR. + +* Fix formatting utf-8 explanation messages (`#1379`_). + Thanks `@biern`_ for the PR. + +* Fix `traceback style docs`_ to describe all of the available options + (auto/long/short/line/native/no), with `auto` being the default since v2.6. + Thanks `@hackebrot`_ for the PR. + +* Fix (`#1422`_): junit record_xml_property doesn't allow multiple records + with same name. + + +.. _`traceback style docs`: https://pytest.org/latest/usage.html#modifying-python-traceback-printing + +.. _#1422: https://github.com/pytest-dev/pytest/issues/1422 +.. _#1379: https://github.com/pytest-dev/pytest/issues/1379 +.. _#1366: https://github.com/pytest-dev/pytest/issues/1366 +.. _#1040: https://github.com/pytest-dev/pytest/pull/1040 +.. _#680: https://github.com/pytest-dev/pytest/issues/680 +.. _#1287: https://github.com/pytest-dev/pytest/pull/1287 +.. _#1226: https://github.com/pytest-dev/pytest/pull/1226 +.. _#1290: https://github.com/pytest-dev/pytest/pull/1290 +.. _#1355: https://github.com/pytest-dev/pytest/pull/1355 +.. _#1397: https://github.com/pytest-dev/pytest/issues/1397 +.. _@biern: https://github.com/biern +.. _@MichaelAquilina: https://github.com/MichaelAquilina +.. _@bukzor: https://github.com/bukzor +.. _@hpk42: https://github.com/hpk42 +.. _@nicoddemus: https://github.com/nicoddemus +.. _@jab: https://github.com/jab +.. _@codewarrior0: https://github.com/codewarrior0 +.. _@jaraco: https://github.com/jaraco +.. _@The-Compiler: https://github.com/The-Compiler +.. _@Shinkenjoe: https://github.com/Shinkenjoe +.. _@tomviner: https://github.com/tomviner +.. _@RonnyPfannschmidt: https://github.com/RonnyPfannschmidt +.. _@rabbbit: https://github.com/rabbbit +.. _@hackebrot: https://github.com/hackebrot
\ No newline at end of file diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.9.1.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.9.1.rst new file mode 100644 index 000000000..05a448430 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/release-2.9.1.rst @@ -0,0 +1,65 @@ +pytest-2.9.1 +============ + +pytest is a mature Python testing tool with more than a 1100 tests +against itself, passing on many different interpreters and platforms. + +See below for the changes and see docs at: + + http://pytest.org + +As usual, you can upgrade from pypi via:: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + + Bruno Oliveira + Daniel Hahler + Dmitry Malinovsky + Florian Bruhin + Floris Bruynooghe + Matt Bachmann + Ronny Pfannschmidt + TomV + Vladimir Bolshakov + Zearin + palaviv + + +Happy testing, +The py.test Development Team + + +2.9.1 (compared to 2.9.0) +------------------------- + +**Bug Fixes** + +* Improve error message when a plugin fails to load. + Thanks `@nicoddemus`_ for the PR. + +* Fix (`#1178 <https://github.com/pytest-dev/pytest/issues/1178>`_): + ``pytest.fail`` with non-ascii characters raises an internal pytest error. + Thanks `@nicoddemus`_ for the PR. + +* Fix (`#469`_): junit parses report.nodeid incorrectly, when params IDs + contain ``::``. Thanks `@tomviner`_ for the PR (`#1431`_). + +* Fix (`#578 <https://github.com/pytest-dev/pytest/issues/578>`_): SyntaxErrors + containing non-ascii lines at the point of failure generated an internal + py.test error. + Thanks `@asottile`_ for the report and `@nicoddemus`_ for the PR. + +* Fix (`#1437`_): When passing in a bytestring regex pattern to parameterize + attempt to decode it as utf-8 ignoring errors. + +* Fix (`#649`_): parametrized test nodes cannot be specified to run on the command line. + + +.. _#1437: https://github.com/pytest-dev/pytest/issues/1437 +.. _#469: https://github.com/pytest-dev/pytest/issues/469 +.. _#1431: https://github.com/pytest-dev/pytest/pull/1431 +.. _#649: https://github.com/pytest-dev/pytest/issues/649 + +.. _@asottile: https://github.com/asottile diff --git a/testing/web-platform/tests/tools/pytest/doc/en/announce/sprint2016.rst b/testing/web-platform/tests/tools/pytest/doc/en/announce/sprint2016.rst new file mode 100644 index 000000000..e59ccdda7 --- /dev/null +++ b/testing/web-platform/tests/tools/pytest/doc/en/announce/sprint2016.rst @@ -0,0 +1,105 @@ +python testing sprint June 20th-26th 2016 +====================================================== + +.. image:: ../img/freiburg2.jpg + :width: 400 + +The pytest core group is heading towards the biggest sprint +in its history, to take place in the black forest town Freiburg +in Germany. As of February 2016 we have started a `funding +campaign on Indiegogo to cover expenses +<http://igg.me/at/pytest-sprint/x/4034848>`_ The page also mentions +some preliminary topics: + +- improving pytest-xdist test scheduling to take into account + fixture setups and explicit user hints. + +- provide info on fixture dependencies during --collect-only + +- tying pytest-xdist to tox so that you can do "py.test -e py34" + to run tests in a particular tox-managed virtualenv. Also + look into making pytest-xdist use tox environments on + remote ssh-sides so that remote dependency management becomes + easier. + +- refactoring the fixture system so more people understand it :) + +- integrating PyUnit setup methods as autouse fixtures. + possibly adding ways to influence ordering of same-scoped + fixtures (so you can make a choice of which fixtures come + before others) + +- fixing bugs and issues from the tracker, really an endless source :) + + +Participants +-------------- + +Here are preliminary participants who said they are likely to come, +given some expenses funding:: + + Anatoly Bubenkoff, Netherlands + Andreas Pelme, Personalkollen, Sweden + Anthony Wang, Splunk, US + Brianna Laugher, Australia + Bruno Oliveira, Brazil + Danielle Jenkins, Splunk, US + Dave Hunt, UK + Florian Bruhin, Switzerland + Floris Bruynooghe, Cobe.io, UK + Holger Krekel, merlinux, Germany + Oliver Bestwalter, Avira, Germany + Omar Kohl, Germany + Raphael Pierzina, FanDuel, UK + Tom Viner, UK + + <your name here?> + +Other contributors and experienced newcomers are invited to join as well +but please send a mail to the pytest-dev mailing list if you intend to +do so somewhat soon, also how much funding you need if so. And if you +are working for a company and using pytest heavily you are welcome to +join and we encourage your company to provide some funding for the +sprint. They may see it, and rightfully so, as a very cheap and deep +training which brings you together with the experts in the field :) + + +Sprint organisation, schedule +------------------------------- + +tentative schedule: + +- 19/20th arrival in Freiburg +- 20th social get together, initial hacking +- 21/22th full sprint days +- 23rd break day, hiking +- 24/25th full sprint days +- 26th departure + +We might adjust according to weather to make sure that if +we do some hiking or excursion we'll have good weather. +Freiburg is one of the sunniest places in Germany so +it shouldn't be too much of a constraint. + + +Accomodation +---------------- + +We'll see to arrange for renting a flat with multiple +beds/rooms. Hotels are usually below 100 per night. +The earlier we book the better. + +Money / funding +--------------- + +The Indiegogo campaign asks for 11000 USD which should cover +the costs for flights and accomodation, renting a sprint place +and maybe a bit of food as well. + +If your organisation wants to support the sprint but prefers +to give money according to an invoice, get in contact with +holger at http://merlinux.eu who can invoice your organisation +properly. + +If we have excess money we'll use for further sprint/travel +funding for pytest/tox contributors. |