Source: python-pathvalidate Version: 3.2.0-1 Severity: normal User: debian-pyt...@lists.debian.org Usertags: python3.13 Forwarded: https://github.com/thombashi/pathvalidate/issues/39
This package failed build from source when test-built against a version of python3-defaults that includes 3.13 as a supported version. To reproduce this issue, build against python3-defaults (python3-all-dev etc.) from Debian experimental. This appears to be fixed upstream in version 3.2.1. What's new in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html Log snippet: dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pathvalidate/build; python3.13 -m pytest test ============================= test session starts ============================== platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pathvalidate/build configfile: pyproject.toml plugins: typeguard-4.3.0 collected 3727 items test/test_argparse.py ...........ss............ssssss [ 0%] test/test_click.py ................ [ 1%] test/test_common.py .................................................... [ 2%] ........................................................................ [ 4%] ........................................................................ [ 6%] ................................................................. [ 8%] test/test_error.py ... [ 8%] test/test_filename.py .................................................. [ 9%] ........................................................................ [ 11%] ................................................................ss...... [ 13%] ........................................................................ [ 15%] ........................................................................ [ 17%] ........................................................................ [ 19%] ..................F.F..FFF.F..FF........................................ [ 21%] ........................................................................ [ 23%] ........................................................................ [ 25%] ........................................................................ [ 27%] ........................................................................ [ 29%] ........................................................................ [ 30%] ........................................................................ [ 32%] ........................................................................ [ 34%] ........................................................................ [ 36%] ........................................................................ [ 38%] .................. [ 39%] test/test_filepath.py .................................................. [ 40%] ...................................................F...s................ [ 42%] ......ss................................................................ [ 44%] ........................................................................ [ 46%] ........................................................................ [ 48%] ........................................................................ [ 50%] ........................................................................ [ 52%] ........................................................................ [ 54%] ........................................................................ [ 55%] ........................................................................ [ 57%] ........................................................................ [ 59%] ........................................................................ [ 61%] ........................................................................ [ 63%] ........................................................................ [ 65%] ........................................................................ [ 67%] ........................................................................ [ 69%] ........................................................................ [ 71%] ........................................................................ [ 73%] ........................................................................ [ 75%] ........................................................................ [ 77%] ...............................................................s...... [ 79%] test/test_handler.py .................. [ 79%] test/test_ltsv.py ...................................................... [ 81%] ........................................................................ [ 82%] ........................................................................ [ 84%] ........................................................................ [ 86%] ............................... [ 87%] test/test_symbol.py .................................................... [ 89%] ..........ss............................................................ [ 90%] ........................................................................ [ 92%] ........................................................................ [ 94%] ........................................................................ [ 96%] ...............................................................ss....... [ 98%] ................................................. [100%] =================================== FAILURES =================================== _____ Test_validate_filename.test_win_abs_path[windows-\\-ValidationError] _____ self = <test.test_filename.Test_validate_filename object at 0xffff8c904af0> platform = 'windows', value = '\\' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError ____ Test_validate_filename.test_win_abs_path[windows-\\ -ValidationError] _____ self = <test.test_filename.Test_validate_filename object at 0xffff8c904b90> platform = 'windows', value = '\\ ' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\ ', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\ ', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\ ', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError ___ Test_validate_filename.test_win_abs_path[windows-\\xyz-ValidationError] ____ self = <test.test_filename.Test_validate_filename object at 0xffff8c904c80> platform = 'windows', value = '\\xyz' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\xyz', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\xyz', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\xyz', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError ___ Test_validate_filename.test_win_abs_path[windows-\\xyz -ValidationError] ___ self = <test.test_filename.Test_validate_filename object at 0xffff8c904cd0> platform = 'windows', value = '\\xyz ' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\xyz ', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\xyz ', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\xyz ', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError ____ Test_validate_filename.test_win_abs_path[universal-\\-ValidationError] ____ self = <test.test_filename.Test_validate_filename object at 0xffff8c904d20> platform = 'universal', value = '\\' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError ___ Test_validate_filename.test_win_abs_path[universal-\\ -ValidationError] ____ self = <test.test_filename.Test_validate_filename object at 0xffff8c904dc0> platform = 'universal', value = '\\ ' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\ ', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\ ', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\ ', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError __ Test_validate_filename.test_win_abs_path[universal-\\xyz-ValidationError] ___ self = <test.test_filename.Test_validate_filename object at 0xffff8c904eb0> platform = 'universal', value = '\\xyz' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\xyz', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\xyz', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\xyz', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError __ Test_validate_filename.test_win_abs_path[universal-\\xyz -ValidationError] __ self = <test.test_filename.Test_validate_filename object at 0xffff8c904f00> platform = 'universal', value = '\\xyz ' expected = <class 'pathvalidate.error.ValidationError'> @pytest.mark.parametrize( ["platform", "value", "expected"], [ [win_abspath, platform, None] for win_abspath, platform in product( ["linux", "macos", "posix"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "], ) ] + [ [win_abspath, platform, ValidationError] for win_abspath, platform in product( ["windows", "universal"], ["\\", "\\\\", "\\ ", "C:\\", "c:\\", "\\xyz", "\\xyz "] ) ], ) def test_win_abs_path(self, platform, value, expected): if expected is None: validate_filename(value, platform=platform) else: with pytest.raises(expected) as e: validate_filename(value, platform=platform) > assert e.value.reason == ErrorReason.FOUND_ABS_PATH E AssertionError: assert <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> == <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> E + where <ErrorReason.INVALID_CHARACTER: ('PV1100', 'INVALID_CHARACTER', 'invalid characters found')> = [PV1100] invalid characters found: invalids=('\\'), value='\\xyz ', platform=Windows.reason E + where [PV1100] invalid characters found: invalids=('\\'), value='\\xyz ', platform=Windows = <ExceptionInfo [PV1100] invalid characters found: invalids=('\\'), value='\\xyz ', platform=Windows tblen=4>.value E + and <ErrorReason.FOUND_ABS_PATH: ('PV1200', 'FOUND_ABS_PATH', 'found an absolute path where must be a relative path')> = ErrorReason.FOUND_ABS_PATH test/test_filename.py:416: AssertionError ________ Test_validate_filepath.test_abs_path[windows-/a/b/c.txt-None] _________ self = <test.test_filepath.Test_validate_filepath object at 0xffff8c8bee40> test_platform = 'windows', value = '/a/b/c.txt', expected = None @pytest.mark.parametrize( ["test_platform", "value", "expected"], [ ["linux", "/a/b/c.txt", None], ["linux", "C:\\a\\b\\c.txt", ValidationError], ["windows", "/a/b/c.txt", None], ["windows", "C:\\a\\b\\c.txt", None], ["universal", "/a/b/c.txt", ValidationError], ["universal", "C:\\a\\b\\c.txt", ValidationError], ], ) def test_abs_path(self, test_platform, value, expected): if expected is None: > validate_filepath(value, platform=test_platform) test/test_filepath.py:292: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pathvalidate/_filepath.py:371: in validate_filepath ).validate(file_path) pathvalidate/_filepath.py:195: in validate self.validate_abspath(value) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pathvalidate._filepath.FilePathValidator object at 0xffff8bf69400> value = '/a/b/c.txt' def validate_abspath(self, value: PathType) -> None: is_posix_abs = posixpath.isabs(value) is_nt_abs = ntpath.isabs(value) err_object = ValidationError( description=( "an invalid absolute file path ({}) for the platform ({}).".format( value, self.platform.value ) + " to avoid the error, specify an appropriate platform corresponding to" + " the path format or 'auto'." ), platform=self.platform, reason=ErrorReason.MALFORMED_ABS_PATH, ) if any([self._is_windows() and is_nt_abs, self._is_linux() and is_posix_abs]): return if self._is_universal() and any([is_posix_abs, is_nt_abs]): ValidationError( description=( ("POSIX style" if is_posix_abs else "NT style") + " absolute file path found. expected a platform-independent file path." ), platform=self.platform, reason=ErrorReason.MALFORMED_ABS_PATH, ) if self._is_windows(include_universal=True) and is_posix_abs: > raise err_object E pathvalidate.error.ValidationError: [PV1201] found a malformed absolute path: platform=Windows, description=an invalid absolute file path (/a/b/c.txt) for the platform (Windows). to avoid the error, specify an appropriate platform corresponding to the path format or 'auto'. pathvalidate/_filepath.py:269: ValidationError =============================== warnings summary =============================== ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: discord_verbose self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: md_report self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: md_report_color self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: md_report_verbose self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-True-CON_] test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-True-CON_] test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-False-CON] test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-False-CON] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pathvalidate/build/pathvalidate/_filename.py:450: DeprecationWarning: 'check_reserved' is deprecated. Use 'reserved_name_handler' instead. warnings.warn( test/test_filepath.py::Test_sanitize_filepath::test_normal_check_reserved[CON-True-CON_] test/test_filepath.py::Test_sanitize_filepath::test_normal_check_reserved[CON-False-CON] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pathvalidate/build/pathvalidate/_filepath.py:499: DeprecationWarning: 'check_reserved' is deprecated. Use 'reserved_name_handler' instead. warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[windows-\\-ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[windows-\\ -ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[windows-\\xyz-ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[windows-\\xyz -ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[universal-\\-ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[universal-\\ -ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[universal-\\xyz-ValidationError] FAILED test/test_filename.py::Test_validate_filename::test_win_abs_path[universal-\\xyz -ValidationError] FAILED test/test_filepath.py::Test_validate_filepath::test_abs_path[windows-/a/b/c.txt-None] =========== 9 failed, 3700 passed, 18 skipped, 10 warnings in 3.46s ============ E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pathvalidate/build; python3.13 -m pytest test I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pathvalidate/build; python3.12 -m pytest test ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pathvalidate/build configfile: pyproject.toml plugins: typeguard-4.3.0 collected 3727 items test/test_argparse.py ...........ss............ssssss [ 0%] test/test_click.py ................ [ 1%] test/test_common.py .................................................... [ 2%] ........................................................................ [ 4%] ........................................................................ [ 6%] ................................................................. [ 8%] test/test_error.py ... [ 8%] test/test_filename.py .................................................. [ 9%] ........................................................................ [ 11%] ................................................................ss...... [ 13%] ........................................................................ [ 15%] ........................................................................ [ 17%] ........................................................................ [ 19%] ........................................................................ [ 21%] ........................................................................ [ 23%] ........................................................................ [ 25%] ........................................................................ [ 27%] ........................................................................ [ 29%] ........................................................................ [ 30%] ........................................................................ [ 32%] ........................................................................ [ 34%] ........................................................................ [ 36%] ........................................................................ [ 38%] .................. [ 39%] test/test_filepath.py .................................................. [ 40%] .......................................................s................ [ 42%] ......ss................................................................ [ 44%] ........................................................................ [ 46%] ........................................................................ [ 48%] ........................................................................ [ 50%] ........................................................................ [ 52%] ........................................................................ [ 54%] ........................................................................ [ 55%] ........................................................................ [ 57%] ........................................................................ [ 59%] ........................................................................ [ 61%] ........................................................................ [ 63%] ........................................................................ [ 65%] ........................................................................ [ 67%] ........................................................................ [ 69%] ........................................................................ [ 71%] ........................................................................ [ 73%] ........................................................................ [ 75%] ........................................................................ [ 77%] ...............................................................s...... [ 79%] test/test_handler.py .................. [ 79%] test/test_ltsv.py ...................................................... [ 81%] ........................................................................ [ 82%] ........................................................................ [ 84%] ........................................................................ [ 86%] ............................... [ 87%] test/test_symbol.py .................................................... [ 89%] ..........ss............................................................ [ 90%] ........................................................................ [ 92%] ........................................................................ [ 94%] ........................................................................ [ 96%] ...............................................................ss....... [ 98%] ................................................. [100%] =============================== warnings summary =============================== ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: discord_verbose self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: md_report self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: md_report_color self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441 /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1441: PytestConfigWarning: Unknown config option: md_report_verbose self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-True-CON_] test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-True-CON_] test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-False-CON] test/test_filename.py::Test_sanitize_filename::test_normal_check_reserved[CON-False-CON] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pathvalidate/build/pathvalidate/_filename.py:450: DeprecationWarning: 'check_reserved' is deprecated. Use 'reserved_name_handler' instead. warnings.warn( test/test_filepath.py::Test_sanitize_filepath::test_normal_check_reserved[CON-True-CON_] test/test_filepath.py::Test_sanitize_filepath::test_normal_check_reserved[CON-False-CON] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pathvalidate/build/pathvalidate/_filepath.py:499: DeprecationWarning: 'check_reserved' is deprecated. Use 'reserved_name_handler' instead. warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================ 3709 passed, 18 skipped, 10 warnings in 3.35s ================= dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 make: *** [debian/rules:9: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-19T05:38:39Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/787124/ This bug has been filed at "normal" severity, as we haven't started the transition to add 3.13 as a supported version, yet. This will be raised to RC as soon as that happens, hopefully well before trixie. Thanks, Stefano