Allow users to override the hardcoded repr maxsize value

This change should enable users to increase the size of the error
messages without being forced to increase the verbosity level, which
has lost of side-effects.
This commit is contained in:
Sorin Sbarnea 2022-12-15 09:04:05 +00:00
parent f6adebb990
commit b79935612f
3 changed files with 9 additions and 1 deletions

View File

@ -0,0 +1,2 @@
Allow users to override repr maxsize value (240) by defining
:envvar:`PYTEST_DEFAULT_REPR_MAX_SIZE` environment variable.

View File

@ -1061,6 +1061,11 @@ processes can inspect it, see :ref:`pytest current test env` for more informatio
When set, pytest will print tracing and debug information. When set, pytest will print tracing and debug information.
.. envvar:: PYTEST_DEFAULT_REPR_MAX_SIZE
Setting this would override the implicit 240 chars limit used for truncating
longer error messages.
.. envvar:: PYTEST_DISABLE_PLUGIN_AUTOLOAD .. envvar:: PYTEST_DISABLE_PLUGIN_AUTOLOAD
When set, disables plugin auto-loading through setuptools entrypoints. Only explicitly specified plugins will be When set, disables plugin auto-loading through setuptools entrypoints. Only explicitly specified plugins will be

View File

@ -1,3 +1,4 @@
import os
import pprint import pprint
import reprlib import reprlib
from typing import Any from typing import Any
@ -96,7 +97,7 @@ def safeformat(obj: object) -> str:
# Maximum size of overall repr of objects to display during assertion errors. # Maximum size of overall repr of objects to display during assertion errors.
DEFAULT_REPR_MAX_SIZE = 240 DEFAULT_REPR_MAX_SIZE = int(os.environ.get("PYTEST_DEFAULT_REPR_MAX_SIZE", 240))
def saferepr( def saferepr(