diff --git a/sphinx/ext/intersphinx/_load.py b/sphinx/ext/intersphinx/_load.py index ab6a373fea0..d849ff2d8f3 100644 --- a/sphinx/ext/intersphinx/_load.py +++ b/sphinx/ext/intersphinx/_load.py @@ -234,7 +234,7 @@ def _display_failures(failures: Sequence[tuple[str, ...]]) -> str: try: formatted.append(failure_args[0] % failure_args[1:]) except TypeError: - formatted.append(' - '.join(failure_args)) + formatted.append(' - '.join(map(str, failure_args))) return '\n'.join(formatted) diff --git a/tests/test_ext_intersphinx/test_ext_intersphinx.py b/tests/test_ext_intersphinx/test_ext_intersphinx.py index 5fcfe4d9260..e063e3ebbe5 100644 --- a/tests/test_ext_intersphinx/test_ext_intersphinx.py +++ b/tests/test_ext_intersphinx/test_ext_intersphinx.py @@ -935,6 +935,7 @@ def test_display_failures(): 'http://example.com', 'http://proxyhost.net', ), # No '%' + (22, 'Invalid argument'), # Non-string argument ] issues = _display_failures(failures_args) assert 'Failed to fetch inventory from http://example.com' in issues @@ -943,3 +944,4 @@ def test_display_failures(): 'intersphinx inventory has moved: - http://example.com - http://proxyhost.net' in issues ) + assert '22 - Invalid argument' in issues