Hello community,

here is the log from the commit of package python-pytest-mock for 
openSUSE:Factory checked in at 2019-02-24 17:05:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-mock (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-mock.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-mock"

Sun Feb 24 17:05:20 2019 rev:8 rq:674447 version:1.10.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-mock/python-pytest-mock.changes    
2018-05-11 11:26:40.395883543 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-mock.new.28833/python-pytest-mock.changes
 2019-02-24 17:05:25.228622671 +0100
@@ -1,0 +2,6 @@
+Wed Feb 13 09:46:47 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 1.10.1:
+  * Fix broken links and update README. Also the code is now formatted using 
black.
+
+-------------------------------------------------------------------

Old:
----
  pytest-mock-1.10.0.tar.gz

New:
----
  pytest-mock-1.10.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-mock.spec ++++++
--- /var/tmp/diff_new_pack.SMfdq5/_old  2019-02-24 17:05:26.752621947 +0100
+++ /var/tmp/diff_new_pack.SMfdq5/_new  2019-02-24 17:05:26.752621947 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pytest-mock
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -20,7 +20,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without python2
 Name:           python-pytest-mock
-Version:        1.10.0
+Version:        1.10.1
 Release:        0
 Summary:        Thin-wrapper around the mock package for easier use with pytest
 License:        MIT
@@ -39,8 +39,6 @@
 %endif
 %ifpython2
 Requires:       %{oldpython}-mock
-%else
-Recommends:     python-mock
 %endif
 %python_subpackages
 
@@ -61,8 +59,8 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
+export PYTHONDONTWRITEBYTECODE=1
 %python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} 
py.test-%{$python_version} test_pytest_mock.py
-%python_expand rm -rf %{buildroot}%{$python_sitelib}/__pycache__
 
 %files %{python_files}
 %doc CHANGELOG.rst

++++++ pytest-mock-1.10.0.tar.gz -> pytest-mock-1.10.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/.pre-commit-config.yaml 
new/pytest-mock-1.10.1/.pre-commit-config.yaml
--- old/pytest-mock-1.10.0/.pre-commit-config.yaml      1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-mock-1.10.1/.pre-commit-config.yaml      2019-02-04 
14:32:41.000000000 +0100
@@ -0,0 +1,22 @@
+exclude: '^($|.*\.bin)'
+repos:
+  - repo: https://github.com/ambv/black
+    rev: 18.6b4
+    hooks:
+      - id: black
+        args: [--safe, --quiet]
+        language_version: python3.6
+  - repo: https://github.com/pre-commit/pre-commit-hooks
+    rev: v1.3.0
+    hooks:
+      - id: trailing-whitespace
+      - id: end-of-file-fixer
+  - repo: local
+    hooks:
+      - id: rst
+        name: rst
+        entry: rst-lint --encoding utf-8
+        files: ^(CHANGELOG.rst|README.rst|HOWTORELEASE.rst|changelog/.*)$
+        language: python
+        additional_dependencies: [pygments, restructuredtext_lint]
+        python_version: python3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/.travis.yml 
new/pytest-mock-1.10.1/.travis.yml
--- old/pytest-mock-1.10.0/.travis.yml  2018-05-01 19:10:54.000000000 +0200
+++ new/pytest-mock-1.10.1/.travis.yml  2019-02-04 14:32:41.000000000 +0100
@@ -1,12 +1,8 @@
 language: python
-python:
-  - "2.7"
-  - "3.4"
-  - "3.5"
-  - "3.6"
 
 install:
-  - pip install tox-travis coveralls
+  - pip install -U pip
+  - pip install tox coveralls
 
 script:
   - tox
@@ -14,8 +10,25 @@
 after_success:
   - coveralls
 
+stages:
+- test
+- name: deploy
+  if: repo = pytest-dev/pytest-mock AND tag IS present
+
 jobs:
   include:
+    - python: '2.7'
+      env: TOXENV=py27
+    - python: '3.4'
+      env: TOXENV=py34
+    - python: '3.5'
+      env: TOXENV=py35
+    - python: '3.6'
+      env: TOXENV=py36
+    - python: '3.7'
+      env: TOXENV=py37
+      sudo: required
+      dist: xenial
     - python: '3.6'
       env: TOXENV=linting
     - python: '3.6'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/CHANGELOG.rst 
new/pytest-mock-1.10.1/CHANGELOG.rst
--- old/pytest-mock-1.10.0/CHANGELOG.rst        2018-05-01 19:10:54.000000000 
+0200
+++ new/pytest-mock-1.10.1/CHANGELOG.rst        2019-02-04 14:32:41.000000000 
+0100
@@ -1,3 +1,8 @@
+1.10.1
+------
+
+* Fix broken links and update README. Also the code is now formatted using 
`black <https://github.com/ambv/black>`__.
+
 1.10.0
 ------
 
@@ -331,5 +336,3 @@
 .. _@rouge8: https://github.com/rouge8
 .. _@The-Compiler: https://github.com/The-Compiler
 .. _@tigarmo: https://github.com/tigarmo
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/HOWTORELEASE.rst 
new/pytest-mock-1.10.1/HOWTORELEASE.rst
--- old/pytest-mock-1.10.0/HOWTORELEASE.rst     1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-mock-1.10.1/HOWTORELEASE.rst     2019-02-04 14:32:41.000000000 
+0100
@@ -0,0 +1,7 @@
+Here are the steps on how to make a new release.
+
+1. Create a ``release-VERSION`` branch from ``upstream/master``.
+2. Update ``CHANGELOG.rst``.
+3. Push a branch with the changes.
+4. Once all builds pass, push a tag to ``upstream``.
+5. Merge the PR.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/LICENSE 
new/pytest-mock-1.10.1/LICENSE
--- old/pytest-mock-1.10.0/LICENSE      2018-05-01 19:10:54.000000000 +0200
+++ new/pytest-mock-1.10.1/LICENSE      2019-02-04 14:32:41.000000000 +0100
@@ -18,4 +18,4 @@
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
+SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/PKG-INFO 
new/pytest-mock-1.10.1/PKG-INFO
--- old/pytest-mock-1.10.0/PKG-INFO     2018-05-01 19:11:12.000000000 +0200
+++ new/pytest-mock-1.10.1/PKG-INFO     2019-02-04 14:33:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: pytest-mock
-Version: 1.10.0
+Version: 1.10.1
 Summary: Thin-wrapper around the mock package for easier use with py.test
 Home-page: https://github.com/pytest-dev/pytest-mock/
 Author: Bruno Oliveira
@@ -18,27 +18,26 @@
         .. code-block:: python
         
             import os
-            
+        
             class UnixFS:
-            
+        
                 @staticmethod
                 def rm(filename):
                     os.remove(filename)
-            
+        
             def test_unix_fs(mocker):
                 mocker.patch('os.remove')
                 UnixFS.rm('file')
                 os.remove.assert_called_once_with('file')
         
         
-        .. Using PNG badges because PyPI doesn't support SVG
         
