[Python-modules-commits] [pytest] 01/06: Import pytest_3.0.2.orig.tar.gz

Sebastian Ramacher sramacher at moszumanska.debian.org
Sat Sep 3 09:19:26 UTC 2016


This is an automated email from the git hooks/post-receive script.

sramacher pushed a commit to branch master
in repository pytest.

commit 20e0c867d27699949650cbc04588df00ff973f6d
Author: Sebastian Ramacher <sramacher at debian.org>
Date:   Sat Sep 3 11:10:48 2016 +0200

    Import pytest_3.0.2.orig.tar.gz
---
 AUTHORS                                        |   3 +
 CHANGELOG.rst                                  |  40 +++++
 PKG-INFO                                       |   7 +-
 README.rst                                     |   5 +-
 _pytest/__init__.py                            |   2 +-
 _pytest/_code/code.py                          |   2 +-
 _pytest/assertion/__init__.py                  |   6 +
 _pytest/capture.py                             |   7 +
 _pytest/config.py                              |   2 +
 _pytest/debugging.py                           |   2 +-
 _pytest/doctest.py                             |   2 +-
 _pytest/python.py                              |  39 ++---
 _pytest/unittest.py                            |   7 +-
 doc/en/adopt.rst                               |   4 +
 doc/en/announce/index.rst                      |   5 +-
 doc/en/announce/release-2.9.1.rst              |   2 +
 doc/en/announce/release-2.9.2.rst              |   7 +-
 doc/en/announce/release-3.0.2.rst              |  26 ++++
 doc/en/announce/sprint2016.rst                 |   2 -
 doc/en/assert.rst                              |   5 +-
 doc/en/builtin.rst                             |   4 +-
 doc/en/cache.rst                               |  10 +-
 doc/en/capture.rst                             |   2 +-
 doc/en/conf.py                                 |   4 +-
 doc/en/contents.rst                            |  29 +++-
 doc/en/doctest.rst                             |   3 +-
 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               |   8 +-
 doc/en/example/simple.rst                      | 122 ++++++++++-----
 doc/en/feedback.rst                            |   8 -
 doc/en/fixture.rst                             |  10 +-
 doc/en/funcarg_compare.rst                     |   1 +
 doc/en/getting-started.rst                     |  12 +-
 doc/en/index.rst                               | 141 +++++++++++-------
 doc/en/monkeypatch.rst                         |  21 ---
 doc/en/nose.rst                                |   2 +
 doc/en/overview.rst                            |  13 --
 doc/en/parametrize.rst                         |   5 +-
 doc/en/plugins.rst                             |   4 +-
 doc/en/proposals/parametrize_with_fixtures.rst |   2 +
 doc/en/recwarn.rst                             |   1 +
 doc/en/skipping.rst                            |   2 +-
 doc/en/status.rst                              |   5 -
 doc/en/tmpdir.rst                              |   2 +-
 doc/en/unittest.rst                            |  10 +-
 doc/en/writing_plugins.rst                     |   6 +-
 doc/en/xdist.rst                               | 197 -------------------------
 doc/en/yieldfixture.rst                        |   2 +
 pytest.egg-info/PKG-INFO                       |   7 +-
 pytest.egg-info/SOURCES.txt                    |   5 +-
 pytest.egg-info/requires.txt                   |   8 +-
 setup.cfg                                      |   4 +-
 testing/python/metafunc.py                     |  12 ++
 testing/test_assertion.py                      |  38 +++++
 testing/test_capture.py                        |  22 +++
 testing/test_pdb.py                            |  19 +++
 tox.ini                                        |  12 +-
 60 files changed, 512 insertions(+), 468 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 2e487e7..c74aa4a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -5,6 +5,7 @@ Contributors include::
 
 Abdeali JK
 Abhijeet Kasurde
+Ahn Ki-Wook
 Alexei Kozlenok
 Anatoly Bubenkoff
 Andreas Zeidler
@@ -69,6 +70,7 @@ Javier Domingo Cansino
 Javier Romero
 John Towler
 Jon Sonesen
+Jordan Guymon
 Joshua Bronson
 Jurko Gospodnetić
 Justyna Janczyszyn
