Source: python-yamlfix Version: 1.17.0-4 Severity: serious Justification: FTBFS Tags: forky sid ftbfs User: [email protected] Usertags: ftbfs-20250919 ftbfs-forky
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. The full build log is available from: http://qa-logs.debian.net/2025/09/19/python-yamlfix_1.17.0-4_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250919;[email protected] or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250919&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime. -- Relevant part of the build log (hopefully): > debian/rules binary > dh binary --buildsystem=pybuild > dh_update_autotools_config -O--buildsystem=pybuild > dh_autoreconf -O--buildsystem=pybuild > dh_auto_configure -O--buildsystem=pybuild > dh_auto_build -O--buildsystem=pybuild > I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" > module > I: pybuild base:311: python3.13 -m build --skip-dependency-check > --no-isolation --wheel --outdir > /build/reproducible-path/python-yamlfix-1.17.0/.pybuild/cpython3_3.13_yamlfix > > * Building wheel... > - Adding .pdm-build/yamlfix-1.17.0.dist-info/METADATA -> > yamlfix-1.17.0.dist-info/METADATA > - Adding .pdm-build/yamlfix-1.17.0.dist-info/WHEEL -> > yamlfix-1.17.0.dist-info/WHEEL > - Adding .pdm-build/yamlfix-1.17.0.dist-info/entry_points.txt -> > yamlfix-1.17.0.dist-info/entry_points.txt > - Adding .pdm-build/yamlfix-1.17.0.dist-info/licenses/LICENSE -> > yamlfix-1.17.0.dist-info/licenses/LICENSE > - Adding src/yamlfix/__init__.py -> yamlfix/__init__.py > - Adding src/yamlfix/adapters.py -> yamlfix/adapters.py > - Adding src/yamlfix/config.py -> yamlfix/config.py > - Adding src/yamlfix/entrypoints/__init__.py -> > yamlfix/entrypoints/__init__.py > - Adding src/yamlfix/entrypoints/cli.py -> yamlfix/entrypoints/cli.py > - Adding src/yamlfix/model.py -> yamlfix/model.py > - Adding src/yamlfix/py.typed -> yamlfix/py.typed > - Adding src/yamlfix/services.py -> yamlfix/services.py > - Adding src/yamlfix/version.py -> yamlfix/version.py > - Adding yamlfix-1.17.0.dist-info/RECORD -> yamlfix-1.17.0.dist-info/RECORD > Successfully built yamlfix-1.17.0-py3-none-any.whl > I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with > "installer" module > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:311: cd > /build/reproducible-path/python-yamlfix-1.17.0/.pybuild/cpython3_3.13_yamlfix/build; > python3.13 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 > rootdir: > /build/reproducible-path/python-yamlfix-1.17.0/.pybuild/cpython3_3.13_yamlfix/build > configfile: pyproject.toml > plugins: xdist-3.8.0, cov-5.0.0 > created: 8/8 workers > 8 workers [139 items] > > .....................................F................F................. [ > 51%] > ............................................................F..F.F. > [100%] > =================================== FAILURES > =================================== > _________________ TestYamlAdapter.test_if_line_length_expands > __________________ > [gw6] linux -- Python 3.13.7 /usr/bin/python3.13 > > self = <tests.unit.test_adapter_yaml.TestYamlAdapter object at 0x7f566054d6d0> > > def test_if_line_length_expands(self) -> None: > """Test if configurable line-length expands string value.""" > source = dedent( > """\ > key: value value value value value value > value value value value value value > value value value value value value > value value value value value value > value value value value value value > value value value value value value > """ > ) > fixed_source = dedent( > """\ > --- > key: value value value value value value value value value value > value value value value value value value > value value value value value value value value value value > value value value value value value value > value value > """ # noqa: E501 > ) > config = YamlfixConfig() > config.line_length = 100 > > result = fix_code(source, config) > > > assert result == fixed_source > E AssertionError: assert '---\nkey: va...value value\n' == '---\nkey: > va...value value\n' > E > E Skipping 94 identical leading characters in diff, use -v to show > E - alue value value > E ? ------ > E + alue value > E - value value value value value value value value value value > value value value value value value value > E ? > -----... > E > E ...Full output truncated (3 lines hidden), use '-vv' to show > > tests/unit/test_adapter_yaml.py:146: AssertionError > ________________ TestYamlAdapter.test_if_line_length_contracts > _________________ > [gw6] linux -- Python 3.13.7 /usr/bin/python3.13 > > self = <tests.unit.test_adapter_yaml.TestYamlAdapter object at 0x7f5660646690> > > def test_if_line_length_contracts(self) -> None: > """Test if configurable line-length contracts string value.""" > source = dedent( > """\ > key: value value value value value value > value value value value value value > value value value value value value > value value value value value value > value value value value value value > value value value value value value > """ > ) > fixed_source = dedent( > """\ > --- > key: value value value > value value value value > value value value value > value value value value > value value value value > value value value value > value value value value > value value value value > value value value value > value > """ > ) > config = YamlfixConfig() > config.line_length = 20 > > result = fix_code(source, config) > > > assert result == fixed_source > E AssertionError: assert '---\nkey: va...e \n value\n' == '---\nkey: > va...ue\n value\n' > E > E --- > E - key: value value value > E ? ----- > E + key: value value > E - value value value value > E ? -----... > E > E ...Full output truncated (26 lines hidden), use '-vv' to show > > tests/unit/test_adapter_yaml.py:180: AssertionError > ________ TestFixCode.test_anchors_and_aliases_with_duplicate_merge_keys > ________ > [gw2] linux -- Python 3.13.7 /usr/bin/python3.13 > > self = <tests.unit.test_services.TestFixCode object at 0x7f687c07e030> > > def test_anchors_and_aliases_with_duplicate_merge_keys(self) -> None: > """All anchors and aliases should be preserved even with multiple > merge keys > and merge keys should be formatted as a list in a single line. > """ > source = dedent( > """\ > --- > x-node-volumes: &node-volumes > node3_data: > x-vault-volumes: &vault-volumes > vault_data: > x-mongo-volumes: &mongo-volumes > mongo_data: > x-certmgr-volumes: &certmgr-volumes > cert_data: > volumes: > <<: *node-volumes > <<: *vault-volumes > <<: *mongo-volumes > <<: *certmgr-volumes > """ > ) > desired_source = dedent( > """\ > --- > x-node-volumes: &node-volumes > node3_data: > x-vault-volumes: &vault-volumes > vault_data: > x-mongo-volumes: &mongo-volumes > mongo_data: > x-certmgr-volumes: &certmgr-volumes > cert_data: > volumes: > <<: > - *node-volumes > - *vault-volumes > - *mongo-volumes > - *certmgr-volumes > """ > ) > config = YamlfixConfig() > config.allow_duplicate_keys = True > > result = fix_code(source, config) > > > assert result == desired_source > E AssertionError: assert '---\nx-node-...ode-volumes\n' == > '---\nx-node-...mgr-volumes\n' > E > E Skipping 54 identical leading characters in diff, use -v to show > E - t-volumes: &vault-volumes > E + t-volumes: > E vault_data: > E - x-mongo-volumes: &mongo-volumes > E + x-mongo-volumes:... > E > E ...Full output truncated (13 lines hidden), use '-vv' to show > > tests/unit/test_services.py:576: AssertionError > ------------------------------ Captured log call > ------------------------------- > [[37m+[0m] Setting up ruamel yaml 'quote simple values' configuration... > [[37m+[0m] Setting up ruamel yaml 'sequence flow style' configuration... > [[37m+[0m] Running ruamel yaml base configuration... > [[37m+[0m] Running source code fixers... > [[37m+[0m] Fixing truthy strings... > [[37m+[0m] Fixing jinja2 variables... > [[37m+[0m] Running ruamel yaml fixer... > [[37m+[0m] Restoring truthy strings... > [[37m+[0m] Restoring jinja2 variables... > [[37m+[0m] Restoring double exclamations... > [[37m+[0m] Fixing comments... > [[37m+[0m] Fixing flow-style lists... > [[37m+[0m] Fixing top level lists... > ______ TestFixCode.test_fix_code_respects_jinja_variables_with_operations > ______ > [gw3] linux -- Python 3.13.7 /usr/bin/python3.13 > > self = <tests.unit.test_services.TestFixCode object at 0x7f5861779fe0> > > def test_fix_code_respects_jinja_variables_with_operations( > self, > ) -> None: > """ > Given: Code with a long string that contains a jinja variable with > operations > When: fix_code is run > Then: The jinja string is not broken > """ > source = ( > "---\n" > "project: This is a long long long long line that should not be > split on " > "the jinja {{ variable that contains different words }}" > ) > desired_source = ( > "---\n" > "project: This is a long long long long line that should not be > split on " > "the jinja\n" > " {{ variable that contains different words }}\n" > ) > > result = fix_code(source) > > > assert result == desired_source > E AssertionError: assert '---\nproject...nt words }}\n' == > '---\nproject...nt words }}\n' > E > E Skipping 70 identical leading characters in diff, use -v to show > E - it on the jinja > E ? ----- > E + it on the > E - {{ variable that contains different words }} > E + jinja {{ variable that contains different words }} > E ? ++++++ > > tests/unit/test_services.py:687: AssertionError > ___________ TestFixCode.test_fix_code_respects_many_jinja_variables > ____________ > [gw0] linux -- Python 3.13.7 /usr/bin/python3.13 > > self = <tests.unit.test_services.TestFixCode object at 0x7faf4e576170> > > def test_fix_code_respects_many_jinja_variables( > self, > ) -> None: > """ > Given: Code with a long string that contains two jinja variables > When: fix_code is run > Then: The jinja string is not broken > """ > source = ( > "---\n" > "project: This is a long long {{ variable_1 }} line that should > not be " > "split on the jinja {{ variable_2 }}" > ) > desired_source = ( > "---\n" > "project: This is a long long {{ variable_1 }} line that should > not be " > "split on the\n" > " jinja {{ variable_2 }}\n" > ) > > result = fix_code(source) > > > assert result == desired_source > E AssertionError: assert '---\nproject...riable_2 }}\n' == > '---\nproject...riable_2 }}\n' > E > E Skipping 73 identical leading characters in diff, use -v to show > E - split on the > E ? --- > E + split on > E - jinja {{ variable_2 }} > E + the jinja {{ variable_2 }} > E ? ++++ > > tests/unit/test_services.py:663: AssertionError > =========================== short test summary info > ============================ > FAILED > tests/unit/test_adapter_yaml.py::TestYamlAdapter::test_if_line_length_expands > FAILED > tests/unit/test_adapter_yaml.py::TestYamlAdapter::test_if_line_length_contracts > FAILED > tests/unit/test_services.py::TestFixCode::test_anchors_and_aliases_with_duplicate_merge_keys > FAILED > tests/unit/test_services.py::TestFixCode::test_fix_code_respects_jinja_variables_with_operations > FAILED > tests/unit/test_services.py::TestFixCode::test_fix_code_respects_many_jinja_variables > ======================== 5 failed, 134 passed in 1.85s > ========================= > E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd > /build/reproducible-path/python-yamlfix-1.17.0/.pybuild/cpython3_3.13_yamlfix/build; > python3.13 -m pytest tests > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 > returned exit code 13