-        |python| |version| |anaconda| |ci| |appveyor| |coverage|
+        |python| |version| |anaconda| |ci| |appveyor| |coverage| |black|
         
         .. |version| image:: http://img.shields.io/pypi/v/pytest-mock.svg
           :target: https://pypi.python.org/pypi/pytest-mock
         
-        .. |anaconda| image:: 
https://anaconda.org/conda-forge/pytest-mock/badges/version.svg
+        .. |anaconda| image:: 
https://img.shields.io/conda/vn/conda-forge/pytest-mock.svg
             :target: https://anaconda.org/conda-forge/pytest-mock
         
         .. |ci| image:: http://img.shields.io/travis/pytest-dev/pytest-mock.svg
@@ -52,19 +51,15 @@
         
         .. |python| image:: 
https://img.shields.io/pypi/pyversions/pytest-mock.svg
           :target: https://pypi.python.org/pypi/pytest-mock/
-          
-          
-        .. image:: 
http://www.opensourcecitizen.org/badge?url=github.com/pytest-dev/pytest-mock
-          :target: 
http://www.opensourcecitizen.org/project?url=github.com/pytest-dev/pytest-mock
         
-        If you found this library useful, donate some CPU cycles to its
-        development efforts by clicking above. Thank you! 😇  
+        .. |black| image:: 
https://img.shields.io/badge/code%20style-black-000000.svg
+          :target: https://github.com/ambv/black
         
         Usage
         =====
         
         The ``mocker`` fixture has the same API as
-        `mock.patch 
<http://www.voidspace.org.uk/python/mock/patch.html#patch-decorators>`_,
+        `mock.patch 
<https://docs.python.org/3/library/unittest.mock.html#patch>`_,
         supporting the same arguments:
         
         .. code-block:: python
@@ -77,14 +72,14 @@
         
         The supported methods are:
         
-        * ``mocker.patch``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch.
-        * ``mocker.patch.object``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-object.
-        * ``mocker.patch.multiple``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-multiple.
-        * ``mocker.patch.dict``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-dict.
-        * ``mocker.stopall()``: stops all active patches up to this point.
-        * ``mocker.resetall()``: calls ``reset_mock()`` in all mocked objects 
up to this point.
+        * `mocker.patch 
<https://docs.python.org/3/library/unittest.mock.html#patch>`_
+        * `mocker.patch.object 
<https://docs.python.org/3/library/unittest.mock.html#patch-object>`_
+        * `mocker.patch.multiple 
<https://docs.python.org/3/library/unittest.mock.html#patch-multiple>`_
+        * `mocker.patch.dict 
<https://docs.python.org/3/library/unittest.mock.html#patch-dict>`_
+        * `mocker.stopall 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.patch.stopall>`_
+        * ``mocker.resetall()``: calls `reset_mock() 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.reset_mock>`_
 in all mocked objects up to this point.
         
-        Some objects from the ``mock`` module are accessible directly from 
``mocker`` for convenience:
+        These objects from the ``mock`` module are accessible directly from 
``mocker`` for convenience:
         
         * `Mock 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock>`_
         * `MagicMock 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.MagicMock>`_
@@ -168,8 +163,8 @@
             E         Right contains more items:
             E         {'bar': 4}
             E         Use -v to get the full diff
-            
-            
+        
+        
             test_foo.py:6: AssertionError
             ========================== 1 failed in 0.03 seconds 
===========================
         
@@ -330,6 +325,26 @@
                 return my_cm
         
         
+        Contributing
+        ============
+        
+        Contributions are welcome! After cloning the repository, create a 
virtual env
+        and install ``pytest-mock`` in editable mode with ``dev`` extras:
+        
+        .. code-block:: console
+        
+            $ pip install --editable .[dev]
+            $ pre-commit install
+        
+        Tests are run with ``tox``, you can run the baseline environments 
before submitting a PR:
+        
+        .. code-block:: console
+        
+            $ tox -e py27,py36,linting
+        
+        Style checks and formatting are done automatically during commit 
courtesy of
+        `pre-commit <https://pre-commit.com>`_.
+        
         License
         =======
         
@@ -350,5 +365,7 @@
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
 Classifier: Topic :: Software Development :: Testing
 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/README.rst 
new/pytest-mock-1.10.1/README.rst
--- old/pytest-mock-1.10.0/README.rst   2018-05-01 19:10:54.000000000 +0200
+++ new/pytest-mock-1.10.1/README.rst   2019-02-04 14:32:41.000000000 +0100
@@ -10,27 +10,26 @@
 .. code-block:: python
 
     import os
-    
+
     class UnixFS:
-    
+
         @staticmethod
         def rm(filename):
             os.remove(filename)
-    
+
     def test_unix_fs(mocker):
         mocker.patch('os.remove')
         UnixFS.rm('file')
         os.remove.assert_called_once_with('file')
 
 
-.. Using PNG badges because PyPI doesn't support SVG
 
-|python| |version| |anaconda| |ci| |appveyor| |coverage|
+|python| |version| |anaconda| |ci| |appveyor| |coverage| |black|
 
 .. |version| image:: http://img.shields.io/pypi/v/pytest-mock.svg
   :target: https://pypi.python.org/pypi/pytest-mock
 
-.. |anaconda| image:: 
https://anaconda.org/conda-forge/pytest-mock/badges/version.svg
+.. |anaconda| image:: 
https://img.shields.io/conda/vn/conda-forge/pytest-mock.svg
     :target: https://anaconda.org/conda-forge/pytest-mock
 
 .. |ci| image:: http://img.shields.io/travis/pytest-dev/pytest-mock.svg
@@ -44,19 +43,15 @@
 
 .. |python| image:: https://img.shields.io/pypi/pyversions/pytest-mock.svg
   :target: https://pypi.python.org/pypi/pytest-mock/
-  
-  
-.. image:: 
http://www.opensourcecitizen.org/badge?url=github.com/pytest-dev/pytest-mock
-  :target: 
http://www.opensourcecitizen.org/project?url=github.com/pytest-dev/pytest-mock
 
-If you found this library useful, donate some CPU cycles to its
-development efforts by clicking above. Thank you! 😇  
+.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
+  :target: https://github.com/ambv/black
 
 Usage
 =====
 
 The ``mocker`` fixture has the same API as
-`mock.patch 
<http://www.voidspace.org.uk/python/mock/patch.html#patch-decorators>`_,
+`mock.patch <https://docs.python.org/3/library/unittest.mock.html#patch>`_,
 supporting the same arguments:
 
 .. code-block:: python
@@ -69,14 +64,14 @@
 
 The supported methods are:
 
