From 4eeb4751385519d54b304176f4712ec4ae01865b Mon Sep 17 00:00:00 2001 From: mbyt Date: Tue, 30 Aug 2016 21:55:49 +0200 Subject: [PATCH 01/13] avoid tearDown and cleanup for unittest debugging --- _pytest/unittest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/_pytest/unittest.py b/_pytest/unittest.py index f24b49624..5e87441cc 100644 --- a/_pytest/unittest.py +++ b/_pytest/unittest.py @@ -150,7 +150,12 @@ class TestCaseFunction(pytest.Function): pass def runtest(self): - self._testcase(result=self) + if self.config.pluginmanager.get_plugin("pdbinvoke") is None: + self._testcase(result=self) + else: + # disables tearDown and cleanups for post mortem debugging + self._testcase.debug() + def _prunetraceback(self, excinfo): pytest.Function._prunetraceback(self, excinfo) From c8a366e5510d1317066ef471cb1a056f902e8a5a Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 30 Aug 2016 22:15:53 -0300 Subject: [PATCH 02/13] Fix issue where pytest_plugins as string was marking wrong modules for rewrite Fix #1888 --- _pytest/assertion/__init__.py | 6 ++++++ _pytest/config.py | 2 ++ testing/test_assertion.py | 29 +++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/_pytest/assertion/__init__.py b/_pytest/assertion/__init__.py index 3c42910d5..fd1ebe2c1 100644 --- a/_pytest/assertion/__init__.py +++ b/_pytest/assertion/__init__.py @@ -36,7 +36,13 @@ def register_assert_rewrite(*names): Thus you should make sure to call this before the module is actually imported, usually in your __init__.py if you are a plugin using a package. + + :raise TypeError: if the given module names are not strings. """ + for name in names: + if not isinstance(name, str): + msg = 'expected module names as *args, got {0} instead' + raise TypeError(msg.format(repr(names))) for hook in sys.meta_path: if isinstance(hook, rewrite.AssertionRewritingHook): importhook = hook diff --git a/_pytest/config.py b/_pytest/config.py index 2a1215811..5b4654a24 100644 --- a/_pytest/config.py +++ b/_pytest/config.py @@ -379,6 +379,8 @@ class PytestPluginManager(PluginManager): def consider_module(self, mod): plugins = getattr(mod, 'pytest_plugins', []) + if isinstance(plugins, str): + plugins = [plugins] self.rewrite_hook.mark_rewrite(*plugins) self._import_plugin_specs(plugins) diff --git a/testing/test_assertion.py b/testing/test_assertion.py index a3a29a76c..d49815181 100644 --- a/testing/test_assertion.py +++ b/testing/test_assertion.py @@ -84,6 +84,29 @@ class TestImportHookInstallation: assert 0 result.stdout.fnmatch_lines([expected]) + @pytest.mark.parametrize('mode', ['str', 'list']) + def test_pytest_plugins_rewrite_module_names(self, testdir, mode): + """Test that pluginmanager correct marks pytest_plugins variables + for assertion rewriting if they are defined as plain strings or + list of strings (#1888). + """ + plugins = '"ham"' if mode == 'str' else '["ham"]' + contents = { + 'conftest.py': """ + pytest_plugins = {plugins} + """.format(plugins=plugins), + 'ham.py': """ + import pytest + """, + 'test_foo.py': """ + def test_foo(pytestconfig): + assert 'ham' in pytestconfig.pluginmanager.rewrite_hook._must_rewrite + """, + } + testdir.makepyfile(**contents) + result = testdir.runpytest_subprocess('--assert=rewrite') + assert result.ret == 0 + @pytest.mark.parametrize('mode', ['plain', 'rewrite']) def test_installed_plugin_rewrite(self, testdir, mode): # Make sure the hook is installed early enough so that plugins @@ -196,6 +219,12 @@ class TestImportHookInstallation: '>*assert l.pop() == 3*', 'E*AssertionError']) + def test_register_assert_rewrite_checks_types(self): + with pytest.raises(TypeError): + pytest.register_assert_rewrite(['pytest_tests_internal_non_existing']) + pytest.register_assert_rewrite('pytest_tests_internal_non_existing', + 'pytest_tests_internal_non_existing2') + class TestBinReprIntegration: From edf8283bd8a6b4e53299a045ffa96d9d8d26ebf5 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 30 Aug 2016 23:13:27 -0300 Subject: [PATCH 03/13] Add CHANGELOG entry for #1888 --- CHANGELOG.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a1aea9bbd..5689d04dc 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,7 +10,13 @@ Thanks `@joguSD`_ for the PR. * Fix ``UnicodeEncodeError`` when string comparison with unicode has failed. (`#1864`_) - Thanks `@AiOO`_ for the PR + Thanks `@AiOO`_ for the PR. + +* ``pytest_plugins`` is now handled correctly if defined as a string (as opposed as + a sequence of strings) when modules are considered for assertion rewriting. + Due to this bug, much more modules were being rewritten than necessary + if a test suite uses ``pytest_plugins`` to load internal plugins (`#1888`_). + Thanks `@jaraco`_ for the report and `@nicoddemus`_ for the PR (`#1891`_). * @@ -19,6 +25,8 @@ .. _#1857: https://github.com/pytest-dev/pytest/issues/1857 .. _#1864: https://github.com/pytest-dev/pytest/issues/1864 +.. _#1888: https://github.com/pytest-dev/pytest/issues/1888 +.. _#1891: https://github.com/pytest-dev/pytest/pull/1891 3.0.1 From 10b3274924af304b705f98d2801bd196be4663db Mon Sep 17 00:00:00 2001 From: mbyt Date: Wed, 31 Aug 2016 20:22:54 +0200 Subject: [PATCH 04/13] adding corresponding test, authors and changelog --- AUTHORS | 1 + CHANGELOG.rst | 7 +++++++ testing/test_pdb.py | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/AUTHORS b/AUTHORS index 043de70c1..c74aa4af6 100644 --- a/AUTHORS +++ b/AUTHORS @@ -91,6 +91,7 @@ Martin Prusse Matt Bachmann Matt Williams Matthias Hafner +mbyt Michael Aquilina Michael Birtwell Michael Droettboom diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a1aea9bbd..b02afe038 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,13 +12,20 @@ * Fix ``UnicodeEncodeError`` when string comparison with unicode has failed. (`#1864`_) Thanks `@AiOO`_ for the PR +* Do not call tearDown (and cleanups) when running unittest with ``--pdb`` + enabled. This allows proper post mortem debugging for all applications + which have significant logic in their tearDown method (`#1890`_). Thanks + `@mbyt`_ for the PR. + * .. _@joguSD: https://github.com/joguSD .. _@AiOO: https://github.com/AiOO +.. _@mbyt: https://github.com/mbyt .. _#1857: https://github.com/pytest-dev/pytest/issues/1857 .. _#1864: https://github.com/pytest-dev/pytest/issues/1864 +.. _#1890: https://github.com/pytest-dev/pytest/issues/1890 3.0.1 diff --git a/testing/test_pdb.py b/testing/test_pdb.py index 6e4f3e805..a0fbc473e 100644 --- a/testing/test_pdb.py +++ b/testing/test_pdb.py @@ -79,6 +79,25 @@ class TestPDB: if child.isalive(): child.wait() + def test_pdb_unittest_postmortem(self, testdir): + p1 = testdir.makepyfile(""" + import unittest + class Blub(unittest.TestCase): + def tearDown(self): + self.filename = None + def test_false(self): + self.filename = 'bla' + '.txt' + assert 0 + """) + child = testdir.spawn_pytest("--pdb %s" % p1) + child.expect('(Pdb)') + child.sendline('p self.filename') + child.sendeof() + rest = child.read().decode("utf8") + assert 'bla.txt' in rest + if child.isalive(): + child.wait() + def test_pdb_interaction_capture(self, testdir): p1 = testdir.makepyfile(""" def test_1(): From 696a9112beacdaf970d06809dcb0fd04e69325e9 Mon Sep 17 00:00:00 2001 From: mbyt Date: Wed, 31 Aug 2016 22:33:47 +0200 Subject: [PATCH 05/13] integrating review commets of @nicoddemus plus small scale refactoring --- CHANGELOG.rst | 5 +++-- _pytest/unittest.py | 2 +- doc/en/unittest.rst | 7 +++++++ testing/test_pdb.py | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7d6db671b..44fc9f259 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -18,9 +18,10 @@ if a test suite uses ``pytest_plugins`` to load internal plugins (`#1888`_). Thanks `@jaraco`_ for the report and `@nicoddemus`_ for the PR (`#1891`_). -* Do not call tearDown (and cleanups) when running unittest with ``--pdb`` +* Do not call tearDown and cleanups when running tests from + ``unittest.TestCase`` subclasses with ``--pdb`` enabled. This allows proper post mortem debugging for all applications - which have significant logic in their tearDown method (`#1890`_). Thanks + which have significant logic in their tearDown machinery (`#1890`_). Thanks `@mbyt`_ for the PR. * diff --git a/_pytest/unittest.py b/_pytest/unittest.py index 5e87441cc..47868f448 100644 --- a/_pytest/unittest.py +++ b/_pytest/unittest.py @@ -153,7 +153,7 @@ class TestCaseFunction(pytest.Function): if self.config.pluginmanager.get_plugin("pdbinvoke") is None: self._testcase(result=self) else: - # disables tearDown and cleanups for post mortem debugging + # disables tearDown and cleanups for post mortem debugging (see #1890) self._testcase.debug() diff --git a/doc/en/unittest.rst b/doc/en/unittest.rst index 9e0b4973d..e4c09ee24 100644 --- a/doc/en/unittest.rst +++ b/doc/en/unittest.rst @@ -33,6 +33,13 @@ distributing tests to multiple CPUs via the ``-nNUM`` option if you installed the ``pytest-xdist`` plugin. Please refer to the general ``pytest`` documentation for many more examples. +.. note:: + + Running tests from ``unittest.TestCase`` subclasses with ``--pdb`` will + disable tearDown and cleanup methods for the case that an Exception is + occurs. This allows proper post mortem debugging for all applications + which have significant logic in their tearDown machinery. + Mixing pytest fixtures into unittest.TestCase style tests ----------------------------------------------------------- diff --git a/testing/test_pdb.py b/testing/test_pdb.py index a0fbc473e..d79d71262 100644 --- a/testing/test_pdb.py +++ b/testing/test_pdb.py @@ -86,7 +86,7 @@ class TestPDB: def tearDown(self): self.filename = None def test_false(self): - self.filename = 'bla' + '.txt' + self.filename = 'debug' + '.me' assert 0 """) child = testdir.spawn_pytest("--pdb %s" % p1) @@ -94,7 +94,7 @@ class TestPDB: child.sendline('p self.filename') child.sendeof() rest = child.read().decode("utf8") - assert 'bla.txt' in rest + assert 'debug.me' in rest if child.isalive(): child.wait() From e43d1174f7cf1b495c6ff07c807de0da9e89ba2f Mon Sep 17 00:00:00 2001 From: mbyt Date: Wed, 31 Aug 2016 22:46:40 +0200 Subject: [PATCH 06/13] spelling --- doc/en/unittest.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/en/unittest.rst b/doc/en/unittest.rst index e4c09ee24..d400adcaa 100644 --- a/doc/en/unittest.rst +++ b/doc/en/unittest.rst @@ -36,7 +36,7 @@ the general ``pytest`` documentation for many more examples. .. note:: Running tests from ``unittest.TestCase`` subclasses with ``--pdb`` will - disable tearDown and cleanup methods for the case that an Exception is + disable tearDown and cleanup methods for the case that an Exception occurs. This allows proper post mortem debugging for all applications which have significant logic in their tearDown machinery. From 4c45b93007ac62234d8a5a593be2ebbfc6c1e252 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Wed, 31 Aug 2016 20:19:32 -0400 Subject: [PATCH 07/13] Changes for 3.0.2 release --- CHANGELOG.rst | 8 ++------ _pytest/__init__.py | 2 +- doc/en/announce/index.rst | 5 +++-- doc/en/announce/release-3.0.2.rst | 26 ++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 doc/en/announce/release-3.0.2.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 44fc9f259..dd8647b8a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,7 +1,5 @@ -3.0.2.dev -========= - -* +3.0.2 +===== * Improve error message when passing non-string ids to ``pytest.mark.parametrize`` (`#1857`_). Thanks `@okken`_ for the report and `@nicoddemus`_ for the PR. @@ -24,8 +22,6 @@ which have significant logic in their tearDown machinery (`#1890`_). Thanks `@mbyt`_ for the PR. -* - .. _@joguSD: https://github.com/joguSD .. _@AiOO: https://github.com/AiOO .. _@mbyt: https://github.com/mbyt diff --git a/_pytest/__init__.py b/_pytest/__init__.py index c99044765..757e56087 100644 --- a/_pytest/__init__.py +++ b/_pytest/__init__.py @@ -1,2 +1,2 @@ # -__version__ = '3.0.2.dev' +__version__ = '3.0.2' diff --git a/doc/en/announce/index.rst b/doc/en/announce/index.rst index 8613582b3..90e6fcb6e 100644 --- a/doc/en/announce/index.rst +++ b/doc/en/announce/index.rst @@ -5,10 +5,11 @@ Release announcements .. toctree:: :maxdepth: 2 - - sprint2016 + + release-3.0.2 release-3.0.1 release-3.0.0 + sprint2016 release-2.9.2 release-2.9.1 release-2.9.0 diff --git a/doc/en/announce/release-3.0.2.rst b/doc/en/announce/release-3.0.2.rst new file mode 100644 index 000000000..09e10b28c --- /dev/null +++ b/doc/en/announce/release-3.0.2.rst @@ -0,0 +1,26 @@ +pytest-3.0.2 +============ + +pytest 3.0.2 has just been released to PyPI. + +This release fixes some regressions reported in version 3.0.0, being a +drop-in replacement. To upgrade:: + + pip install --upgrade pytest + +The changelog is available at http://doc.pytest.org/en/latest/changelog.html. + +Thanks to all who contributed to this release, among them: + +* Adam Chainz +* Andrew Svetlov +* Bruno Oliveira +* Daniel Hahler +* Dmitry Dygalo +* Florian Bruhin +* Marcin Bachry +* Ronny Pfannschmidt +* matthiasha + +Happy testing, +The pytest Development Team From f985f47a02a512e1280ef6817c1cf4b72d50b5b2 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Wed, 31 Aug 2016 20:30:06 -0400 Subject: [PATCH 08/13] Fix reportingdemo call to pytest --- doc/en/example/reportingdemo.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/en/example/reportingdemo.rst b/doc/en/example/reportingdemo.rst index 6275bc941..fb6447505 100644 --- a/doc/en/example/reportingdemo.rst +++ b/doc/en/example/reportingdemo.rst @@ -9,7 +9,7 @@ and how ``pytest`` presents things (unfortunately not showing the nice colors here in the HTML that you get on the terminal - we are working on that):: - $ pytest failure_demo.py + assertion $ pytest failure_demo.py ======= test session starts ======== platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR/assertion, inifile: From d512e7f26b2290b9031c89bbd632b6b5e699058f Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Wed, 31 Aug 2016 20:32:05 -0400 Subject: [PATCH 09/13] Run regendoc for 3.0.2 release --- doc/en/assert.rst | 4 ++-- doc/en/cache.rst | 10 +++++----- doc/en/capture.rst | 2 +- doc/en/doctest.rst | 2 +- doc/en/example/markers.rst | 28 ++++++++++++++-------------- doc/en/example/nonpython.rst | 6 +++--- doc/en/example/parametrize.rst | 12 ++++++------ doc/en/example/pythoncollection.rst | 6 +++--- doc/en/example/reportingdemo.rst | 4 ++-- doc/en/example/simple.rst | 24 ++++++++++++------------ doc/en/fixture.rst | 10 +++++----- doc/en/getting-started.rst | 5 ++--- doc/en/index.rst | 11 ++++++----- doc/en/parametrize.rst | 4 ++-- doc/en/skipping.rst | 2 +- doc/en/tmpdir.rst | 2 +- doc/en/unittest.rst | 2 +- 17 files changed, 67 insertions(+), 67 deletions(-) diff --git a/doc/en/assert.rst b/doc/en/assert.rst index cb8ec3b2a..9a283b629 100644 --- a/doc/en/assert.rst +++ b/doc/en/assert.rst @@ -26,7 +26,7 @@ you will see the return value of the function call:: $ pytest test_assert1.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -170,7 +170,7 @@ if you run this module:: $ pytest test_assert2.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items diff --git a/doc/en/cache.rst b/doc/en/cache.rst index d364f19de..5435d435d 100644 --- a/doc/en/cache.rst +++ b/doc/en/cache.rst @@ -80,7 +80,7 @@ If you then run it with ``--lf``:: $ pytest --lf ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 run-last-failure: rerun last 2 failures rootdir: $REGENDOC_TMPDIR, inifile: collected 50 items @@ -122,7 +122,7 @@ of ``FF`` and dots):: $ pytest --ff ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 run-last-failure: rerun last 2 failures first rootdir: $REGENDOC_TMPDIR, inifile: collected 50 items @@ -227,14 +227,14 @@ You can always peek at the content of the cache using the $ py.test --cache-show ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: cachedir: $REGENDOC_TMPDIR/.cache ------------------------------- cache values ------------------------------- - cache/lastfailed contains: - {'test_caching.py::test_function': True} example/value contains: 42 + cache/lastfailed contains: + {'test_caching.py::test_function': True} ======= no tests ran in 0.12 seconds ======== diff --git a/doc/en/capture.rst b/doc/en/capture.rst index e4514b17d..f816628d1 100644 --- a/doc/en/capture.rst +++ b/doc/en/capture.rst @@ -64,7 +64,7 @@ of the failing function and hide the other one:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items diff --git a/doc/en/doctest.rst b/doc/en/doctest.rst index b32310c17..198fb18da 100644 --- a/doc/en/doctest.rst +++ b/doc/en/doctest.rst @@ -49,7 +49,7 @@ then you can just invoke ``pytest`` without command line options:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 1 items diff --git a/doc/en/example/markers.rst b/doc/en/example/markers.rst index e622b993c..414deb89a 100644 --- a/doc/en/example/markers.rst +++ b/doc/en/example/markers.rst @@ -31,7 +31,7 @@ You can then restrict a test run to only run tests marked with ``webtest``:: $ pytest -v -m webtest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -45,7 +45,7 @@ Or the inverse, running all tests except the webtest ones:: $ pytest -v -m "not webtest" ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -66,7 +66,7 @@ tests based on their module, class, method, or function name:: $ pytest -v test_server.py::TestClass::test_method ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 5 items @@ -79,7 +79,7 @@ You can also select on the class:: $ pytest -v test_server.py::TestClass ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -92,7 +92,7 @@ Or select multiple nodes:: $ pytest -v test_server.py::TestClass test_server.py::test_send_http ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 8 items @@ -130,7 +130,7 @@ select tests based on their names:: $ pytest -v -k http # running with the above defined example module ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -144,7 +144,7 @@ And you can also run all tests except the ones that match the keyword:: $ pytest -k "not send_http" -v ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -160,7 +160,7 @@ Or to select "http" and "quick" tests:: $ pytest -k "http or quick" -v ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -352,7 +352,7 @@ the test needs:: $ pytest -E stage2 ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -364,7 +364,7 @@ and here is one that specifies exactly the environment needed:: $ pytest -E stage1 ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -485,7 +485,7 @@ then you will see two test skipped and two executed tests as expected:: $ pytest -rs # this option reports skip reasons ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -499,7 +499,7 @@ Note that if you specify a platform via the marker-command line option like this $ pytest -m linux2 ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -551,7 +551,7 @@ We can now use the ``-m option`` to select one set:: $ pytest -m interface --tb=short ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -573,7 +573,7 @@ or to select both "event" and "interface" tests:: $ pytest -m "interface or event" --tb=short ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items diff --git a/doc/en/example/nonpython.rst b/doc/en/example/nonpython.rst index fd6d3b333..9840e1079 100644 --- a/doc/en/example/nonpython.rst +++ b/doc/en/example/nonpython.rst @@ -27,7 +27,7 @@ now execute the test specification:: nonpython $ pytest test_simple.yml ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR/nonpython, inifile: collected 2 items @@ -59,7 +59,7 @@ consulted when reporting in ``verbose`` mode:: nonpython $ pytest -v ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR/nonpython, inifile: collecting ... collected 2 items @@ -81,7 +81,7 @@ interesting to just look at the collection tree:: nonpython $ pytest --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR/nonpython, inifile: collected 2 items diff --git a/doc/en/example/parametrize.rst b/doc/en/example/parametrize.rst index 70bf92c42..4ba743044 100644 --- a/doc/en/example/parametrize.rst +++ b/doc/en/example/parametrize.rst @@ -130,7 +130,7 @@ objects, they are still using the default pytest representation:: $ pytest test_time.py --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 6 items @@ -181,7 +181,7 @@ this is a fully self-contained example which you can run with:: $ pytest test_scenarios.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -194,7 +194,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia $ pytest --collect-only test_scenarios.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -259,7 +259,7 @@ Let's first see how it looks like at collection time:: $ pytest test_backends.py --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -320,7 +320,7 @@ The result of this test will be successful:: $ pytest test_indirect_list.py --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -447,7 +447,7 @@ If you run this with reporting for skips enabled:: $ pytest -rs test_module.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items diff --git a/doc/en/example/pythoncollection.rst b/doc/en/example/pythoncollection.rst index d86e08bab..83fcace6e 100644 --- a/doc/en/example/pythoncollection.rst +++ b/doc/en/example/pythoncollection.rst @@ -117,7 +117,7 @@ then the test collection looks like this:: $ pytest --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 2 items @@ -163,7 +163,7 @@ You can always peek at the collection tree without running tests like this:: . $ pytest --collect-only pythoncollection.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 3 items @@ -230,7 +230,7 @@ will be left out:: $ pytest --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 0 items diff --git a/doc/en/example/reportingdemo.rst b/doc/en/example/reportingdemo.rst index fb6447505..cddd13d2d 100644 --- a/doc/en/example/reportingdemo.rst +++ b/doc/en/example/reportingdemo.rst @@ -11,7 +11,7 @@ get on the terminal - we are working on that):: assertion $ pytest failure_demo.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR/assertion, inifile: collected 42 items @@ -359,7 +359,7 @@ get on the terminal - we are working on that):: > int(s) E ValueError: invalid literal for int() with base 10: 'qwe' - <0-codegen $PYTHON_PREFIX/lib/python3.5/site-packages/_pytest/python.py:1189>:1: ValueError + <0-codegen $PYTHON_PREFIX/lib/python3.5/site-packages/_pytest/python.py:1190>:1: ValueError _______ TestRaises.test_raises_doesnt ________ self = diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst index f583939ec..4d63eef7f 100644 --- a/doc/en/example/simple.rst +++ b/doc/en/example/simple.rst @@ -113,7 +113,7 @@ directory with the above conftest.py:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 0 items @@ -164,13 +164,13 @@ and when running it will see a skipped "slow" test:: $ pytest -rs # "-rs" means report details on the little 's' ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items test_module.py .s ======= short test summary info ======== - SKIP [1] test_module.py:14: need --runslow option to run + SKIP [1] test_module.py:13: need --runslow option to run ======= 1 passed, 1 skipped in 0.12 seconds ======== @@ -178,7 +178,7 @@ Or run it including the ``slow`` marked test:: $ pytest --runslow ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -302,7 +302,7 @@ which will add the string to the test header accordingly:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 project deps: mylib-1.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 0 items @@ -327,7 +327,7 @@ which will add info only when run with "--v":: $ pytest -v ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache info1: did you know that ... did you? @@ -340,7 +340,7 @@ and nothing when run plainly:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 0 items @@ -374,7 +374,7 @@ Now we can profile which test functions execute the slowest:: $ pytest --durations=3 ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items @@ -440,7 +440,7 @@ If we run this:: $ pytest -rx ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -519,7 +519,7 @@ We can run this:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 7 items @@ -627,7 +627,7 @@ and run them:: $ pytest test_module.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -721,7 +721,7 @@ and run it:: $ pytest -s test_module.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items diff --git a/doc/en/fixture.rst b/doc/en/fixture.rst index 4f0669ec5..7057024ab 100644 --- a/doc/en/fixture.rst +++ b/doc/en/fixture.rst @@ -70,7 +70,7 @@ marked ``smtp`` fixture function. Running the test looks like this:: $ pytest test_smtpsimple.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -188,7 +188,7 @@ inspect what is going on and can now run the tests:: $ pytest test_module.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -516,7 +516,7 @@ Running the above tests results in the following test IDs being used:: $ pytest --collect-only ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 11 items @@ -569,7 +569,7 @@ Here we declare an ``app`` fixture which receives the previously defined $ pytest -v test_appsetup.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 2 items @@ -638,7 +638,7 @@ Let's run the tests in verbose mode and with looking at the print-output:: $ pytest -v -s test_module.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- $PYTHON_PREFIX/bin/python3.5 cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 8 items diff --git a/doc/en/getting-started.rst b/doc/en/getting-started.rst index 97fe44b1d..83462e3dc 100644 --- a/doc/en/getting-started.rst +++ b/doc/en/getting-started.rst @@ -26,8 +26,7 @@ Installation:: To check your installation has installed the correct version:: $ pytest --version - This is pytest version 3.0.1, imported from $PYTHON_PREFIX/lib/python3.5/site-packages/pytest.py - + This is pytest version 3.0.2, imported from $PYTHON_PREFIX/lib/python3.5/site-packages/pytest.py .. _`simpletest`: @@ -47,7 +46,7 @@ That's it. You can execute the test function now:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items diff --git a/doc/en/index.rst b/doc/en/index.rst index 0284cada9..7544b8716 100644 --- a/doc/en/index.rst +++ b/doc/en/index.rst @@ -25,22 +25,23 @@ To execute it:: $ pytest ======= test session starts ======== + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items - + test_sample.py F - + ======= FAILURES ======== _______ test_answer ________ - + def test_answer(): > assert func(3) == 5 E assert 4 == 5 E + where 4 = func(3) - + test_sample.py:5: AssertionError ======= 1 failed in 0.12 seconds ======== - Due to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See :ref:`Getting Started ` for more examples. diff --git a/doc/en/parametrize.rst b/doc/en/parametrize.rst index a8ac9ed37..9539cb618 100644 --- a/doc/en/parametrize.rst +++ b/doc/en/parametrize.rst @@ -55,7 +55,7 @@ them in turn:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items @@ -103,7 +103,7 @@ Let's run this:: $ pytest ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items diff --git a/doc/en/skipping.rst b/doc/en/skipping.rst index fdc4bfe60..dde89705e 100644 --- a/doc/en/skipping.rst +++ b/doc/en/skipping.rst @@ -224,7 +224,7 @@ Running it with the report-on-xfail option gives this output:: example $ pytest -rx xfail_demo.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR/example, inifile: collected 7 items diff --git a/doc/en/tmpdir.rst b/doc/en/tmpdir.rst index 597731dcf..880be2d73 100644 --- a/doc/en/tmpdir.rst +++ b/doc/en/tmpdir.rst @@ -29,7 +29,7 @@ Running this would result in a passed test except for the last $ pytest test_tmpdir.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items diff --git a/doc/en/unittest.rst b/doc/en/unittest.rst index d400adcaa..3d1ebbbf3 100644 --- a/doc/en/unittest.rst +++ b/doc/en/unittest.rst @@ -96,7 +96,7 @@ the ``self.db`` values in the traceback:: $ pytest test_unittest_db.py ======= test session starts ======== - platform linux -- Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 + platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items From a9f3053f72bfc3fa70f39b44a848551cb018cac1 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Thu, 1 Sep 2016 06:59:31 -0400 Subject: [PATCH 10/13] Fix version typo in announce for 3.0.2 --- doc/en/announce/release-3.0.2.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/en/announce/release-3.0.2.rst b/doc/en/announce/release-3.0.2.rst index 09e10b28c..631f14fe4 100644 --- a/doc/en/announce/release-3.0.2.rst +++ b/doc/en/announce/release-3.0.2.rst @@ -3,7 +3,7 @@ pytest-3.0.2 pytest 3.0.2 has just been released to PyPI. -This release fixes some regressions reported in version 3.0.0, being a +This release fixes some regressions and bugs reported in version 3.0.1, being a drop-in replacement. To upgrade:: pip install --upgrade pytest From 4e58c9a7d010be4b9f67f89495d1e7c2ae9062d0 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Thu, 1 Sep 2016 07:19:11 -0400 Subject: [PATCH 11/13] Fix use of deprecated getfuncargvalue method in the internal doctest plugin Fix #1898 --- CHANGELOG.rst | 5 +++++ _pytest/doctest.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index dd8647b8a..867ae6e45 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -21,16 +21,21 @@ enabled. This allows proper post mortem debugging for all applications which have significant logic in their tearDown machinery (`#1890`_). Thanks `@mbyt`_ for the PR. + +* Fix use of deprecated ``getfuncargvalue`` method in the internal doctest plugin. + Thanks `@ViviCoder`_ for the report (`#1898`_). .. _@joguSD: https://github.com/joguSD .. _@AiOO: https://github.com/AiOO .. _@mbyt: https://github.com/mbyt +.. _@ViviCoder: https://github.com/ViviCoder .. _#1857: https://github.com/pytest-dev/pytest/issues/1857 .. _#1864: https://github.com/pytest-dev/pytest/issues/1864 .. _#1888: https://github.com/pytest-dev/pytest/issues/1888 .. _#1891: https://github.com/pytest-dev/pytest/pull/1891 .. _#1890: https://github.com/pytest-dev/pytest/issues/1890 +.. _#1898: https://github.com/pytest-dev/pytest/issues/1898 3.0.1 diff --git a/_pytest/doctest.py b/_pytest/doctest.py index 144aa2a6d..f4782dded 100644 --- a/_pytest/doctest.py +++ b/_pytest/doctest.py @@ -88,7 +88,7 @@ class DoctestItem(pytest.Item): if self.dtest is not None: self.fixture_request = _setup_fixtures(self) globs = dict(getfixture=self.fixture_request.getfixturevalue) - for name, value in self.fixture_request.getfuncargvalue('doctest_namespace').items(): + for name, value in self.fixture_request.getfixturevalue('doctest_namespace').items(): globs[name] = value self.dtest.globs.update(globs) From 927f411ee2691e95174726205364f95877a2b302 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Thu, 1 Sep 2016 21:28:30 -0300 Subject: [PATCH 12/13] Fix release 3.0.2 release announcement list of authors --- doc/en/announce/release-3.0.2.rst | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/doc/en/announce/release-3.0.2.rst b/doc/en/announce/release-3.0.2.rst index 631f14fe4..9d1c05f2d 100644 --- a/doc/en/announce/release-3.0.2.rst +++ b/doc/en/announce/release-3.0.2.rst @@ -12,15 +12,13 @@ The changelog is available at http://doc.pytest.org/en/latest/changelog.html. Thanks to all who contributed to this release, among them: -* Adam Chainz -* Andrew Svetlov +* Ahn Ki-Wook * Bruno Oliveira -* Daniel Hahler -* Dmitry Dygalo * Florian Bruhin -* Marcin Bachry +* Jordan Guymon +* Raphael Pierzina * Ronny Pfannschmidt -* matthiasha +* mbyt Happy testing, The pytest Development Team From ee284ec58763db7467caa831674192e5acee8ab4 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Thu, 1 Sep 2016 21:34:54 -0300 Subject: [PATCH 13/13] Set version to 3.0.3.dev0 Also, using "dev0" as development suffix otherwise distutils gives a warning during "setup.py develop": UserWarning: Normalizing '3.0.3.dev' to '3.0.3.dev0' normalized_version, --- CHANGELOG.rst | 14 ++++++++++++++ HOWTORELEASE.rst | 10 +++++----- _pytest/__init__.py | 2 +- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 867ae6e45..b7ca19734 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,17 @@ +3.0.3.dev0 +========== + +* + +* + +* + +* + +* + + 3.0.2 ===== diff --git a/HOWTORELEASE.rst b/HOWTORELEASE.rst index e6f1973b6..7da047503 100644 --- a/HOWTORELEASE.rst +++ b/HOWTORELEASE.rst @@ -64,19 +64,19 @@ Note: this assumes you have already registered on pypi. a. **patch release (2.8.3)**: 1. Checkout ``master``. - 2. Update version number in ``_pytest/__init__.py`` to ``"2.8.4.dev"``. - 3. Create a new section in ``CHANGELOG.rst`` titled ``2.8.4.dev`` and add a few bullet points as placeholders for new entries. + 2. Update version number in ``_pytest/__init__.py`` to ``"2.8.4.dev0"``. + 3. Create a new section in ``CHANGELOG.rst`` titled ``2.8.4.dev0`` and add a few bullet points as placeholders for new entries. 4. Commit and push. b. **minor release (2.9.0)**: 1. Merge ``features`` into ``master``. 2. Checkout ``master``. - 3. Follow the same steps for a **patch release** above, using the next patch release: ``2.9.1.dev``. + 3. Follow the same steps for a **patch release** above, using the next patch release: ``2.9.1.dev0``. 4. Commit ``master``. 5. Checkout ``features`` and merge with ``master`` (should be a fast-forward at this point). - 6. Update version number in ``_pytest/__init__.py`` to the next minor release: ``"2.10.0.dev"``. - 7. Create a new section in ``CHANGELOG.rst`` titled ``2.10.0.dev``, above ``2.9.1.dev``, and add a few bullet points as placeholders for new entries. + 6. Update version number in ``_pytest/__init__.py`` to the next minor release: ``"2.10.0.dev0"``. + 7. Create a new section in ``CHANGELOG.rst`` titled ``2.10.0.dev0``, above ``2.9.1.dev0``, and add a few bullet points as placeholders for new entries. 8. Commit ``features``. 9. Push ``master`` and ``features``. diff --git a/_pytest/__init__.py b/_pytest/__init__.py index 757e56087..4d8be3d3a 100644 --- a/_pytest/__init__.py +++ b/_pytest/__init__.py @@ -1,2 +1,2 @@ # -__version__ = '3.0.2' +__version__ = '3.0.3.dev0'