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 
> -------------------------------
> [+] Setting up ruamel yaml 'quote simple values' configuration...
> [+] Setting up ruamel yaml 'sequence flow style' configuration...
> [+] Running ruamel yaml base configuration...
> [+] Running source code fixers...
> [+] Fixing truthy strings...
> [+] Fixing jinja2 variables...
> [+] Running ruamel yaml fixer...
> [+] Restoring truthy strings...
> [+] Restoring jinja2 variables...
> [+] Restoring double exclamations...
> [+] Fixing comments...
> [+] Fixing flow-style lists...
> [+] 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

Reply via email to