User fine grained verbosity for saferepr max size

This commit is contained in:
Patrick Lannigan 2023-11-11 14:18:30 -05:00
parent 1baca27611
commit 21d811135b
No known key found for this signature in database
GPG Key ID: BBF5D9DED1E4AAF9
2 changed files with 8 additions and 3 deletions

View File

@ -426,7 +426,10 @@ def _saferepr(obj: object) -> str:
def _get_maxsize_for_saferepr(config: Optional[Config]) -> Optional[int]: def _get_maxsize_for_saferepr(config: Optional[Config]) -> Optional[int]:
"""Get `maxsize` configuration for saferepr based on the given config object.""" """Get `maxsize` configuration for saferepr based on the given config object."""
verbosity = config.getoption("verbose") if config is not None else 0 if config is None:
verbosity = 0
else:
verbosity = config.get_verbosity(Config.VERBOSITY_ASSERTIONS)
if verbosity >= 2: if verbosity >= 2:
return None return None
if verbosity >= 1: if verbosity >= 1:

View File

@ -2056,13 +2056,15 @@ class TestReprSizeVerbosity:
) )
def test_get_maxsize_for_saferepr(self, verbose: int, expected_size) -> None: def test_get_maxsize_for_saferepr(self, verbose: int, expected_size) -> None:
class FakeConfig: class FakeConfig:
def getoption(self, name: str) -> int: def get_verbosity(self, verbosity_type: Optional[str] = None) -> int:
assert name == "verbose"
return verbose return verbose
config = FakeConfig() config = FakeConfig()
assert _get_maxsize_for_saferepr(cast(Config, config)) == expected_size assert _get_maxsize_for_saferepr(cast(Config, config)) == expected_size
def test_get_maxsize_for_saferepr_no_config(self) -> None:
assert _get_maxsize_for_saferepr(None) == DEFAULT_REPR_MAX_SIZE
def create_test_file(self, pytester: Pytester, size: int) -> None: def create_test_file(self, pytester: Pytester, size: int) -> None:
pytester.makepyfile( pytester.makepyfile(
f""" f"""