-* ``mocker.patch``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch.
-* ``mocker.patch.object``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-object.
-* ``mocker.patch.multiple``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-multiple.
-* ``mocker.patch.dict``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-dict.
-* ``mocker.stopall()``: stops all active patches up to this point.
-* ``mocker.resetall()``: calls ``reset_mock()`` in all mocked objects up to 
this point.
+* `mocker.patch <https://docs.python.org/3/library/unittest.mock.html#patch>`_
+* `mocker.patch.object 
<https://docs.python.org/3/library/unittest.mock.html#patch-object>`_
+* `mocker.patch.multiple 
<https://docs.python.org/3/library/unittest.mock.html#patch-multiple>`_
+* `mocker.patch.dict 
<https://docs.python.org/3/library/unittest.mock.html#patch-dict>`_
+* `mocker.stopall 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.patch.stopall>`_
+* ``mocker.resetall()``: calls `reset_mock() 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.reset_mock>`_
 in all mocked objects up to this point.
 
-Some objects from the ``mock`` module are accessible directly from ``mocker`` 
for convenience:
+These objects from the ``mock`` module are accessible directly from ``mocker`` 
for convenience:
 
 * `Mock 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock>`_
 * `MagicMock 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.MagicMock>`_
@@ -160,8 +155,8 @@
     E         Right contains more items:
     E         {'bar': 4}
     E         Use -v to get the full diff
-    
-    
+
+
     test_foo.py:6: AssertionError
     ========================== 1 failed in 0.03 seconds 
===========================
 
@@ -322,6 +317,26 @@
         return my_cm
 
 
+Contributing
+============
+
+Contributions are welcome! After cloning the repository, create a virtual env
+and install ``pytest-mock`` in editable mode with ``dev`` extras:
+
+.. code-block:: console
+
+    $ pip install --editable .[dev]
+    $ pre-commit install
+
+Tests are run with ``tox``, you can run the baseline environments before 
submitting a PR:
+
+.. code-block:: console
+
+    $ tox -e py27,py36,linting
+
+Style checks and formatting are done automatically during commit courtesy of
+`pre-commit <https://pre-commit.com>`_.
+
 License
 =======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/_pytest_mock_version.py 
new/pytest-mock-1.10.1/_pytest_mock_version.py
--- old/pytest-mock-1.10.0/_pytest_mock_version.py      2018-05-01 
19:11:12.000000000 +0200
+++ new/pytest-mock-1.10.1/_pytest_mock_version.py      2019-02-04 
14:33:00.000000000 +0100
@@ -1,4 +1,4 @@
 # coding: utf-8
 # file generated by setuptools_scm
 # don't change, don't track in version control
-version = '1.10.0'
+version = '1.10.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/appveyor.yml 
new/pytest-mock-1.10.1/appveyor.yml
--- old/pytest-mock-1.10.0/appveyor.yml 2018-05-01 19:10:54.000000000 +0200
+++ new/pytest-mock-1.10.1/appveyor.yml 2019-02-04 14:32:41.000000000 +0100
@@ -1,7 +1,10 @@
 install:
-  - C:\Python36\python -m pip install tox
+  - C:\Python37\python -m pip install -U pip
+  - C:\Python37\python -m pip install tox
 
 build: false  # Not a C# project
 
 test_script:
-  - C:\Python36\scripts\tox
+  - C:\Python37\scripts\tox
+
+skip_tags: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/pytest_mock.egg-info/PKG-INFO 
new/pytest-mock-1.10.1/pytest_mock.egg-info/PKG-INFO
--- old/pytest-mock-1.10.0/pytest_mock.egg-info/PKG-INFO        2018-05-01 
19:11:12.000000000 +0200
+++ new/pytest-mock-1.10.1/pytest_mock.egg-info/PKG-INFO        2019-02-04 
14:33:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: pytest-mock
-Version: 1.10.0
+Version: 1.10.1
 Summary: Thin-wrapper around the mock package for easier use with py.test
 Home-page: https://github.com/pytest-dev/pytest-mock/
 Author: Bruno Oliveira
@@ -18,27 +18,26 @@
         .. code-block:: python
         
             import os
-            
+        
             class UnixFS:
-            
+        
                 @staticmethod
                 def rm(filename):
                     os.remove(filename)
-            
+        
             def test_unix_fs(mocker):
                 mocker.patch('os.remove')
                 UnixFS.rm('file')
                 os.remove.assert_called_once_with('file')
         
         
-        .. Using PNG badges because PyPI doesn't support SVG
         
-        |python| |version| |anaconda| |ci| |appveyor| |coverage|
+        |python| |version| |anaconda| |ci| |appveyor| |coverage| |black|
         
         .. |version| image:: http://img.shields.io/pypi/v/pytest-mock.svg
           :target: https://pypi.python.org/pypi/pytest-mock
         
-        .. |anaconda| image:: 
https://anaconda.org/conda-forge/pytest-mock/badges/version.svg
+        .. |anaconda| image:: 
https://img.shields.io/conda/vn/conda-forge/pytest-mock.svg
             :target: https://anaconda.org/conda-forge/pytest-mock
         
         .. |ci| image:: http://img.shields.io/travis/pytest-dev/pytest-mock.svg
@@ -52,19 +51,15 @@
         
         .. |python| image:: 
https://img.shields.io/pypi/pyversions/pytest-mock.svg
           :target: https://pypi.python.org/pypi/pytest-mock/
-          
-          
-        .. image:: 
http://www.opensourcecitizen.org/badge?url=github.com/pytest-dev/pytest-mock
-          :target: 
http://www.opensourcecitizen.org/project?url=github.com/pytest-dev/pytest-mock
         
-        If you found this library useful, donate some CPU cycles to its
-        development efforts by clicking above. Thank you! 😇  
+        .. |black| image:: 
https://img.shields.io/badge/code%20style-black-000000.svg
+          :target: https://github.com/ambv/black
         
         Usage
         =====
         
         The ``mocker`` fixture has the same API as
-        `mock.patch 
<http://www.voidspace.org.uk/python/mock/patch.html#patch-decorators>`_,
+        `mock.patch 
<https://docs.python.org/3/library/unittest.mock.html#patch>`_,
         supporting the same arguments:
         
         .. code-block:: python
@@ -77,14 +72,14 @@
         
         The supported methods are:
         
-        * ``mocker.patch``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch.
-        * ``mocker.patch.object``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-object.
-        * ``mocker.patch.multiple``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-multiple.
-        * ``mocker.patch.dict``: see 
http://www.voidspace.org.uk/python/mock/patch.html#patch-dict.
-        * ``mocker.stopall()``: stops all active patches up to this point.
-        * ``mocker.resetall()``: calls ``reset_mock()`` in all mocked objects 
up to this point.
+        * `mocker.patch 
<https://docs.python.org/3/library/unittest.mock.html#patch>`_
+        * `mocker.patch.object 
<https://docs.python.org/3/library/unittest.mock.html#patch-object>`_
+        * `mocker.patch.multiple 
<https://docs.python.org/3/library/unittest.mock.html#patch-multiple>`_
+        * `mocker.patch.dict 
<https://docs.python.org/3/library/unittest.mock.html#patch-dict>`_
+        * `mocker.stopall 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.patch.stopall>`_
+        * ``mocker.resetall()``: calls `reset_mock() 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.reset_mock>`_
 in all mocked objects up to this point.
         
