From dbae4e92c909df18610dc2f071afea6a47888a14 Mon Sep 17 00:00:00 2001 From: Avasam Date: Tue, 27 Aug 2024 11:14:40 -0400 Subject: [PATCH] Log filenames when running pytest-mypy --- conftest.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/conftest.py b/conftest.py index 01ed2fa2e6..eb052d05ca 100644 --- a/conftest.py +++ b/conftest.py @@ -1,6 +1,10 @@ +from __future__ import annotations + +import os import sys import pytest +from pytest_mypy import MypyFileItem, MypyResults pytest_plugins = 'setuptools.tests.fixtures' @@ -20,7 +24,18 @@ def pytest_addoption(parser): ) +def mypy_error_formatter_show_filename( + item: MypyFileItem, results: MypyResults, errors: list[str] +) -> str: # pragma: nocover # This shouldn't run on success + """Include the relative file path before each reported error.""" + return '\n'.join( + f'{item.path.relative_to(os.getcwd())}:{error}' for error in errors + ) + + def pytest_configure(config): + mypy_plugin = config.pluginmanager.getplugin('mypy') + mypy_plugin.file_error_formatter = mypy_error_formatter_show_filename config.addinivalue_line("markers", "integration: integration tests") config.addinivalue_line("markers", "uses_network: tests may try to download files") _IntegrationTestSpeedups.disable_plugins_already_run(config)