Tests: Add a value to mocked entry_points, so pytest 6+ can log it

Pytest 6.0.0rc1 attempts to log a repr of our mocked entry_point,
but it fails, becasue the repr metohod expects a valua attribute:

Reproducer:

    $ tox -e py38 --force-dep 'pytest==6.0.0rc1'
    ...
    Traceback (most recent call last):
      File "/usr/lib/python3.8/logging/__init__.py", line 1081, in emit
        msg = self.format(record)
      File "/usr/lib/python3.8/logging/__init__.py", line 925, in format
        return fmt.format(record)
      File "/usr/lib/python3.8/logging/__init__.py", line 664, in format
        record.message = record.getMessage()
      File "/usr/lib/python3.8/logging/__init__.py", line 369, in getMessage
        msg = msg % self.args
      File "/tmp/flake8/.tox/py38/lib/python3.8/site-packages/flake8/plugins/manager.py", line 44, in __repr__
        self.name, self.entry_point.value
      File "/tmp/flake8/.tox/py38/lib/python3.8/site-packages/mock/mock.py", line 632, in __getattr__
        raise AttributeError("Mock object has no attribute %r" % name)
    AttributeError: Mock object has no attribute 'value'
This commit is contained in:
Miro Hrončok 2020-07-20 13:18:23 +02:00
parent a7be77f761
commit 91b09d5b37

View file

@ -100,6 +100,7 @@ def mock_file_checker_with_plugin(plugin_target):
entry_point = mock.Mock(spec=['load'])
entry_point.name = plugin_target.name
entry_point.load.return_value = plugin_target
entry_point.value = 'mocked:value'
# Load the checker plugins using the entry point mock
with mock.patch.object(