@@ -89,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 0342b75..867ae6e 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,3 +1,43 @@
+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.
+
+* Add ``buffer`` attribute to stdin stub class ``pytest.capture.DontReadFromInput``
+  Thanks `@joguSD`_ for the PR.
+
+* Fix ``UnicodeEncodeError`` when string comparison with unicode has failed. (`#1864`_)
+  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`_).
+
+* 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 machinery (`#1890`_). Thanks
+  `@mbyt`_ for the PR.
+  
+* Fix use of deprecated ``getfuncargvalue`` method in the internal doctest plugin.
+  Thanks `@ViviCoder`_ for the report (`#1898`_).
+
+.. _ at joguSD: https://github.com/joguSD
+.. _ at AiOO: https://github.com/AiOO
+.. _ at mbyt: https://github.com/mbyt
+.. _ at 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/PKG-INFO b/PKG-INFO
index 50060de..651d580 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pytest
-Version: 3.0.1
+Version: 3.0.2
 Summary: pytest: simple powerful testing with Python
 Home-page: http://pytest.org
 Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
@@ -43,7 +43,6 @@ Description: .. image:: http://docs.pytest.org/en/latest/_static/pytest1.png
         
             $ pytest
             ======= test session starts ========
-            platform linux -- Python 3.4.3, pytest-2.8.5, py-1.4.31, pluggy-0.3.1
             collected 1 items
         
             test_sample.py F
@@ -60,7 +59,7 @@ Description: .. image:: http://docs.pytest.org/en/latest/_static/pytest1.png
             ======= 1 failed in 0.12 seconds ========
         
         
-        Due to ``py.test``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started <http://docs.pytest.org/en/latest/getting-started.html#our-first-test-run>`_ for more examples.
+        Due to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started <http://docs.pytest.org/en/latest/getting-started.html#our-first-test-run>`_ for more examples.
         
         
         Features
@@ -72,7 +71,7 @@ Description: .. image:: http://docs.pytest.org/en/latest/_static/pytest1.png
           <http://docs.pytest.org/en/latest/goodpractices.html#python-test-discovery>`_
           of test modules and functions;
         
-        - `Modular fixtures <http://docs.pytest.org/en/latest/fixture.html>`_  for
+        - `Modular fixtures <http://docs.pytest.org/en/latest/fixture.html>`_ for
           managing small or parametrized long-lived test resources;
         
         - Can run `unittest <http://docs.pytest.org/en/latest/unittest.html>`_ (or trial),
diff --git a/README.rst b/README.rst
index 521961f..6a5179e 100644
--- a/README.rst
+++ b/README.rst
@@ -35,7 +35,6 @@ To execute it::
 
     $ pytest
     ======= test session starts ========
-    platform linux -- Python 3.4.3, pytest-2.8.5, py-1.4.31, pluggy-0.3.1
     collected 1 items
 
     test_sample.py F
@@ -52,7 +51,7 @@ To execute it::
     ======= 1 failed in 0.12 seconds ========
 
 
-Due to ``py.test``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started <http://docs.pytest.org/en/latest/getting-started.html#our-first-test-run>`_ for more examples.
+Due to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started <http://docs.pytest.org/en/latest/getting-started.html#our-first-test-run>`_ for more examples.
 
 
 Features
@@ -64,7 +63,7 @@ Features
   <http://docs.pytest.org/en/latest/goodpractices.html#python-test-discovery>`_
   of test modules and functions;
 
-- `Modular fixtures <http://docs.pytest.org/en/latest/fixture.html>`_  for
+- `Modular fixtures <http://docs.pytest.org/en/latest/fixture.html>`_ for
   managing small or parametrized long-lived test resources;
 
 - Can run `unittest <http://docs.pytest.org/en/latest/unittest.html>`_ (or trial),
diff --git a/_pytest/__init__.py b/_pytest/__init__.py
index 73704d9..757e560 100644
--- a/_pytest/__init__.py
+++ b/_pytest/__init__.py
@@ -1,2 +1,2 @@
 #
-__version__ = '3.0.1'
+__version__ = '3.0.2'
diff --git a/_pytest/_code/code.py b/_pytest/_code/code.py
index 040e4fc..9a6d326 100644
--- a/_pytest/_code/code.py
+++ b/_pytest/_code/code.py
@@ -354,7 +354,7 @@ class ExceptionInfo(object):
             if exprinfo is None and isinstance(tup[1], AssertionError):
                 exprinfo = getattr(tup[1], 'msg', None)
                 if exprinfo is None:
-                    exprinfo = str(tup[1])
+                    exprinfo = py._builtin._totext(tup[1])
                 if exprinfo and exprinfo.startswith('assert '):
                     self._striptext = 'AssertionError: '
         self._excinfo = tup
diff --git a/_pytest/assertion/__init__.py b/_pytest/assertion/__init__.py
index 3c42910..fd1ebe2 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/capture.py b/_pytest/capture.py
index d58c729..9f60db6 100644
--- a/_pytest/capture.py
+++ b/_pytest/capture.py
@@ -455,6 +455,13 @@ class DontReadFromInput:
     def close(self):
         pass
 
+    @property
+    def buffer(self):
+        if sys.version_info >= (3,0):
+            return self
+        else:
+            raise AttributeError('redirected stdin has no attribute buffer')
+
 
 def _readline_workaround():
     """
diff --git a/_pytest/config.py b/_pytest/config.py
index 2a12158..5b4654a 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/_pytest/debugging.py b/_pytest/debugging.py
index d8cd5a4..299b050 100644
--- a/_pytest/debugging.py
+++ b/_pytest/debugging.py
@@ -14,7 +14,7 @@ def pytest_addoption(parser):
     group._addoption(
         '--pdbcls', dest="usepdb_cls", metavar="modulename:classname",
         help="start a custom interactive Python debugger on errors. "
-             "For example: --pdbcls=IPython.core.debugger:Pdb")
+             "For example: --pdbcls=IPython.terminal.debugger:TerminalPdb")
 
 def pytest_namespace():
     return {'set_trace': pytestPDB().set_trace}
diff --git a/_pytest/doctest.py b/_pytest/doctest.py
index 144aa2a..f4782dd 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)
 
diff --git a/_pytest/python.py b/_pytest/python.py
index 75d139d..2ab1de6 100644
--- a/_pytest/python.py
+++ b/_pytest/python.py
@@ -711,31 +711,26 @@ class Metafunc(fixtures.FuncargnamesCompatAttr):
     They help to inspect a test function and to generate tests according to
     test configuration or values specified in the class or module where a
     test function is defined.
-
-    :ivar fixturenames: set of fixture names required by the test function
-
-    :ivar function: underlying python test function
-
-    :ivar cls: class object where the test function is defined in or ``None``.
-
-    :ivar module: the module object where the test function is defined in.
-
-    :ivar config: access to the :class:`_pytest.config.Config` object for the
-        test session.
-
-    :ivar funcargnames:
-        .. deprecated:: 2.3
-            Use ``fixturenames`` instead.
     """
     def __init__(self, function, fixtureinfo, config, cls=None, module=None):
+        #: access to the :class:`_pytest.config.Config` object for the test session
         self.config = config
+
+        #: the module object where the test function is defined in.
         self.module = module
+
+        #: underlying python test function
         self.function = function
+
+        #: set of fixture names required by the test function
         self.fixturenames = fixtureinfo.names_closure
-        self._arg2fixturedefs = fixtureinfo.name2fixturedefs
+
+        #: class object where the test function is defined in or ``None``.
         self.cls = cls
+
         self._calls = []
         self._ids = py.builtin.set()
+        self._arg2fixturedefs = fixtureinfo.name2fixturedefs
 
     def parametrize(self, argnames, argvalues, indirect=False, ids=None,
         scope=None):