-        Some objects from the ``mock`` module are accessible directly from 
``mocker`` for convenience:
+        These objects from the ``mock`` module are accessible directly from 
``mocker`` for convenience:
         
         * `Mock 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock>`_
         * `MagicMock 
<https://docs.python.org/3/library/unittest.mock.html#unittest.mock.MagicMock>`_
@@ -168,8 +163,8 @@
             E         Right contains more items:
             E         {'bar': 4}
             E         Use -v to get the full diff
-            
-            
+        
+        
             test_foo.py:6: AssertionError
             ========================== 1 failed in 0.03 seconds 
===========================
         
@@ -330,6 +325,26 @@
                 return my_cm
         
         
+        Contributing
+        ============
+        
+        Contributions are welcome! After cloning the repository, create a 
virtual env
+        and install ``pytest-mock`` in editable mode with ``dev`` extras:
+        
+        .. code-block:: console
+        
+            $ pip install --editable .[dev]
+            $ pre-commit install
+        
+        Tests are run with ``tox``, you can run the baseline environments 
before submitting a PR:
+        
+        .. code-block:: console
+        
+            $ tox -e py27,py36,linting
+        
+        Style checks and formatting are done automatically during commit 
courtesy of
+        `pre-commit <https://pre-commit.com>`_.
+        
         License
         =======
         
@@ -350,5 +365,7 @@
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
 Classifier: Topic :: Software Development :: Testing
 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/pytest_mock.egg-info/SOURCES.txt 
new/pytest-mock-1.10.1/pytest_mock.egg-info/SOURCES.txt
--- old/pytest-mock-1.10.0/pytest_mock.egg-info/SOURCES.txt     2018-05-01 
19:11:12.000000000 +0200
+++ new/pytest-mock-1.10.1/pytest_mock.egg-info/SOURCES.txt     2019-02-04 
14:33:00.000000000 +0100
@@ -1,6 +1,8 @@
 .gitignore
+.pre-commit-config.yaml
 .travis.yml
 CHANGELOG.rst
+HOWTORELEASE.rst
 LICENSE
 README.rst
 _pytest_mock_version.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/pytest_mock.egg-info/requires.txt 
new/pytest-mock-1.10.1/pytest_mock.egg-info/requires.txt
--- old/pytest-mock-1.10.0/pytest_mock.egg-info/requires.txt    2018-05-01 
19:11:12.000000000 +0200
+++ new/pytest-mock-1.10.1/pytest_mock.egg-info/requires.txt    2019-02-04 
14:33:00.000000000 +0100
@@ -2,3 +2,7 @@
 
 [:python_version < "3.0"]
 mock
+
+[dev]
+pre-commit
+tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/pytest_mock.py 
new/pytest-mock-1.10.1/pytest_mock.py
--- old/pytest-mock-1.10.0/pytest_mock.py       2018-05-01 19:10:54.000000000 
+0200
+++ new/pytest-mock-1.10.1/pytest_mock.py       2019-02-04 14:32:41.000000000 
+0100
@@ -22,13 +22,17 @@
     "unittest.mock" for Python 3, but the user can force to always use "mock" 
on Python 3 using
     the mock_use_standalone_module ini option.
     """
-    if not hasattr(_get_mock_module, '_module'):
-        use_standalone_module = 
parse_ini_boolean(config.getini('mock_use_standalone_module'))
+    if not hasattr(_get_mock_module, "_module"):
+        use_standalone_module = parse_ini_boolean(
+            config.getini("mock_use_standalone_module")
+        )
         if sys.version_info[0] == 2 or use_standalone_module:
             import mock
+
             _get_mock_module._module = mock
         else:
             import unittest.mock
+
             _get_mock_module._module = unittest.mock
 
     return _get_mock_module._module
@@ -100,8 +104,7 @@
                 if isinstance(value, (classmethod, staticmethod)):
                     autospec = False
 
-        result = self.patch.object(obj, name, side_effect=method,
-                                   autospec=autospec)
+        result = self.patch.object(obj, name, side_effect=method, 
autospec=autospec)
         return result
 
     def stub(self, name=None):
@@ -134,7 +137,7 @@
             p = mock_func(*args, **kwargs)
             mocked = p.start()
             self._patches.append(p)
-            if hasattr(mocked, 'reset_mock'):
+            if hasattr(mocked, "reset_mock"):
                 self._mocks.append(mocked)
             return mocked
 
@@ -144,8 +147,7 @@
 
         def multiple(self, *args, **kwargs):
             """API to mock.patch.multiple"""
-            return self._start_patch(self.mock_module.patch.multiple, *args,
-                                     **kwargs)
+            return self._start_patch(self.mock_module.patch.multiple, *args, 
**kwargs)
 
         def dict(self, *args, **kwargs):
             """API to mock.patch.dict"""
@@ -173,8 +175,10 @@
     Same as "mocker", but kept only for backward compatibility.
     """
     import warnings
-    warnings.warn('"mock" fixture has been deprecated, use "mocker" instead',
-                  DeprecationWarning)
+
+    warnings.warn(
+        '"mock" fixture has been deprecated, use "mocker" instead', 
DeprecationWarning
+    )
     return mocker
 
 
@@ -188,22 +192,22 @@
         __wrapped_mock_method__(*args, **kwargs)
         return
     except AssertionError as e:
-        if getattr(e, '_mock_introspection_applied', 0):
+        if getattr(e, "_mock_introspection_applied", 0):
             msg = text_type(e)
         else:
             __mock_self = args[0]
             msg = text_type(e)
             if __mock_self.call_args is not None:
                 actual_args, actual_kwargs = __mock_self.call_args
-                msg += '\n\npytest introspection follows:\n'
+                msg += "\n\npytest introspection follows:\n"
                 try:
                     assert actual_args == args[1:]
                 except AssertionError as e:
-                    msg += '\nArgs:\n' + text_type(e)
+                    msg += "\nArgs:\n" + text_type(e)
                 try:
                     assert actual_kwargs == kwargs
                 except AssertionError as e:
-                    msg += '\nKwargs:\n' + text_type(e)
+                    msg += "\nKwargs:\n" + text_type(e)
     e = AssertionError(msg)
     e._mock_introspection_applied = True
     raise e
@@ -211,44 +215,37 @@
 
 def wrap_assert_not_called(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_not_called"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_not_called"], *args, 
**kwargs)
 
 
 def wrap_assert_called_with(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_called_with"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_called_with"], *args, 
**kwargs)
 
 
 def wrap_assert_called_once(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_called_once"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_called_once"], *args, 
**kwargs)
 
 
 def wrap_assert_called_once_with(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_called_once_with"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_called_once_with"], *args, 
**kwargs)
 
 
 def wrap_assert_has_calls(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_has_calls"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_has_calls"], *args, **kwargs)
 
 
 def wrap_assert_any_call(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_any_call"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_any_call"], *args, **kwargs)
 
 
 def wrap_assert_called(*args, **kwargs):
     __tracebackhide__ = True
