Source: python-yamlfix
Version: 1.16.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240728 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (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.12 with "build" 
> module
> I: pybuild base:311: python3.12 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_yamlfix  
> * Building wheel...
>  - Adding .pdm-build/yamlfix-1.16.0.dist-info/METADATA -> 
> yamlfix-1.16.0.dist-info/METADATA
>  - Adding .pdm-build/yamlfix-1.16.0.dist-info/WHEEL -> 
> yamlfix-1.16.0.dist-info/WHEEL
>  - Adding .pdm-build/yamlfix-1.16.0.dist-info/entry_points.txt -> 
> yamlfix-1.16.0.dist-info/entry_points.txt
>  - Adding .pdm-build/yamlfix-1.16.0.dist-info/licenses/LICENSE -> 
> yamlfix-1.16.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.16.0.dist-info/RECORD -> yamlfix-1.16.0.dist-info/RECORD
> Successfully built yamlfix-1.16.0-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
> "installer" module
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_yamlfix/build; python3.12 -m pytest 
> tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.4, pytest-8.3.1, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_yamlfix/build
> configfile: pyproject.toml
> plugins: xdist-3.6.1, cov-5.0.0
> created: 8/8 workers
> 8 workers [139 items]
> 
> ...................FF.F......F.FF.F.F.......FFF...F..........F.....F.... [ 
> 51%]
> .............F...................................................F.      
> [100%]
> =================================== FAILURES 
> ===================================
> _________________________ test_verbose_option[1-False] 
> _________________________
> [gw2] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7fb72dce3560>, verbose = 1
> requires_fixing = False
> 
>     @pytest.mark.secondary()
>     @pytest.mark.parametrize(
>         ("verbose", "requires_fixing"), product([0, 1, 2], [True, False])
>     )
>     def test_verbose_option(runner: CliRunner, verbose: int, requires_fixing: 
> bool) -> None:
>         """Prints debug level logs only when called with --verbose"""
>         # Clear logging handlers for logs to work with CliRunner
>         # For more info see https://github.com/pallets/click/issues/1053)
>         logging.getLogger().handlers = []
>         source = "program: yamlfix" if requires_fixing else "---\nprogram: 
> yamlfix\n"
>         args = ["-"]
>         if verbose >= 1:
>             args.append("--verbose")
>         if verbose >= 2:
>             args.append("-v")
>     
>         result = runner.invoke(cli, args, input=source)
>     
>         debug_log_format = "[\033[37m+\033[0m]"
>         unchanged_log_format = "[\033[32m+\033[0m]"
>         info_log_format = "[\033[36m+\033[0m]"
>         # Check that changes are printed at info level
>         assert (f"{info_log_format} Fixed <stdin>" in result.stderr) == 
> requires_fixing
>         if verbose == 0:
>             assert debug_log_format not in result.stderr
>             assert unchanged_log_format not in result.stderr
>         if verbose >= 1:
>             # If no changes are required, unchanged log should not be printed
> >           assert (unchanged_log_format in result.stderr) != requires_fixing
> E           AssertionError: assert ('[\x1b[32m+\x1b[0m]' in 
> '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n') != False
> E            +  where '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n' = <Result 
> PydanticDeprecatedSince20('The `dict` method is deprecated; use `model_dump` 
> instead.')>.stderr
> 
> tests/e2e/test_cli.py:160: AssertionError
> __________________________ test_include_exclude_files 
> __________________________
> [gw1] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f14ce1b0f20>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw1/test_include_exclude_files0')
> 
>     def test_include_exclude_files(runner: CliRunner, tmp_path: Path) -> None:
>         """Correct only files matching include, and ignore files matching 
> exclude."""
>         include1 = tmp_path / "source_1.yaml"
>         exclude1 = tmp_path / "source_2.txt"
>         (tmp_path / "foo").mkdir()
>         exclude2 = tmp_path / "foo" / "source_3.yaml"
>         (tmp_path / "foo" / "bar").mkdir()
>         exclude3 = tmp_path / "foo" / "bar" / "source_4.yaml"
>         (tmp_path / "foo" / "baz").mkdir()
>         exclude4 = tmp_path / "foo" / "baz" / "source_5.yaml"
>         test_files = [include1, exclude1, exclude2, exclude3, exclude4]
>         init_source = "program: yamlfix"
>         for test_file in test_files:
>             test_file.write_text(init_source)
>         fixed_source = dedent(
>             """\
>             ---
>             program: yamlfix
>             """
>         )
>     
>         result = runner.invoke(
>             cli,
>             [str(tmp_path)]
>             + [
>                 "--include",
>                 "*.yaml",
>                 "--exclude",
>                 "foo/*.yaml",
>                 "--exclude",
>                 "foo/**/*.yaml",
>             ],
>         )
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:124: AssertionError
> ____________________________ test_corrects_one_file 
> ____________________________
> [gw0] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f5f23e91d60>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw0/test_corrects_one_file0')
> 
>     def test_corrects_one_file(runner: CliRunner, tmp_path: Path) -> None:
>         """Correct the source code of a file."""
>         test_file = tmp_path / "source.yaml"
>         test_file.write_text("program: yamlfix")
>         fixed_source = dedent(
>             """\
>             ---
>             program: yamlfix
>             """
>         )
>     
>         result = runner.invoke(cli, [str(test_file)])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:48: AssertionError
> __________________________ test_corrects_three_files 
> ___________________________
> [gw0] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f5f23e93a70>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw0/test_corrects_three_files0')
> 
>     @pytest.mark.secondary()
>     def test_corrects_three_files(runner: CliRunner, tmp_path: Path) -> None:
>         """Correct the source code of multiple files."""
>         test_files = []
>         for file_number in range(3):
>             test_file = tmp_path / f"source_{file_number}.yaml"
>             test_file.write_text("program: yamlfix")
>             test_files.append(test_file)
>         fixed_source = dedent(
>             """\
>             ---
>             program: yamlfix
>             """
>         )
>     
>         result = runner.invoke(cli, [str(test_file) for test_file in 
> test_files])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:69: AssertionError
> _________________________ test_verbose_option[0-True] 
> __________________________
> [gw1] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f14cd00d910>, verbose = 0
> requires_fixing = True
> 
>     @pytest.mark.secondary()
>     @pytest.mark.parametrize(
>         ("verbose", "requires_fixing"), product([0, 1, 2], [True, False])
>     )
>     def test_verbose_option(runner: CliRunner, verbose: int, requires_fixing: 
> bool) -> None:
>         """Prints debug level logs only when called with --verbose"""
>         # Clear logging handlers for logs to work with CliRunner
>         # For more info see https://github.com/pallets/click/issues/1053)
>         logging.getLogger().handlers = []
>         source = "program: yamlfix" if requires_fixing else "---\nprogram: 
> yamlfix\n"
>         args = ["-"]
>         if verbose >= 1:
>             args.append("--verbose")
>         if verbose >= 2:
>             args.append("-v")
>     
>         result = runner.invoke(cli, args, input=source)
>     
>         debug_log_format = "[\033[37m+\033[0m]"
>         unchanged_log_format = "[\033[32m+\033[0m]"
>         info_log_format = "[\033[36m+\033[0m]"
>         # Check that changes are printed at info level
> >       assert (f"{info_log_format} Fixed <stdin>" in result.stderr) == 
> > requires_fixing
> E       AssertionError: assert ('[\x1b[36m+\x1b[0m] Fixed <stdin>' in 
> '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n') == True
> E        +  where '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n' = <Result 
> PydanticDeprecatedSince20('The `dict` method is deprecated; use `model_dump` 
> instead.')>.stderr
> 
> tests/e2e/test_cli.py:154: AssertionError
> _________________________ test_verbose_option[2-True] 
> __________________________
> [gw2] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7fb72d045400>, verbose = 2
> requires_fixing = True
> 
>     @pytest.mark.secondary()
>     @pytest.mark.parametrize(
>         ("verbose", "requires_fixing"), product([0, 1, 2], [True, False])
>     )
>     def test_verbose_option(runner: CliRunner, verbose: int, requires_fixing: 
> bool) -> None:
>         """Prints debug level logs only when called with --verbose"""
>         # Clear logging handlers for logs to work with CliRunner
>         # For more info see https://github.com/pallets/click/issues/1053)
>         logging.getLogger().handlers = []
>         source = "program: yamlfix" if requires_fixing else "---\nprogram: 
> yamlfix\n"
>         args = ["-"]
>         if verbose >= 1:
>             args.append("--verbose")
>         if verbose >= 2:
>             args.append("-v")
>     
>         result = runner.invoke(cli, args, input=source)
>     
>         debug_log_format = "[\033[37m+\033[0m]"
>         unchanged_log_format = "[\033[32m+\033[0m]"
>         info_log_format = "[\033[36m+\033[0m]"
>         # Check that changes are printed at info level
> >       assert (f"{info_log_format} Fixed <stdin>" in result.stderr) == 
> > requires_fixing
> E       AssertionError: assert ('[\x1b[36m+\x1b[0m] Fixed <stdin>' in 
> '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n') == True
> E        +  where '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n' = <Result 
> PydanticDeprecatedSince20('The `dict` method is deprecated; use `model_dump` 
> instead.')>.stderr
> 
> tests/e2e/test_cli.py:154: AssertionError
> ________________________ test_check_one_file_no_changes 
> ________________________
> [gw4] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f2445148a10>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw4/test_check_one_file_no_changes0')
> 
>     def test_check_one_file_no_changes(runner: CliRunner, tmp_path: Path) -> 
> None:
>         """The --check flag is working with pending changes."""
>         # ignore: call to untyped join method, they don't have type hints
>         test_file_source = dedent(
>             """\
>             ---
>             program: yamlfix
>             """
>         )
>         test_file = tmp_path / "source.yaml"
>         test_file.write_text(test_file_source)
>     
>         result = runner.invoke(cli, [str(test_file), "--check"])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:212: AssertionError
> _____________________ test_sequence_style_env_enum_parsing 
> _____________________
> [gw3] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7fb6c834c6e0>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw3/test_sequence_style_env_enum_p0')
> 
>     def test_sequence_style_env_enum_parsing(runner: CliRunner, tmp_path: 
> Path) -> None:
>         """Make sure that the enum-value can be parsed from string through an 
> env var."""
>         os.environ["YAMLFIX_SEQUENCE_STYLE"] = "block_style"
>         os.environ["YAMLFIX_QUOTE_BASIC_VALUES"] = "false"
>         test_source = dedent(
>             """\
>             list1: [item, item]
>             list2:
>               - item
>               - item
>             """
>         )
>         test_source_file = tmp_path / "source.yaml"
>         test_source_file.write_text(test_source)
>     
>         result = runner.invoke(cli, [str(test_source_file)])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:347: AssertionError
> ________________________ test_corrects_code_from_stdin 
> _________________________
> [gw0] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f5f23e47d10>
> 
>     def test_corrects_code_from_stdin(runner: CliRunner) -> None:
>         """Correct the source code passed as stdin."""
>         source = "program: yamlfix"
>         fixed_source = dedent(
>             """\
>             ---
>             program: yamlfix
>             """
>         )
>     
>         result = runner.invoke(cli, ["-"], input=source)
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:86: AssertionError
> _____________________________ test_config_parsing 
> ______________________________
> [gw4] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f244514bc80>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw4/test_config_parsing0')
> 
>     def test_config_parsing(runner: CliRunner, tmp_path: Path) -> None:
>         """Provided config options are parsed, merged, and applied 
> correctly."""
>         os.environ["YAMLFIX_CONFIG_PATH"] = str(tmp_path)
>         pyproject_config = dedent(
>             """\
>             [tool.yamlfix]
>             line_length = 90
>             quote_basic_values = "true"
>             """
>         )
>         pyproject_config_file = tmp_path / "pyproject.toml"
>         pyproject_config_file.write_text(pyproject_config)
>         toml_config = dedent(
>             """\
>             none_representation = "null"
>             quote_representation = '"'
>             """
>         )
>         toml_config_file = tmp_path / "yamlfix.toml"
>         toml_config_file.write_text(toml_config)
>     
>         # the ini config is currenlty parsed incorrectly and it is not 
> possible to provide
>         # a top level config option with it: 
> https://github.com/dbatten5/maison/issues/199
>         ini_config = dedent(
>             """\
>             [DEFAULT]
>             quote_representation = "'"
>     
>             [yamlfix]
>             none_representation = "~"
>             """
>         )
>         ini_config_file = tmp_path / "yamlfix.ini"
>         ini_config_file.write_text(ini_config)
>         test_source = dedent(
>             f"""\
>             ---
>             really_long_string: >
>               {("abcdefghij " * 10).strip()}
>             single_quoted_string: 'value1'
>             double_quoted_string: "value2"
>             unquoted_string: value3
>             none_value:
>             none_value2: ~
>             none_value3: null
>             none_value4: NULL
>             """
>         )
>         test_source_file = tmp_path / "source.yaml"
>         test_source_file.write_text(test_source)
>     
>         # we have to provide the pyproject.toml as a relative path to 
> YAMLFIX_CONFIG_PATH
>         # until this is fixed: https://github.com/dbatten5/maison/issues/141
>         pyproject_config_file_name = "pyproject.toml"
>     
>         result = runner.invoke(
>             cli,
>             [
>                 "--config-file",
>                 pyproject_config_file_name,
>                 "--config-file",
>                 str(toml_config_file),
>                 "-c",
>                 str(ini_config_file),
>                 str(test_source_file),
>             ],
>         )
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:284: AssertionError
> _________________________ test_verbose_option[2-False] 
> _________________________
> [gw2] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7fb72d047290>, verbose = 2
> requires_fixing = False
> 
>     @pytest.mark.secondary()
>     @pytest.mark.parametrize(
>         ("verbose", "requires_fixing"), product([0, 1, 2], [True, False])
>     )
>     def test_verbose_option(runner: CliRunner, verbose: int, requires_fixing: 
> bool) -> None:
>         """Prints debug level logs only when called with --verbose"""
>         # Clear logging handlers for logs to work with CliRunner
>         # For more info see https://github.com/pallets/click/issues/1053)
>         logging.getLogger().handlers = []
>         source = "program: yamlfix" if requires_fixing else "---\nprogram: 
> yamlfix\n"
>         args = ["-"]
>         if verbose >= 1:
>             args.append("--verbose")
>         if verbose >= 2:
>             args.append("-v")
>     
>         result = runner.invoke(cli, args, input=source)
>     
>         debug_log_format = "[\033[37m+\033[0m]"
>         unchanged_log_format = "[\033[32m+\033[0m]"
>         info_log_format = "[\033[36m+\033[0m]"
>         # Check that changes are printed at info level
>         assert (f"{info_log_format} Fixed <stdin>" in result.stderr) == 
> requires_fixing
>         if verbose == 0:
>             assert debug_log_format not in result.stderr
>             assert unchanged_log_format not in result.stderr
>         if verbose >= 1:
>             # If no changes are required, unchanged log should not be printed
> >           assert (unchanged_log_format in result.stderr) != requires_fixing
> E           AssertionError: assert ('[\x1b[32m+\x1b[0m]' in 
> '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n') != False
> E            +  where '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n' = <Result 
> PydanticDeprecatedSince20('The `dict` method is deprecated; use `model_dump` 
> instead.')>.stderr
> 
> tests/e2e/test_cli.py:160: AssertionError
> _______________________________ test_find_files 
> ________________________________
> [gw3] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7fb6c83222a0>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw3/test_find_files0')
> 
>     def test_find_files(runner: CliRunner, tmp_path: Path) -> None:
>         """Correct the source code of multiple files."""
>         test_files = []
>         (tmp_path / ".hidden").mkdir()
>         for filename in [
>             "test.yaml",
>             "test.yml",
>             ".test.yaml",
>             ".test.yml",
>             ".hidden/test.yaml",
>         ]:
>             file_path = tmp_path / filename
>             file_path.write_text("program: yamlfix")
>             test_files.append(file_path)
>         fixed_source = dedent(
>             """\
>             ---
>             program: yamlfix
>             """
>         )
>     
>         result = runner.invoke(cli, [str(tmp_path)])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:384: AssertionError
> _________________________ test_verbose_option[1-True] 
> __________________________
> [gw1] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f14cd00fe90>, verbose = 1
> requires_fixing = True
> 
>     @pytest.mark.secondary()
>     @pytest.mark.parametrize(
>         ("verbose", "requires_fixing"), product([0, 1, 2], [True, False])
>     )
>     def test_verbose_option(runner: CliRunner, verbose: int, requires_fixing: 
> bool) -> None:
>         """Prints debug level logs only when called with --verbose"""
>         # Clear logging handlers for logs to work with CliRunner
>         # For more info see https://github.com/pallets/click/issues/1053)
>         logging.getLogger().handlers = []
>         source = "program: yamlfix" if requires_fixing else "---\nprogram: 
> yamlfix\n"
>         args = ["-"]
>         if verbose >= 1:
>             args.append("--verbose")
>         if verbose >= 2:
>             args.append("-v")
>     
>         result = runner.invoke(cli, args, input=source)
>     
>         debug_log_format = "[\033[37m+\033[0m]"
>         unchanged_log_format = "[\033[32m+\033[0m]"
>         info_log_format = "[\033[36m+\033[0m]"
>         # Check that changes are printed at info level
> >       assert (f"{info_log_format} Fixed <stdin>" in result.stderr) == 
> > requires_fixing
> E       AssertionError: assert ('[\x1b[36m+\x1b[0m] Fixed <stdin>' in 
> '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n') == True
> E        +  where '[\x1b[36m+\x1b[0m] YamlFix: Fixing files\n' = <Result 
> PydanticDeprecatedSince20('The `dict` method is deprecated; use `model_dump` 
> instead.')>.stderr
> 
> tests/e2e/test_cli.py:154: AssertionError
> __________________________ test_ignores_correct_files 
> __________________________
> [gw2] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7fb72d079910>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw2/test_ignores_correct_files0')
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fb72d0799a0>
> 
>     def test_ignores_correct_files(
>         runner: CliRunner, tmp_path: Path, caplog: LogCaptureFixture
>     ) -> None:
>         """Correct the source code of an already correct file."""
>         # ignore: call to untyped join method, they don't have type hints
>         caplog.set_level(logging.DEBUG)
>         test_file = tmp_path / "source.yaml"
>         test_file.write_text("---\na: 1\n")
>     
>         result = runner.invoke(cli, [str(test_file)])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:176: AssertionError
> ------------------------------ Captured log call 
> -------------------------------
> [+] YamlFix: Fixing files
> ___________________ test_read_prefixed_environment_variables 
> ___________________
> [gw4] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> runner = <click.testing.CliRunner object at 0x7f24451de690>
> tmp_path = 
> PosixPath('/tmp/pytest-of-user42/pytest-1/popen-gw4/test_read_prefixed_environment0')
> 
>     def test_read_prefixed_environment_variables(runner: CliRunner, tmp_path: 
> Path) -> None:
>         """Make sure environment variables are parsed into the config 
> object"""
>         os.environ["YAMLFIX_TEST_NONE_REPRESENTATION"] = "~"
>         test_source = dedent(
>             """\
>             none_value:
>             none_value2: ~
>             none_value3: null
>             none_value4: NULL
>             """
>         )
>         test_source_file = tmp_path / "source.yaml"
>         test_source_file.write_text(test_source)
>     
>         result = runner.invoke(cli, ["--env-prefix", "YAMLFIX_TEST", 
> str(test_source_file)])
>     
> >       assert result.exit_code == 0
> E       AssertionError: assert 1 == 0
> E        +  where 1 = <Result PydanticDeprecatedSince20('The `dict` method is 
> deprecated; use `model_dump` instead.')>.exit_code
> 
> tests/e2e/test_cli.py:318: AssertionError
> _____ TestFixCode.test_fixed_code_has_exactly_one_newline_at_end_of_file[] 
> _____
> [gw1] linux -- Python 3.12.4 /usr/bin/python3.12
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_and_report.<locals>.<lambda> at 0x7f14ccf9b1a0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: type[BaseException] | tuple[type[BaseException], ...] | None 
> = None,
>     ) -> CallInfo[TResult]:
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :type func: Callable[[], _pytest.runner.TResult]
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: TResult | None = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:341: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:242: in <lambda>
>     lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:513: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
>         with catch_unraisable_exception() as cm:
>             try:
>                 yield
>             finally:
>                 if cm.unraisable:
>                     if cm.unraisable.err_msg is not None:
>                         err_msg = cm.unraisable.err_msg
>                     else:
>                         err_msg = "Exception ignored in"
>                     msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
>                     msg += "".join(
>                         traceback.format_exception(
>                             cm.unraisable.exc_type,
>                             cm.unraisable.exc_value,
>                             cm.unraisable.exc_traceback,
>                         )
>                     )
> >                   
> > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> E                   pytest.PytestUnraisableExceptionWarning: Exception 
> ignored in: <_io.FileIO [closed]>
> E                   
> E                   Traceback (most recent call last):
> E                     File "/usr/lib/python3/dist-packages/ruyaml/error.py", 
> line 65, in __init__
> E                       def __init__(self, name, index, line, column, buffer, 
> pointer):
> E                       
> E                   ResourceWarning: unclosed file <_io.TextIOWrapper 
> name='/tmp/pytest-of-user42/pytest-1/popen-gw1/test_include_exclude_files0/source_1.yaml'
>  mode='r+' encoding='UTF-8'>
> 
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: 
> PytestUnraisableExceptionWarning
> =========================== short test summary info 
> ============================
> FAILED tests/e2e/test_cli.py::test_verbose_option[1-False] - AssertionError: 
> ...
> FAILED tests/e2e/test_cli.py::test_include_exclude_files - AssertionError: 
> as...
> FAILED tests/e2e/test_cli.py::test_corrects_one_file - AssertionError: 
> assert...
> FAILED tests/e2e/test_cli.py::test_corrects_three_files - AssertionError: 
> ass...
> FAILED tests/e2e/test_cli.py::test_verbose_option[0-True] - AssertionError: 
> a...
> FAILED tests/e2e/test_cli.py::test_verbose_option[2-True] - AssertionError: 
> a...
> FAILED tests/e2e/test_cli.py::test_check_one_file_no_changes - 
> AssertionError...
> FAILED tests/e2e/test_cli.py::test_sequence_style_env_enum_parsing - 
> Assertio...
> FAILED tests/e2e/test_cli.py::test_corrects_code_from_stdin - 
> AssertionError:...
> FAILED tests/e2e/test_cli.py::test_config_parsing - AssertionError: assert 1 
> ...
> FAILED tests/e2e/test_cli.py::test_verbose_option[2-False] - AssertionError: 
> ...
> FAILED tests/e2e/test_cli.py::test_find_files - AssertionError: assert 1 == 0
> FAILED tests/e2e/test_cli.py::test_verbose_option[1-True] - AssertionError: 
> a...
> FAILED tests/e2e/test_cli.py::test_ignores_correct_files - AssertionError: 
> as...
> FAILED tests/e2e/test_cli.py::test_read_prefixed_environment_variables - 
> Asse...
> FAILED 
> tests/unit/test_services.py::TestFixCode::test_fixed_code_has_exactly_one_newline_at_end_of_file[]
> ======================== 16 failed, 123 passed in 1.52s 
> ========================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_yamlfix/build; python3.12 -m pytest 
> tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/07/28/python-yamlfix_1.16.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240728;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240728&fusertaguser=lu...@debian.org&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.

Reply via email to