@@ -778,6 +773,7 @@ class Metafunc(fixtures.FuncargnamesCompatAttr):
         """
         from _pytest.fixtures import scopes
         from _pytest.mark import extract_argvalue
+        from py.io import saferepr
 
         unwrapped_argvalues = []
         newkeywords = []
@@ -831,9 +827,14 @@ class Metafunc(fixtures.FuncargnamesCompatAttr):
         if callable(ids):
             idfn = ids
             ids = None
-        if ids and len(ids) != len(argvalues):
-            raise ValueError('%d tests specified with %d ids' %(
-                             len(argvalues), len(ids)))
+        if ids:
+            if len(ids) != len(argvalues):
+                raise ValueError('%d tests specified with %d ids' %(
+                                 len(argvalues), len(ids)))
+            for id_value in ids:
+                if id_value is not None and not isinstance(id_value, str):
+                    msg = 'ids must be list of strings, found: %s (type: %s)'
+                    raise ValueError(msg % (saferepr(id_value), type(id_value).__name__))
         ids = idmaker(argnames, argvalues, idfn, ids, self.config)
         newcalls = []
         for callspec in self._calls or [CallSpec2(self)]:
diff --git a/_pytest/unittest.py b/_pytest/unittest.py
index f24b496..47868f4 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 (see #1890)
+            self._testcase.debug()
+
 
     def _prunetraceback(self, excinfo):
         pytest.Function._prunetraceback(self, excinfo)
diff --git a/doc/en/adopt.rst b/doc/en/adopt.rst
index aead96e..710f431 100644
--- a/doc/en/adopt.rst
+++ b/doc/en/adopt.rst
@@ -1,3 +1,7 @@
+:orphan:
+
+.. warnings about this file not being included in any toctree will be suppressed by :orphan:
+
 
 April 2015 is "adopt pytest month"
 =============================================
diff --git a/doc/en/announce/index.rst b/doc/en/announce/index.rst
index 8613582..90e6fcb 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-2.9.1.rst b/doc/en/announce/release-2.9.1.rst
index 05a4484..3277da1 100644
--- a/doc/en/announce/release-2.9.1.rst
+++ b/doc/en/announce/release-2.9.1.rst
@@ -63,3 +63,5 @@ The py.test Development Team
 .. _#649: https://github.com/pytest-dev/pytest/issues/649
 
 .. _ at asottile: https://github.com/asottile
+.. _ at nicoddemus: https://github.com/nicoddemus
+.. _ at tomviner: https://github.com/tomviner
diff --git a/doc/en/announce/release-2.9.2.rst b/doc/en/announce/release-2.9.2.rst
index be7968c..b71ae85 100644
--- a/doc/en/announce/release-2.9.2.rst
+++ b/doc/en/announce/release-2.9.2.rst
@@ -69,5 +69,10 @@ The py.test Development Team
 .. _#1496: https://github.com/pytest-dev/pytest/issue/1496
 .. _#1524: https://github.com/pytest-dev/pytest/issue/1524
 
-.. _ at prusse-martin: https://github.com/prusse-martin
 .. _ at astraw38: https://github.com/astraw38
+.. _ at hackebrot: https://github.com/hackebrot
+.. _ at omarkohl: https://github.com/omarkohl
+.. _ at pquentin: https://github.com/pquentin
+.. _ at prusse-martin: https://github.com/prusse-martin
+.. _ at RonnyPfannschmidt: https://github.com/RonnyPfannschmidt
+.. _ at tomviner: https://github.com/tomviner
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 0000000..631f14f
--- /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 and bugs reported in version 3.0.1, 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
diff --git a/doc/en/announce/sprint2016.rst b/doc/en/announce/sprint2016.rst
index 16e0f0e..8e70658 100644
--- a/doc/en/announce/sprint2016.rst
+++ b/doc/en/announce/sprint2016.rst
@@ -39,8 +39,6 @@ Over 20 participants took part from 4 continents, including employees
 from Splunk, Personalkollen, Cobe.io, FanDuel and Dolby. Some newcomers
 mixed with developers who have worked on pytest since its beginning, and
 of course everyone in between.
-    Ana Ribeiro, Brazil
-    Ronny Pfannschmidt, Germany 
 
 
 Sprint organisation, schedule
diff --git a/doc/en/assert.rst b/doc/en/assert.rst
index 40fdebd..9a283b6 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
     
@@ -208,6 +208,7 @@ It is possible to add your own detailed explanations by implementing
 the ``pytest_assertrepr_compare`` hook.
 
 .. autofunction:: _pytest.hookspec.pytest_assertrepr_compare
+   :noindex:
 
 As an example consider adding the following hook in a conftest.py which
 provides an alternative explanation for ``Foo`` objects::
diff --git a/doc/en/builtin.rst b/doc/en/builtin.rst
index c0af7f4..26dbd44 100644
--- a/doc/en/builtin.rst
+++ b/doc/en/builtin.rst
@@ -58,13 +58,13 @@ Fixtures and requests
 
 To mark a fixture function:
 
-.. autofunction:: _pytest.python.fixture
+.. autofunction:: _pytest.fixtures.fixture
 
 Tutorial at :ref:`fixtures`.
 
 The ``request`` object that can be used from fixture functions.
 
-.. autoclass:: _pytest.python.FixtureRequest()
+.. autoclass:: _pytest.fixtures.FixtureRequest()
     :members:
 
 
diff --git a/doc/en/cache.rst b/doc/en/cache.rst
index d364f19..5435d43 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 e4514b1..f816628 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/conf.py b/doc/en/conf.py
index aca0442..1c15c17 100644
--- a/doc/en/conf.py
+++ b/doc/en/conf.py
@@ -127,7 +127,7 @@ html_theme_options = {
 
 # The name for this set of Sphinx documents.  If None, it defaults to
 # "<project> v<release> documentation".
-html_title = None
+html_title = 'pytest documentation'
 
 # A shorter title for the navigation bar.  Default is the same as html_title.
 html_short_title = "pytest-%s" % release
@@ -144,7 +144,7 @@ html_favicon = "img/pytest1favi.ico"
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+# html_static_path = ['_static']
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
diff --git a/doc/en/contents.rst b/doc/en/contents.rst
index c7db9a1..d7f9008 100644
--- a/doc/en/contents.rst
+++ b/doc/en/contents.rst
@@ -10,32 +10,51 @@ Full pytest documentation
 .. toctree::
    :maxdepth: 2
 
-   overview
-   apiref
-   example/index
+   getting-started
+   usage
+   assert
+   builtin
+   fixture
    monkeypatch
    tmpdir
    capture
    recwarn
+   doctest
+   mark
+   skipping
+   parametrize
    cache
-   plugins
+   unittest
    nose
+   xunit_setup
+   plugins
+   writing_plugins
+
+   example/index
+   goodpractices
+   customize
+   bash-completion
 
    backwards-compatibility
+   license
    contributing
    talks
+   projects
+   faq
+   contact
 
 .. only:: html
 
    .. toctree::
+      :maxdepth: 1
 
-      funcarg_compare
       announce/index
 
 .. only:: html
 
    .. toctree::
       :hidden:
+      :maxdepth: 1
 
       changelog
 
diff --git a/doc/en/doctest.rst b/doc/en/doctest.rst
index fa194dd..198fb18 100644
--- a/doc/en/doctest.rst
+++ b/doc/en/doctest.rst
@@ -16,6 +16,7 @@ from docstrings in all python modules (including regular
 python test modules)::
 
     pytest --doctest-modules
+
 You can make these changes permanent in your project by
 putting them into a pytest.ini file like this:
 
@@ -48,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 e622b99..414deb8 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 fd6d3b3..9840e10 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
     <YamlFile 'test_simple.yml'>
diff --git a/doc/en/example/parametrize.rst b/doc/en/example/parametrize.rst
index 70bf92c..4ba7430 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
     <Module 'test_time.py'>
@@ -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
     <Module 'test_scenarios.py'>
@@ -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
     <Module 'test_backends.py'>
@@ -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
     <Module 'test_indirect_list.py'>
@@ -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 d86e08b..83fcace 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
     <Module 'check_myapp.py'>
@@ -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
     <Module 'CWD/pythoncollection.py'>
@@ -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 45c4a8e..cddd13d 100644
--- a/doc/en/example/reportingdemo.rst
+++ b/doc/en/example/reportingdemo.rst
@@ -7,13 +7,11 @@ Demo of Python failure reports with pytest
 Here is a nice run of several tens of failures
 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):
-
-.. code-block:: python
+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
     
@@ -361,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 = <failure_demo.TestRaises object at 0xdeadbeef>
diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst
index 8c6a58b..4d63eef 100644
--- a/doc/en/example/simple.rst
+++ b/doc/en/example/simple.rst
@@ -1,5 +1,4 @@
 
-.. highlightlang:: python
 
 Basic patterns and examples
 ==========================================================
@@ -10,7 +9,9 @@ Pass different values to a test function, depending on command line options
 .. regendoc:wipe
 
 Suppose we want to write a test that depends on a command line option.
... 1369 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pytest.git



More information about the Python-modules-commits mailing list