-    assert_wrapper(_mock_module_originals["assert_called"],
-                   *args, **kwargs)
+    assert_wrapper(_mock_module_originals["assert_called"], *args, **kwargs)
 
 
 def wrap_assert_methods(config):
@@ -263,13 +260,13 @@
     mock_module = _get_mock_module(config)
 
     wrappers = {
-        'assert_called': wrap_assert_called,
-        'assert_called_once': wrap_assert_called_once,
-        'assert_called_with': wrap_assert_called_with,
-        'assert_called_once_with': wrap_assert_called_once_with,
-        'assert_any_call': wrap_assert_any_call,
-        'assert_has_calls': wrap_assert_has_calls,
-        'assert_not_called': wrap_assert_not_called,
+        "assert_called": wrap_assert_called,
+        "assert_called_once": wrap_assert_called_once,
+        "assert_called_with": wrap_assert_called_with,
+        "assert_called_once_with": wrap_assert_called_once_with,
+        "assert_any_call": wrap_assert_any_call,
+        "assert_has_calls": wrap_assert_has_calls,
+        "assert_not_called": wrap_assert_not_called,
     }
     for method, wrapper in wrappers.items():
         try:
@@ -277,12 +274,11 @@
         except AttributeError:  # pragma: no cover
             continue
         _mock_module_originals[method] = original
-        patcher = mock_module.patch.object(
-            mock_module.NonCallableMock, method, wrapper)
+        patcher = mock_module.patch.object(mock_module.NonCallableMock, 
method, wrapper)
         patcher.start()
         _mock_module_patches.append(patcher)
 
-    if hasattr(config, 'add_cleanup'):
+    if hasattr(config, "add_cleanup"):
         add_cleanup = config.add_cleanup
     else:
         # pytest 2.7 compatibility
@@ -298,26 +294,33 @@
 
 
 def pytest_addoption(parser):
-    parser.addini('mock_traceback_monkeypatch',
-                  'Monkeypatch the mock library to improve reporting of the '
-                  'assert_called_... methods',
-                  default=True)
-    parser.addini('mock_use_standalone_module',
-                  'Use standalone "mock" (from PyPI) instead of builtin 
"unittest.mock" '
-                  'on Python 3',
-                  default=False)
+    parser.addini(
+        "mock_traceback_monkeypatch",
+        "Monkeypatch the mock library to improve reporting of the "
+        "assert_called_... methods",
+        default=True,
+    )
+    parser.addini(
+        "mock_use_standalone_module",
+        'Use standalone "mock" (from PyPI) instead of builtin "unittest.mock" '
+        "on Python 3",
+        default=False,
+    )
 
 
 def parse_ini_boolean(value):
     if value in (True, False):
         return value
     try:
-        return {'true': True, 'false': False}[value.lower()]
+        return {"true": True, "false": False}[value.lower()]
     except KeyError:
-        raise ValueError('unknown string for bool: %r' % value)
+        raise ValueError("unknown string for bool: %r" % value)
 
 
 def pytest_configure(config):
-    tb = config.getoption('--tb')
-    if parse_ini_boolean(config.getini('mock_traceback_monkeypatch')) and tb 
!= 'native':
+    tb = config.getoption("--tb")
+    if (
+        parse_ini_boolean(config.getini("mock_traceback_monkeypatch"))
+        and tb != "native"
+    ):
         wrap_assert_methods(config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/setup.py 
new/pytest-mock-1.10.1/setup.py
--- old/pytest-mock-1.10.0/setup.py     2018-05-01 19:10:54.000000000 +0200
+++ new/pytest-mock-1.10.1/setup.py     2019-02-04 14:32:41.000000000 +0100
@@ -1,40 +1,37 @@
-from setuptools import setup
-
 from io import open
 
+from setuptools import setup
+
 setup(
-    name='pytest-mock',
-    entry_points={
-        'pytest11': ['pytest_mock = pytest_mock'],
-    },
-    py_modules=['pytest_mock', '_pytest_mock_version'],
-    platforms='any',
-    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
-    install_requires=[
-        'pytest>=2.7',
-        'mock;python_version<"3.0"',
-    ],
-    use_scm_version={'write_to': '_pytest_mock_version.py'},
-    setup_requires=['setuptools_scm'],
-    url='https://github.com/pytest-dev/pytest-mock/',
-    license='MIT',
-    author='Bruno Oliveira',
-    author_email='[email protected]',
-    description='Thin-wrapper around the mock package for easier use with 
py.test',
-    long_description=open('README.rst', encoding='utf-8').read(),
+    name="pytest-mock",
+    entry_points={"pytest11": ["pytest_mock = pytest_mock"]},
+    py_modules=["pytest_mock", "_pytest_mock_version"],
+    platforms="any",
+    python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
+    install_requires=["pytest>=2.7", 'mock;python_version<"3.0"'],
+    use_scm_version={"write_to": "_pytest_mock_version.py"},
+    setup_requires=["setuptools_scm"],
+    url="https://github.com/pytest-dev/pytest-mock/";,
+    license="MIT",
+    author="Bruno Oliveira",
+    author_email="[email protected]",
+    description="Thin-wrapper around the mock package for easier use with 
py.test",
+    long_description=open("README.rst", encoding="utf-8").read(),
     keywords="pytest mock",
+    extras_require={"dev": ["pre-commit", "tox"]},
     classifiers=[
-        'Development Status :: 5 - Production/Stable',
-        'Framework :: Pytest',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: MIT License',
-        'Operating System :: OS Independent',
-        'Programming Language :: Python :: 2',
-        'Programming Language :: Python :: 2.7',
-        'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.4',
-        'Programming Language :: Python :: 3.5',
-        'Programming Language :: Python :: 3.6',
-        'Topic :: Software Development :: Testing',
-    ]
+        "Development Status :: 5 - Production/Stable",
+        "Framework :: Pytest",
+        "Intended Audience :: Developers",
+        "License :: OSI Approved :: MIT License",
+        "Operating System :: OS Independent",
+        "Programming Language :: Python :: 2",
+        "Programming Language :: Python :: 2.7",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3.4",
+        "Programming Language :: Python :: 3.5",
+        "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
+        "Topic :: Software Development :: Testing",
+    ],
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/test_pytest_mock.py 
new/pytest-mock-1.10.1/test_pytest_mock.py
--- old/pytest-mock-1.10.0/test_pytest_mock.py  2018-05-01 19:10:54.000000000 
+0200
+++ new/pytest-mock-1.10.1/test_pytest_mock.py  2019-02-04 14:32:41.000000000 
+0100
@@ -6,11 +6,12 @@
 import py.code
 import pytest
 
-pytest_plugins = 'pytester'
+pytest_plugins = "pytester"
 
 # could not make some of the tests work on PyPy, patches are welcome!
-skip_pypy = pytest.mark.skipif(platform.python_implementation() == 'PyPy',
-                               reason='could not make work on pypy')
+skip_pypy = pytest.mark.skipif(
+    platform.python_implementation() == "PyPy", reason="could not make work on 
pypy"
+)
 
 
 @pytest.fixture
@@ -20,10 +21,12 @@
 
     Making this a fixture to avoid acessing pytest's config in the global 
context.
     """
-    option = pytestconfig.getoption('assertmode')
-    if option != 'rewrite':
-        pytest.skip('this test needs assertion rewrite to work but current 
option '
-                    'is "{}"'.format(option))
+    option = pytestconfig.getoption("assertmode")
+    if option != "rewrite":
+        pytest.skip(
+            "this test needs assertion rewrite to work but current option "
+            'is "{}"'.format(option)
+        )
 
 
 class UnixFS(object):
@@ -52,20 +55,20 @@
         assert mocked_rm is os.remove
         assert mocked_ls is os.listdir
 
-        file_name = tmpdir / 'foo.txt'
+        file_name = tmpdir / "foo.txt"
         file_name.ensure()
 
         UnixFS.rm(str(file_name))
         mocked_rm.assert_called_once_with(str(file_name))
         assert os.path.isfile(str(file_name))
 
-        mocked_ls.return_value = ['bar.txt']
-        assert UnixFS.ls(str(tmpdir)) == ['bar.txt']
+        mocked_ls.return_value = ["bar.txt"]
+        assert UnixFS.ls(str(tmpdir)) == ["bar.txt"]
         mocked_ls.assert_called_once_with(str(tmpdir))
 
         mocker.stopall()
 
-        assert UnixFS.ls(str(tmpdir)) == ['foo.txt']
+        assert UnixFS.ls(str(tmpdir)) == ["foo.txt"]
         UnixFS.rm(str(file_name))
         assert not os.path.isfile(str(file_name))
 
@@ -73,21 +76,20 @@
 
 
 def mock_using_patch_object(mocker):
-    return mocker.patch.object(os, 'remove'), mocker.patch.object(os, 
'listdir')
+    return mocker.patch.object(os, "remove"), mocker.patch.object(os, 
"listdir")
 
 
 def mock_using_patch(mocker):
-    return mocker.patch('os.remove'), mocker.patch('os.listdir')
+    return mocker.patch("os.remove"), mocker.patch("os.listdir")
 
 
 def mock_using_patch_multiple(mocker):
-    r = mocker.patch.multiple('os', remove=mocker.DEFAULT,
-                              listdir=mocker.DEFAULT)
-    return r['remove'], r['listdir']
+    r = mocker.patch.multiple("os", remove=mocker.DEFAULT, 
listdir=mocker.DEFAULT)
+    return r["remove"], r["listdir"]
 
 
[email protected]('mock_fs', [mock_using_patch_object, mock_using_patch,
-                                     mock_using_patch_multiple],
[email protected](
+    "mock_fs", [mock_using_patch_object, mock_using_patch, 
mock_using_patch_multiple]
 )
 def test_mock_patches(mock_fs, mocker, check_unix_fs_mocked):
     """
@@ -108,11 +110,11 @@
     Testing
     :param mock:
     """
-    x = {'original': 1}
-    mocker.patch.dict(x, values=[('new', 10)], clear=True)
-    assert x == {'new': 10}
+    x = {"original": 1}
+    mocker.patch.dict(x, values=[("new", 10)], clear=True)
+    assert x == {"new": 10}
     mocker.stopall()
-    assert x == {'original': 1}
+    assert x == {"original": 1}
 
 
 def test_mock_patch_dict_resetall(mocker):
@@ -120,24 +122,37 @@
     We can call resetall after patching a dict.
     :param mock:
     """
-    x = {'original': 1}
-    mocker.patch.dict(x, values=[('new', 10)], clear=True)
-    assert x == {'new': 10}
+    x = {"original": 1}
+    mocker.patch.dict(x, values=[("new", 10)], clear=True)
+    assert x == {"new": 10}
     mocker.resetall()
-    assert x == {'new': 10}
+    assert x == {"new": 10}
 
 
 def test_deprecated_mock(mock, tmpdir):
     """
     Use backward-compatibility-only mock fixture to ensure complete coverage.
     """
-    mock.patch('os.listdir', return_value=['mocked'])
-    assert os.listdir(str(tmpdir)) == ['mocked']
+    mock.patch("os.listdir", return_value=["mocked"])
+    assert os.listdir(str(tmpdir)) == ["mocked"]
     mock.stopall()
     assert os.listdir(str(tmpdir)) == []
 
 
[email protected]('name', ['MagicMock', 'NonCallableMock', 
'PropertyMock', 'Mock', 'call', 'ANY', 'create_autospec', 'sentinel', 
'mock_open'])
[email protected](
+    "name",
+    [
+        "ANY",
+        "call",
+        "create_autospec",
+        "MagicMock",
+        "Mock",
+        "mock_open",
+        "NonCallableMock",
+        "PropertyMock",
+        "sentinel",
+    ],
+)
 def test_mocker_aliases(name, pytestconfig):
     from pytest_mock import _get_mock_module, MockFixture
 
@@ -148,8 +163,8 @@
 
 
 def test_mocker_resetall(mocker):
-    listdir = mocker.patch('os.listdir')
-    open = mocker.patch('os.open')
+    listdir = mocker.patch("os.listdir")
+    open = mocker.patch("os.open")
 
     listdir("/tmp")
     open("/tmp/foo.txt")
@@ -165,21 +180,21 @@
 class TestMockerStub:
     def test_call(self, mocker):
         stub = mocker.stub()
-        stub('foo', 'bar')
-        stub.assert_called_once_with('foo', 'bar')
+        stub("foo", "bar")
+        stub.assert_called_once_with("foo", "bar")
 
     def test_repr_with_no_name(self, mocker):
         stub = mocker.stub()
-        assert not 'name' in repr(stub)
+        assert not "name" in repr(stub)
 
     def test_repr_with_name(self, mocker):
-        test_name = 'funny walk'
+        test_name = "funny walk"
         stub = mocker.stub(name=test_name)
         assert "name={0!r}".format(test_name) in repr(stub)
 
     def __test_failure_message(self, mocker, **kwargs):
-        expected_name = kwargs.get('name') or 'mock'
-        expected_message = 'Expected call: {0}()\nNot 
called'.format(expected_name)
+        expected_name = kwargs.get("name") or "mock"
+        expected_message = "Expected call: {0}()\nNot 
called".format(expected_name)
         stub = mocker.stub(**kwargs)
         with pytest.raises(AssertionError) as exc_info:
             stub.assert_called_with()
@@ -188,20 +203,19 @@
     def test_failure_message_with_no_name(self, mocker):
         self.__test_failure_message(mocker)
 
-    @pytest.mark.parametrize('name', (None, '', 'f', 'The Castle of 
aaarrrrggh'))
+    @pytest.mark.parametrize("name", (None, "", "f", "The Castle of 
aaarrrrggh"))
     def test_failure_message_with_name(self, mocker, name):
         self.__test_failure_message(mocker, name=name)
 
 
 def test_instance_method_spy(mocker):
     class Foo(object):
-
         def bar(self, arg):
             return arg * 2
 
     foo = Foo()
     other = Foo()
-    spy = mocker.spy(foo, 'bar')
+    spy = mocker.spy(foo, "bar")
     assert foo.bar(arg=10) == 20
     assert other.bar(arg=10) == 20
     foo.bar.assert_called_once_with(arg=10)
@@ -211,11 +225,10 @@
 @skip_pypy
 def test_instance_method_by_class_spy(mocker):
     class Foo(object):
-
         def bar(self, arg):
             return arg * 2
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     foo = Foo()
     other = Foo()
     assert foo.bar(arg=10) == 20
@@ -226,16 +239,14 @@
 
 @skip_pypy
 def test_instance_method_by_subclass_spy(mocker):
-
     class Base(object):
-
         def bar(self, arg):
             return arg * 2
 
     class Foo(Base):
         pass
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     foo = Foo()
     other = Foo()
     assert foo.bar(arg=10) == 20
@@ -247,22 +258,20 @@
 @skip_pypy
 def test_class_method_spy(mocker):
     class Foo(object):
-
         @classmethod
         def bar(cls, arg):
             return arg * 2
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     assert Foo.bar(arg=10) == 20
     Foo.bar.assert_called_once_with(arg=10)
     spy.assert_called_once_with(arg=10)
 
 
 @skip_pypy
[email protected](sys.version_info[0] == 2, reason='does not work on Python 
2')
[email protected](sys.version_info[0] == 2, reason="does not work on Python 
2")
 def test_class_method_subclass_spy(mocker):
     class Base(object):
-
         @classmethod
         def bar(self, arg):
             return arg * 2
@@ -270,7 +279,7 @@
     class Foo(Base):
         pass
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     assert Foo.bar(arg=10) == 20
     Foo.bar.assert_called_once_with(arg=10)
     spy.assert_called_once_with(arg=10)
@@ -289,7 +298,7 @@
         def bar(cls, arg):
             return arg * 2
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     assert Foo.bar(arg=10) == 20
     Foo.bar.assert_called_once_with(arg=10)
     spy.assert_called_once_with(arg=10)
@@ -298,22 +307,20 @@
 @skip_pypy
 def test_static_method_spy(mocker):
     class Foo(object):
-
         @staticmethod
         def bar(arg):
             return arg * 2
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     assert Foo.bar(arg=10) == 20
     Foo.bar.assert_called_once_with(arg=10)
     spy.assert_called_once_with(arg=10)
 
 
 @skip_pypy
[email protected](sys.version_info[0] == 2, reason='does not work on Python 
2')
[email protected](sys.version_info[0] == 2, reason="does not work on Python 
2")
 def test_static_method_subclass_spy(mocker):
     class Base(object):
-
         @staticmethod
         def bar(arg):
             return arg * 2
@@ -321,7 +328,7 @@
     class Foo(Base):
         pass
 
-    spy = mocker.spy(Foo, 'bar')
+    spy = mocker.spy(Foo, "bar")
     assert Foo.bar(arg=10) == 20
     Foo.bar.assert_called_once_with(arg=10)
     spy.assert_called_once_with(arg=10)
@@ -352,17 +359,20 @@
     except AssertionError as e:
         # this may be a bit too assuming, but seems nicer then hard-coding
         import _pytest.assertion.util as util
+
         # NOTE: we assert with either verbose or not, depending on how our own
         #       test was run by examining sys.argv
-        verbose = any(a.startswith('-v') for a in sys.argv)
-        expected = '\n  '.join(util._compare_eq_iterable(left, right, verbose))
+        verbose = any(a.startswith("-v") for a in sys.argv)
+        expected = "\n  ".join(util._compare_eq_iterable(left, right, verbose))
         assert expected in str(e)
     else:
         raise AssertionError("DID NOT RAISE")
 
 
[email protected](sys.version_info[:2] == (3, 4),
-                    reason="assert_not_called not available in Python 3.4")
[email protected](
+    sys.version_info[:2] == (3, 4),
+    reason="assert_not_called not available in Python 3.4",
+)
 def test_assert_not_called_wrapper(mocker):
     stub = mocker.stub()
     stub.assert_not_called()
@@ -390,8 +400,8 @@
 
 def test_assert_called_once_wrapper(mocker):
     stub = mocker.stub()
-    if not hasattr(stub, 'assert_called_once'):
-        pytest.skip('assert_called_once not available')
+    if not hasattr(stub, "assert_called_once"):
+        pytest.skip("assert_called_once not available")
     stub("foo")
     stub.assert_called_once()
     stub("foo")
@@ -401,8 +411,8 @@
 
 def test_assert_called_wrapper(mocker):
     stub = mocker.stub()
-    if not hasattr(stub, 'assert_called'):
-        pytest.skip('assert_called_once not available')
+    if not hasattr(stub, "assert_called"):
+        pytest.skip("assert_called_once not available")
     with assert_traceback():
         stub.assert_called()
     stub("foo")
@@ -411,12 +421,12 @@
     stub.assert_called()
 
 
[email protected]('needs_assert_rewrite')
[email protected]("needs_assert_rewrite")
 def test_assert_called_args_with_introspection(mocker):
     stub = mocker.stub()
 
-    complex_args = ('a', 1, set(['test']))
-    wrong_args = ('b', 2, set(['jest']))
+    complex_args = ("a", 1, set(["test"]))
+    wrong_args = ("b", 2, set(["jest"]))
 
     stub(*complex_args)
     stub.assert_called_with(*complex_args)
@@ -427,12 +437,12 @@
         stub.assert_called_once_with(*wrong_args)
 
 
[email protected]('needs_assert_rewrite')
[email protected]("needs_assert_rewrite")
 def test_assert_called_kwargs_with_introspection(mocker):
     stub = mocker.stub()
 
-    complex_kwargs = dict(foo={'bar': 1, 'baz': 'spam'})
-    wrong_kwargs = dict(foo={'goo': 1, 'baz': 'bran'})
+    complex_kwargs = dict(foo={"bar": 1, "baz": "spam"})
+    wrong_kwargs = dict(foo={"goo": 1, "baz": "bran"})
 
     stub(**complex_kwargs)
     stub.assert_called_with(**complex_kwargs)
@@ -465,26 +475,31 @@
     stub = mocker.stub()
     assert stub.assert_called_with.__module__ != stub.__module__
 
-    testdir.makepyfile("""
+    testdir.makepyfile(
+        """
         import py.code
         def test_foo(mocker):
             stub = mocker.stub()
             assert stub.assert_called_with.__module__ == stub.__module__
-    """)
-    testdir.makeini("""
+    """
+    )
+    testdir.makeini(
+        """
         [pytest]
         mock_traceback_monkeypatch = false
-    """)
+    """
+    )
     result = runpytest_subprocess(testdir)
     assert result.ret == 0
 
 
 def test_parse_ini_boolean():
     import pytest_mock
-    assert pytest_mock.parse_ini_boolean('True') is True
-    assert pytest_mock.parse_ini_boolean('false') is False
+
+    assert pytest_mock.parse_ini_boolean("True") is True
+    assert pytest_mock.parse_ini_boolean("false") is False
     with pytest.raises(ValueError):
-        pytest_mock.parse_ini_boolean('foo')
+        pytest_mock.parse_ini_boolean("foo")
 
 
 def test_patched_method_parameter_name(mocker):
@@ -497,89 +512,101 @@
         def request(cls, method, args):
             pass
 
-    m = mocker.patch.object(Request, 'request')
-    Request.request(method='get', args={'type': 'application/json'})
-    m.assert_called_once_with(method='get', args={'type': 'application/json'})
+    m = mocker.patch.object(Request, "request")
+    Request.request(method="get", args={"type": "application/json"})
+    m.assert_called_once_with(method="get", args={"type": "application/json"})
 
 
 def test_monkeypatch_native(testdir):
     """Automatically disable monkeypatching when --tb=native.
     """
-    testdir.makepyfile("""
+    testdir.makepyfile(
+        """
         def test_foo(mocker):
             stub = mocker.stub()
             stub(1, greet='hello')
             stub.assert_called_once_with(1, greet='hey')
-    """)
-    result = runpytest_subprocess(testdir, '--tb=native')
+    """
+    )
+    result = runpytest_subprocess(testdir, "--tb=native")
     assert result.ret == 1
-    assert 'During handling of the above exception' not in result.stdout.str()
-    assert 'Differing items:' not in result.stdout.str()
-    traceback_lines = [x for x in result.stdout.str().splitlines()
-                       if 'Traceback (most recent call last)' in x]
-    assert len(traceback_lines) == 1  # make sure there are no duplicated 
tracebacks (#44)
+    assert "During handling of the above exception" not in result.stdout.str()
+    assert "Differing items:" not in result.stdout.str()
+    traceback_lines = [
+        x
+        for x in result.stdout.str().splitlines()
+        if "Traceback (most recent call last)" in x
+    ]
+    assert (
+        len(traceback_lines) == 1
+    )  # make sure there are no duplicated tracebacks (#44)
 
 
[email protected](sys.version_info[0] < 3, reason='Py3 only')
[email protected](sys.version_info[0] < 3, reason="Py3 only")
 def test_standalone_mock(testdir):
     """Check that the "mock_use_standalone" is being used.
     """
-    testdir.makepyfile("""
+    testdir.makepyfile(
+        """
         def test_foo(mocker):
             pass
-    """)
-    testdir.makeini("""
+    """
+    )
+    testdir.makeini(
+        """
         [pytest]
         mock_use_standalone_module = true
-    """)
+    """
+    )
     result = runpytest_subprocess(testdir)
     assert result.ret == 3
-    result.stderr.fnmatch_lines([
-        "*No module named 'mock'*",
-    ])
+    result.stderr.fnmatch_lines(["*No module named 'mock'*"])
 
 
 def runpytest_subprocess(testdir, *args):
     """Testdir.runpytest_subprocess only available in pytest-2.8+"""
-    if hasattr(testdir, 'runpytest_subprocess'):
+    if hasattr(testdir, "runpytest_subprocess"):
         return testdir.runpytest_subprocess(*args)
     else:
         # pytest 2.7.X
         return testdir.runpytest(*args)
 
 
[email protected]('needs_assert_rewrite')
[email protected]("needs_assert_rewrite")
 def test_detailed_introspection(testdir):
     """Check that the "mock_use_standalone" is being used.
     """
-    testdir.makepyfile("""
+    testdir.makepyfile(
+        """
         def test(mocker):
             m = mocker.Mock()
             m('fo')
             m.assert_called_once_with('', bar=4)
-    """)
-    result = testdir.runpytest('-s')
-    result.stdout.fnmatch_lines([
-        "*AssertionError: Expected call: mock('', bar=4)*",
-        "*Actual call: mock('fo')*",
-        "*pytest introspection follows:*",
-        '*Args:',
-        "*assert ('fo',) == ('',)",
-        "*At index 0 diff: 'fo' != ''*",
-        "*Use -v to get the full diff*",
-        "*Kwargs:*",
-        "*assert {} == {'bar': 4}*",
-        "*Right contains more items:*",
-        "*{'bar': 4}*",
-        "*Use -v to get the full diff*",
-    ])
+    """
+    )
+    result = testdir.runpytest("-s")
+    result.stdout.fnmatch_lines(
+        [
+            "*AssertionError: Expected call: mock('', bar=4)*",
+            "*Actual call: mock('fo')*",
+            "*pytest introspection follows:*",
+            "*Args:",
+            "*assert ('fo',) == ('',)",
+            "*At index 0 diff: 'fo' != ''*",
+            "*Use -v to get the full diff*",
+            "*Kwargs:*",
+            "*assert {} == {'bar': 4}*",
+            "*Right contains more items:*",
+            "*{'bar': 4}*",
+            "*Use -v to get the full diff*",
+        ]
+    )
 
 
 def test_assert_called_with_unicode_arguments(mocker):
     """Test bug in assert_call_with called with non-ascii unicode string 
(#91)"""
     stub = mocker.stub()
-    stub(b'l\xc3\xb6k'.decode('UTF-8'))
+    stub(b"l\xc3\xb6k".decode("UTF-8"))
 
     with pytest.raises(AssertionError):
-        stub.assert_called_with(u'lak')
-
+        stub.assert_called_with(u"lak")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-mock-1.10.0/tox.ini 
new/pytest-mock-1.10.1/tox.ini
--- old/pytest-mock-1.10.0/tox.ini      2018-05-01 19:10:54.000000000 +0200
+++ new/pytest-mock-1.10.1/tox.ini      2019-02-04 14:32:41.000000000 +0100
@@ -1,12 +1,10 @@
 [tox]
-envlist = py{27,34,35,36}-pytest{34,35},linting,norewrite
+envlist = py{27,34,35,36,37}, linting, norewrite
 
 [testenv]
 passenv = USER USERNAME
 deps =
     coverage
-    pytest34: pytest~=3.4
-    pytest35: pytest~=3.5
 commands =
     coverage run --append --source=pytest_mock.py -m pytest test_pytest_mock.py
 
@@ -15,11 +13,8 @@
     pytest test_pytest_mock.py --assert=plain -ra
 
 [testenv:linting]
-skip_install=True
-deps =
-    pytest-flakes
-    restructuredtext_lint
-    pygments
-commands =
-    py.test --flakes pytest_mock.py test_pytest_mock.py -m flakes
-    rst-lint CHANGELOG.rst README.rst
+skipsdist = True
+usedevelop = True
+extras = dev
+basepython = python3.6
+commands = pre-commit run --all-files --show-diff-on-failure


Reply via email to