Source: cookiecutter
Version: 1.7.3-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230323 ftbfs-bookworm

Hi,

During a rebuild of all packages in testing (bookworm), your package failed
to build on amd64.


Relevant part (hopefully):
>  debian/rules build
> dh build --with python3,sphinxdoc --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:240: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:240: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/hooks.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/extensions.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/__main__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/main.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/exceptions.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/prompt.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/config.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/log.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/repository.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/generate.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/replay.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/find.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/vcs.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/zipfile.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/cli.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/utils.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> copying cookiecutter/environment.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build/cookiecutter
> running egg_info
> creating cookiecutter.egg-info
> writing cookiecutter.egg-info/PKG-INFO
> writing dependency_links to cookiecutter.egg-info/dependency_links.txt
> writing entry points to cookiecutter.egg-info/entry_points.txt
> writing requirements to cookiecutter.egg-info/requires.txt
> writing top-level names to cookiecutter.egg-info/top_level.txt
> writing manifest file 'cookiecutter.egg-info/SOURCES.txt'
> reading manifest file 'cookiecutter.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'AUTHORS.rst'
> warning: no files found matching 'CONTRIBUTING.rst'
> warning: no files found matching 'HISTORY.rst'
> warning: no files found matching 'README.rst'
> warning: no previously-included files matching '__pycache__' found under 
> directory '*'
> warning: no previously-included files matching '*.py[co]' found under 
> directory '*'
> adding license file 'LICENSE'
> adding license file 'AUTHORS.md'
> writing manifest file 'cookiecutter.egg-info/SOURCES.txt'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build; python3.11 -m 
> pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack -- 
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
> plugins: mock-3.8.2, cov-4.0.0
> collecting ... collected 276 items
> 
> tests/test_abort_generate_on_hook_error.py::test_hooks_raises_errors[pre_gen_hook_raises_error]
>  PASSED [  0%]
> tests/test_abort_generate_on_hook_error.py::test_hooks_raises_errors[post_gen_hook_raises_error]
>  PASSED [  0%]
> tests/test_cli.py::test_cli_version[-V] PASSED                           [  
> 1%]
> tests/test_cli.py::test_cli_version[--version] PASSED                    [  
> 1%]
> tests/test_cli.py::test_cli_error_on_existing_output_directory PASSED    [  
> 1%]
> tests/test_cli.py::test_cli PASSED                                       [  
> 2%]
> tests/test_cli.py::test_cli_verbose PASSED                               [  
> 2%]
> tests/test_cli.py::test_cli_replay PASSED                                [  
> 2%]
> tests/test_cli.py::test_cli_exit_on_noinput_and_replay PASSED            [  
> 3%]
> tests/test_cli.py::test_run_cookiecutter_on_overwrite_if_exists_and_replay[-f]
>  PASSED [  3%]
> tests/test_cli.py::test_run_cookiecutter_on_overwrite_if_exists_and_replay[--overwrite-if-exists]
>  PASSED [  3%]
> tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_does_not_exist[-f]
>  PASSED [  4%]
> tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_does_not_exist[--overwrite-if-exists]
>  PASSED [  4%]
> tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_exists[-f] 
> PASSED [  5%]
> tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_exists[--overwrite-if-exists]
>  PASSED [  5%]
> tests/test_cli.py::test_cli_output_dir[-o] PASSED                        [  
> 5%]
> tests/test_cli.py::test_cli_output_dir[--output-dir] PASSED              [  
> 6%]
> tests/test_cli.py::test_cli_help[-h] PASSED                              [  
> 6%]
> tests/test_cli.py::test_cli_help[--help] PASSED                          [  
> 6%]
> tests/test_cli.py::test_cli_help[help] PASSED                            [  
> 7%]
> tests/test_cli.py::test_user_config PASSED                               [  
> 7%]
> tests/test_cli.py::test_default_user_config_overwrite PASSED             [  
> 7%]
> tests/test_cli.py::test_default_user_config PASSED                       [  
> 8%]
> tests/test_cli.py::test_echo_undefined_variable_error PASSED             [  
> 8%]
> tests/test_cli.py::test_echo_unknown_extension_error PASSED              [  
> 9%]
> tests/test_cli.py::test_cli_extra_context PASSED                         [  
> 9%]
> tests/test_cli.py::test_cli_extra_context_invalid_format PASSED          [  
> 9%]
> tests/test_cli.py::test_debug_file_non_verbose PASSED                    [ 
> 10%]
> tests/test_cli.py::test_debug_file_verbose PASSED                        [ 
> 10%]
> tests/test_cli.py::test_directory_repo PASSED                            [ 
> 10%]
> tests/test_cookiecutter_invocation.py::test_should_raise_error_without_template_arg
>  PASSED [ 11%]
> tests/test_cookiecutter_invocation.py::test_should_invoke_main PASSED    [ 
> 11%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_return_project_dir[tests/fake-repo-pre/]
>  PASSED [ 11%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_return_project_dir[tests/fake-repo-pre]
>  PASSED [ 12%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_extra_context
>  PASSED [ 12%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_templated_context
>  PASSED [ 13%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_return_rendered_file
>  PASSED [ 13%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_dict_values_in_context
>  PASSED [ 13%]
> tests/test_cookiecutter_local_no_input.py::test_cookiecutter_template_cleanup 
> PASSED [ 14%]
> tests/test_cookiecutter_local_with_input.py::test_cookiecutter_local_with_input
>  PASSED [ 14%]
> tests/test_cookiecutter_local_with_input.py::test_cookiecutter_input_extra_context
>  PASSED [ 14%]
> tests/test_custom_extensions_in_hooks.py::test_hook_with_extension[pre_gen_hook]
>  PASSED [ 15%]
> tests/test_custom_extensions_in_hooks.py::test_hook_with_extension[post_gen_hook]
>  PASSED [ 15%]
> tests/test_default_extensions.py::test_jinja2_time_extension PASSED      [ 
> 15%]
> tests/test_default_extensions.py::test_jinja2_slugify_extension PASSED   [ 
> 16%]
> tests/test_environment.py::test_env_should_raise_for_unknown_extension PASSED 
> [ 16%]
> tests/test_environment.py::test_env_should_come_with_default_extensions 
> PASSED [ 17%]
> tests/test_exceptions.py::test_undefined_variable_to_str PASSED          [ 
> 17%]
> tests/test_find.py::test_find_template[fake-repo-pre] PASSED             [ 
> 17%]
> tests/test_find.py::test_find_template[fake-repo-pre2] PASSED            [ 
> 18%]
> tests/test_generate_context.py::test_generate_context[input_params0-expected_context0]
>  PASSED [ 18%]
> tests/test_generate_context.py::test_generate_context[input_params1-expected_context1]
>  PASSED [ 18%]
> tests/test_generate_context.py::test_generate_context[input_params2-expected_context2]
>  PASSED [ 19%]
> tests/test_generate_context.py::test_generate_context[input_params3-expected_context3]
>  PASSED [ 19%]
> tests/test_generate_context.py::test_generate_context_with_json_decoding_error
>  PASSED [ 19%]
> tests/test_generate_context.py::test_default_context_replacement_in_generate_context
>  PASSED [ 20%]
> tests/test_generate_context.py::test_apply_overwrites_does_include_unused_variables
>  PASSED [ 20%]
> tests/test_generate_context.py::test_apply_overwrites_sets_non_list_value 
> PASSED [ 21%]
> tests/test_generate_context.py::test_apply_overwrites_does_not_modify_choices_for_invalid_overwrite
>  PASSED [ 21%]
> tests/test_generate_context.py::test_apply_overwrites_sets_default_for_choice_variable
>  PASSED [ 21%]
> tests/test_generate_copy_without_render.py::test_generate_copy_without_render_extensions
>  PASSED [ 22%]
> tests/test_generate_file.py::test_generate_file PASSED                   [ 
> 22%]
> tests/test_generate_file.py::test_generate_file_jsonify_filter PASSED    [ 
> 22%]
> tests/test_generate_file.py::test_generate_file_random_ascii_string[True-10] 
> PASSED [ 23%]
> tests/test_generate_file.py::test_generate_file_random_ascii_string[True-40] 
> PASSED [ 23%]
> tests/test_generate_file.py::test_generate_file_random_ascii_string[False-10] 
> PASSED [ 23%]
> tests/test_generate_file.py::test_generate_file_random_ascii_string[False-40] 
> PASSED [ 24%]
> tests/test_generate_file.py::test_generate_file_with_true_condition PASSED [ 
> 24%]
> tests/test_generate_file.py::test_generate_file_with_false_condition PASSED [ 
> 25%]
> tests/test_generate_file.py::test_generate_file_verbose_template_syntax_error 
> FAILED [ 25%]
> tests/test_generate_files.py::test_ensure_dir_is_templated_raises[] PASSED [ 
> 25%]
> tests/test_generate_files.py::test_ensure_dir_is_templated_raises[{foo}] 
> PASSED [ 26%]
> tests/test_generate_files.py::test_ensure_dir_is_templated_raises[{{foo] 
> PASSED [ 26%]
> tests/test_generate_files.py::test_ensure_dir_is_templated_raises[bar}}] 
> PASSED [ 26%]
> tests/test_generate_files.py::test_generate_files_nontemplated_exception 
> PASSED [ 27%]
> tests/test_generate_files.py::test_generate_files PASSED                 [ 
> 27%]
> tests/test_generate_files.py::test_generate_files_with_trailing_newline 
> PASSED [ 27%]
> tests/test_generate_files.py::test_generate_files_binaries PASSED        [ 
> 28%]
> tests/test_generate_files.py::test_generate_files_absolute_path PASSED   [ 
> 28%]
> tests/test_generate_files.py::test_generate_files_output_dir PASSED      [ 
> 28%]
> tests/test_generate_files.py::test_generate_files_permissions PASSED     [ 
> 29%]
> tests/test_generate_files.py::test_generate_files_with_overwrite_if_exists_with_skip_if_file_exists
>  PASSED [ 29%]
> tests/test_generate_files.py::test_generate_files_with_skip_if_file_exists 
> PASSED [ 30%]
> tests/test_generate_files.py::test_generate_files_with_overwrite_if_exists 
> PASSED [ 30%]
> tests/test_generate_files.py::test_raise_undefined_variable_file_name PASSED 
> [ 30%]
> tests/test_generate_files.py::test_raise_undefined_variable_file_name_existing_project
>  PASSED [ 31%]
> tests/test_generate_files.py::test_raise_undefined_variable_file_content 
> PASSED [ 31%]
> tests/test_generate_files.py::test_raise_undefined_variable_dir_name PASSED [ 
> 31%]
> tests/test_generate_files.py::test_raise_undefined_variable_dir_name_existing_project
>  PASSED [ 32%]
> tests/test_generate_files.py::test_raise_undefined_variable_project_dir 
> PASSED [ 32%]
> tests/test_generate_hooks.py::test_ignore_hooks_dirs PASSED              [ 
> 32%]
> tests/test_generate_hooks.py::test_run_python_hooks PASSED               [ 
> 33%]
> tests/test_generate_hooks.py::test_run_python_hooks_cwd PASSED           [ 
> 33%]
> tests/test_generate_hooks.py::test_empty_hooks PASSED                    [ 
> 34%]
> tests/test_generate_hooks.py::test_oserror_hooks PASSED                  [ 
> 34%]
> tests/test_generate_hooks.py::test_run_failing_hook_removes_output_directory 
> PASSED [ 34%]
> tests/test_generate_hooks.py::test_run_failing_hook_preserves_existing_output_directory
>  PASSED [ 35%]
> tests/test_generate_hooks.py::test_run_shell_hooks PASSED                [ 
> 35%]
> tests/test_generate_hooks.py::test_run_shell_hooks_win SKIPPED (Win only 
> test) [ 35%]
> tests/test_get_config.py::test_merge_configs PASSED                      [ 
> 36%]
> tests/test_get_config.py::test_get_config PASSED                         [ 
> 36%]
> tests/test_get_config.py::test_get_config_does_not_exist PASSED          [ 
> 36%]
> tests/test_get_config.py::test_invalid_config PASSED                     [ 
> 37%]
> tests/test_get_config.py::test_get_config_with_defaults PASSED           [ 
> 37%]
> tests/test_get_user_config.py::test_get_user_config_valid PASSED         [ 
> 38%]
> tests/test_get_user_config.py::test_get_user_config_invalid PASSED       [ 
> 38%]
> tests/test_get_user_config.py::test_get_user_config_nonexistent PASSED   [ 
> 38%]
> tests/test_get_user_config.py::test_specify_config_path PASSED           [ 
> 39%]
> tests/test_get_user_config.py::test_default_config_path PASSED           [ 
> 39%]
> tests/test_get_user_config.py::test_default_config_from_env_variable PASSED [ 
> 39%]
> tests/test_get_user_config.py::test_force_default_config PASSED          [ 
> 40%]
> tests/test_get_user_config.py::test_expand_user_for_directories_in_config 
> PASSED [ 40%]
> tests/test_get_user_config.py::test_expand_vars_for_directories_in_config 
> PASSED [ 40%]
> tests/test_hooks.py::TestFindHooks::test_find_hook PASSED                [ 
> 41%]
> tests/test_hooks.py::TestFindHooks::test_no_hooks PASSED                 [ 
> 41%]
> tests/test_hooks.py::TestFindHooks::test_unknown_hooks_dir PASSED        [ 
> 42%]
> tests/test_hooks.py::TestFindHooks::test_hook_not_found PASSED           [ 
> 42%]
> tests/test_hooks.py::TestExternalHooks::test_run_script PASSED           [ 
> 42%]
> tests/test_hooks.py::TestExternalHooks::test_run_script_cwd PASSED       [ 
> 43%]
> tests/test_hooks.py::TestExternalHooks::test_run_script_with_context PASSED [ 
> 43%]
> tests/test_hooks.py::TestExternalHooks::test_run_hook PASSED             [ 
> 43%]
> tests/test_hooks.py::TestExternalHooks::test_run_failing_hook PASSED     [ 
> 44%]
> tests/test_hooks.py::test_ignore_hook_backup_files PASSED                [ 
> 44%]
> tests/test_log.py::test_info_stdout_logging PASSED                       [ 
> 44%]
> tests/test_log.py::test_debug_stdout_logging PASSED                      [ 
> 45%]
> tests/test_log.py::test_debug_file_logging PASSED                        [ 
> 45%]
> tests/test_main.py::test_replay_dump_template_name PASSED                [ 
> 46%]
> tests/test_main.py::test_replay_load_template_name PASSED                [ 
> 46%]
> tests/test_output_folder.py::test_output_folder PASSED                   [ 
> 46%]
> tests/test_output_folder.py::test_exception_when_output_folder_exists PASSED 
> [ 47%]
> tests/test_preferred_encoding.py::test_not_ascii PASSED                  [ 
> 47%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str[1-1] PASSED [ 
> 47%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str[True-True] 
> PASSED [ 48%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str[foo-foo] PASSED 
> [ 48%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str[{{cookiecutter.project}}-foobar]
>  PASSED [ 48%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str[None-None] 
> PASSED [ 49%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str_complex_variables[raw_var0-rendered_var0]
>  PASSED [ 49%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str_complex_variables[raw_var1-rendered_var1]
>  PASSED [ 50%]
> tests/test_prompt.py::TestRenderVariable::test_convert_to_str_complex_variables[raw_var2-rendered_var2]
>  PASSED [ 50%]
> tests/test_prompt.py::TestPrompt::test_prompt_for_config[ASCII default 
> prompt/input] PASSED [ 50%]
> tests/test_prompt.py::TestPrompt::test_prompt_for_config[Unicode default 
> prompt/input] PASSED [ 51%]
> tests/test_prompt.py::TestPrompt::test_prompt_for_config_dict PASSED     [ 
> 51%]
> tests/test_prompt.py::TestPrompt::test_should_render_dict PASSED         [ 
> 51%]
> tests/test_prompt.py::TestPrompt::test_should_render_deep_dict PASSED    [ 
> 52%]
> tests/test_prompt.py::TestPrompt::test_prompt_for_templated_config PASSED [ 
> 52%]
> tests/test_prompt.py::TestPrompt::test_dont_prompt_for_private_context_var 
> PASSED [ 52%]
> tests/test_prompt.py::TestPrompt::test_should_not_render_private_variables 
> PASSED [ 53%]
> tests/test_prompt.py::TestReadUserChoice::test_should_invoke_read_user_choice 
> PASSED [ 53%]
> tests/test_prompt.py::TestReadUserChoice::test_should_invoke_read_user_variable
>  PASSED [ 53%]
> tests/test_prompt.py::TestReadUserChoice::test_should_render_choices PASSED [ 
> 54%]
> tests/test_prompt.py::TestPromptChoiceForConfig::test_should_return_first_option_if_no_input
>  PASSED [ 54%]
> tests/test_prompt.py::TestPromptChoiceForConfig::test_should_read_user_choice 
> PASSED [ 55%]
> tests/test_prompt.py::test_undefined_variable[Undefined variable in 
> cookiecutter dict] PASSED [ 55%]
> tests/test_prompt.py::test_undefined_variable[Undefined variable in 
> cookiecutter dict with choices] PASSED [ 55%]
> tests/test_prompt.py::test_undefined_variable[Undefined variable in 
> cookiecutter dict with dict_key] PASSED [ 56%]
> tests/test_prompt.py::test_undefined_variable[Undefined variable in 
> cookiecutter dict with key_value] PASSED [ 56%]
> tests/test_read_repo_password.py::test_click_invocation PASSED           [ 
> 56%]
> tests/test_read_user_choice.py::test_click_invocation[1-hello] PASSED    [ 
> 57%]
> tests/test_read_user_choice.py::test_click_invocation[2-world] PASSED    [ 
> 57%]
> tests/test_read_user_choice.py::test_click_invocation[3-foo] PASSED      [ 
> 57%]
> tests/test_read_user_choice.py::test_click_invocation[4-bar] PASSED      [ 
> 58%]
> tests/test_read_user_choice.py::test_raise_if_options_is_not_a_non_empty_list 
> PASSED [ 58%]
> tests/test_read_user_dict.py::test_process_json_invalid_json PASSED      [ 
> 59%]
> tests/test_read_user_dict.py::test_process_json_non_dict PASSED          [ 
> 59%]
> tests/test_read_user_dict.py::test_process_json_valid_json PASSED        [ 
> 59%]
> tests/test_read_user_dict.py::test_process_json_deep_dict PASSED         [ 
> 60%]
> tests/test_read_user_dict.py::test_should_raise_type_error PASSED        [ 
> 60%]
> tests/test_read_user_dict.py::test_should_call_prompt_with_process_json 
> PASSED [ 60%]
> tests/test_read_user_dict.py::test_read_user_dict_default_value PASSED   [ 
> 61%]
> tests/test_read_user_variable.py::test_click_invocation PASSED           [ 
> 61%]
> tests/test_read_user_yes_no.py::test_click_invocation PASSED             [ 
> 61%]
> tests/test_repo_not_found.py::test_should_raise_error_if_repo_does_not_exist 
> PASSED [ 62%]
> tests/test_specify_output_dir.py::test_api_invocation PASSED             [ 
> 62%]
> tests/test_specify_output_dir.py::test_default_output_dir PASSED         [ 
> 63%]
> tests/test_utils.py::test_rmtree PASSED                                  [ 
> 63%]
> tests/test_utils.py::test_make_sure_path_exists PASSED                   [ 
> 63%]
> tests/test_utils.py::test_workin PASSED                                  [ 
> 64%]
> tests/test_utils.py::test_prompt_should_ask_and_rm_repo_dir PASSED       [ 
> 64%]
> tests/test_utils.py::test_prompt_should_ask_and_exit_on_user_no_answer PASSED 
> [ 64%]
> tests/test_utils.py::test_prompt_should_ask_and_rm_repo_file PASSED      [ 
> 65%]
> tests/test_utils.py::test_prompt_should_ask_and_keep_repo_on_no_reuse PASSED 
> [ 65%]
> tests/test_utils.py::test_prompt_should_ask_and_keep_repo_on_reuse PASSED [ 
> 65%]
> tests/test_utils.py::test_prompt_should_not_ask_if_no_input_and_rm_repo_dir 
> PASSED [ 66%]
> tests/test_utils.py::test_prompt_should_not_ask_if_no_input_and_rm_repo_file 
> PASSED [ 66%]
> tests/replay/test_dump.py::test_type_error_if_no_template_name PASSED    [ 
> 67%]
> tests/replay/test_dump.py::test_type_error_if_not_dict_context PASSED    [ 
> 67%]
> tests/replay/test_dump.py::test_value_error_if_key_missing_in_context PASSED 
> [ 67%]
> tests/replay/test_dump.py::test_ioerror_if_replay_dir_creation_fails PASSED [ 
> 68%]
> tests/replay/test_dump.py::test_run_json_dump PASSED                     [ 
> 68%]
> tests/replay/test_load.py::test_type_error_if_no_template_name PASSED    [ 
> 68%]
> tests/replay/test_load.py::test_value_error_if_key_missing_in_context PASSED 
> [ 69%]
> tests/replay/test_load.py::test_io_error_if_no_replay_file PASSED        [ 
> 69%]
> tests/replay/test_load.py::test_run_json_load PASSED                     [ 
> 69%]
> tests/replay/test_replay.py::test_get_replay_file_name PASSED            [ 
> 70%]
> tests/replay/test_replay.py::test_raise_on_invalid_mode[invalid_kwargs0] 
> PASSED [ 70%]
> tests/replay/test_replay.py::test_raise_on_invalid_mode[invalid_kwargs1] 
> PASSED [ 71%]
> tests/replay/test_replay.py::test_raise_on_invalid_mode[invalid_kwargs2] 
> PASSED [ 71%]
> tests/replay/test_replay.py::test_main_does_not_invoke_dump_but_load PASSED [ 
> 71%]
> tests/replay/test_replay.py::test_main_does_not_invoke_load_but_dump PASSED [ 
> 72%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Simple
>  expansion] PASSED [ 72%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Skip
>  expansion (expansion not an abbreviation)] PASSED [ 72%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Expansion
>  prefix] PASSED [ 73%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[expansion_override_builtin]
>  PASSED [ 73%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[expansion_prefix_ignores_suffix]
>  PASSED [ 73%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Correct
>  expansion for builtin abbreviations (github)] PASSED [ 74%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Correct
>  expansion for builtin abbreviations (gitlab)] PASSED [ 74%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Correct
>  expansion for builtin abbreviations (bitbucket)] PASSED [ 75%]
> tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion_prefix_not_0_in_braces
>  PASSED [ 75%]
> tests/repository/test_determine_repo_dir_clones_repo.py::test_zipfile_unzip[/path/to/zipfile.zip-False]
>  PASSED [ 75%]
> tests/repository/test_determine_repo_dir_clones_repo.py::test_zipfile_unzip[https:/example.com/path/to/zipfile.zip-True]
>  PASSED [ 76%]
> tests/repository/test_determine_repo_dir_clones_repo.py::test_zipfile_unzip[http:/example.com/path/to/zipfile.zip-True]
>  PASSED [ 76%]
> tests/repository/test_determine_repo_dir_clones_repo.py::test_repository_url_should_clone
>  PASSED [ 76%]
> tests/repository/test_determine_repo_dir_clones_repo.py::test_repository_url_with_no_context_file
>  PASSED [ 77%]
> tests/repository/test_determine_repo_dir_finds_existing_cookiecutter.py::test_should_find_existing_cookiecutter
>  PASSED [ 77%]
> tests/repository/test_determine_repo_dir_finds_subdirectories.py::test_should_find_existing_cookiecutter
>  PASSED [ 77%]
> tests/repository/test_determine_repo_dir_finds_subdirectories.py::test_local_repo_typo
>  PASSED [ 78%]
> tests/repository/test_determine_repository_should_use_local_repo.py::test_finds_local_repo
>  PASSED [ 78%]
> tests/repository/test_determine_repository_should_use_local_repo.py::test_local_repo_with_no_context_raises
>  PASSED [ 78%]
> tests/repository/test_determine_repository_should_use_local_repo.py::test_local_repo_typo
>  PASSED [ 79%]
> tests/repository/test_is_repo_url.py::test_is_zip_file[/path/to/zipfile.zip] 
> PASSED [ 79%]
> tests/repository/test_is_repo_url.py::test_is_zip_file[https:/example.com/path/to/zipfile.zip]
>  PASSED [ 80%]
> tests/repository/test_is_repo_url.py::test_is_zip_file[http:/example.com/path/to/zipfile.zip]
>  PASSED [ 80%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[gitolite@server:team/repo]
>  PASSED [ 80%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[g...@github.com:audreyr/cookiecutter.git]
>  PASSED [ 81%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[https:/github.com/audreyr/cookiecutter.git]
>  PASSED [ 81%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[git+https:/private.com/gitrepo]
>  PASSED [ 81%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[hg+https:/private.com/mercurialrepo]
>  PASSED [ 82%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[https:/bitbucket.org/pokoli/cookiecutter.hg]
>  PASSED [ 82%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[file:/server/path/to/repo.git]
>  PASSED [ 82%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_local_urls[/audreyr/cookiecutter.git]
>  PASSED [ 83%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_local_urls[/home/audreyr/cookiecutter]
>  PASSED [ 83%]
> tests/repository/test_is_repo_url.py::test_is_repo_url_for_local_urls[c:\\users\\foo\\appdata\\local\\temp\\1\\pytest-0\\test_default_output_dir0\\template]
>  PASSED [ 84%]
> tests/repository/test_is_repo_url.py::test_expand_abbreviations PASSED   [ 
> 84%]
> tests/repository/test_repository_has_cookiecutter_json.py::test_valid_repository
>  PASSED [ 84%]
> tests/repository/test_repository_has_cookiecutter_json.py::test_invalid_repository[tests/fake-repo-bad]
>  PASSED [ 85%]
> tests/repository/test_repository_has_cookiecutter_json.py::test_invalid_repository[tests/unknown-repo]
>  PASSED [ 85%]
> tests/vcs/test_clone.py::test_clone_should_raise_if_vcs_not_installed PASSED 
> [ 85%]
> tests/vcs/test_clone.py::test_clone_should_rstrip_trailing_slash_in_repo_url 
> PASSED [ 86%]
> tests/vcs/test_clone.py::test_clone_should_abort_if_user_does_not_want_to_reclone
>  PASSED [ 86%]
> tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[git-https:/github.com/hello/world.git-world]
>  PASSED [ 86%]
> tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[hg-https:/bitbucket.org/foo/bar-bar]
>  PASSED [ 87%]
> tests/vcs/test_clone.py::test_clone_handles_repo_typo[fatal: repository 
> 'https:/github.com/hackebro/cookiedozer' not found] PASSED [ 87%]
> tests/vcs/test_clone.py::test_clone_handles_repo_typo[hg: abort: HTTP Error 
> 404: Not Found] PASSED [ 88%]
> tests/vcs/test_clone.py::test_clone_handles_branch_typo[error: pathspec 
> 'unknown_branch' did not match any file(s) known to git] PASSED [ 88%]
> tests/vcs/test_clone.py::test_clone_handles_branch_typo[hg: abort: unknown 
> revision 'unknown_branch'!] PASSED [ 88%]
> tests/vcs/test_clone.py::test_clone_unknown_subprocess_error PASSED      [ 
> 89%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[git+https:/github.com/pytest-dev/cookiecutter-pytest-plugin.git-git-https:/github.com/pytest-dev/cookiecutter-pytest-plugin.git]
>  PASSED [ 89%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[hg+https:/bitbucket.org/foo/bar.hg-hg-https:/bitbucket.org/foo/bar.hg]
>  PASSED [ 89%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[https:/github.com/pytest-dev/cookiecutter-pytest-plugin.git-git-https:/github.com/pytest-dev/cookiecutter-pytest-plugin.git]
>  PASSED [ 90%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[https:/bitbucket.org/foo/bar.hg-hg-https:/bitbucket.org/foo/bar.hg]
>  PASSED [ 90%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[https:/github.com/audreyr/cookiecutter-pypackage.git-git-https:/github.com/audreyr/cookiecutter-pypackage.git]
>  PASSED [ 90%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[https:/github.com/audreyr/cookiecutter-pypackage-git-https:/github.com/audreyr/cookiecutter-pypackage]
>  PASSED [ 91%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[g...@gitorious.org:cookiecutter-gitorious/cookiecutter-gitorious.git-git-...@gitorious.org:cookiecutter-gitorious/cookiecutter-gitorious.git]
>  PASSED [ 91%]
> tests/vcs/test_identify_repo.py::test_identify_known_repo[https:/audr...@bitbucket.org/audreyr/cookiecutter-bitbucket-hg-https:/audr...@bitbucket.org/audreyr/cookiecutter-bitbucket]
>  PASSED [ 92%]
> tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foo+git] 
> PASSED [ 92%]
> tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foo+hg] 
> PASSED [ 92%]
> tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foo+bar] 
> PASSED [ 93%]
> tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foobar] 
> PASSED [ 93%]
> tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[http:/norepotypespecified.com]
>  PASSED [ 93%]
> tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[-False] PASSED [ 
> 94%]
> tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[None-False] PASSED 
> [ 94%]
> tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[False-False] PASSED 
> [ 94%]
> tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[/usr/local/bin/git-True]
>  PASSED [ 95%]
> tests/zipfile/test_unzip.py::test_unzip_local_file PASSED                [ 
> 95%]
> tests/zipfile/test_unzip.py::test_unzip_protected_local_file_environment_password
>  PASSED [ 96%]
> tests/zipfile/test_unzip.py::test_unzip_protected_local_file_bad_environment_password
>  PASSED [ 96%]
> tests/zipfile/test_unzip.py::test_unzip_protected_local_file_user_password_with_noinput
>  PASSED [ 96%]
> tests/zipfile/test_unzip.py::test_unzip_protected_local_file_user_password 
> PASSED [ 97%]
> tests/zipfile/test_unzip.py::test_unzip_protected_local_file_user_bad_password
>  PASSED [ 97%]
> tests/zipfile/test_unzip.py::test_empty_zip_file PASSED                  [ 
> 97%]
> tests/zipfile/test_unzip.py::test_non_repo_zip_file PASSED               [ 
> 98%]
> tests/zipfile/test_unzip.py::test_bad_zip_file PASSED                    [ 
> 98%]
> tests/zipfile/test_unzip.py::test_unzip_url PASSED                       [ 
> 98%]
> tests/zipfile/test_unzip.py::test_unzip_url_existing_cache PASSED        [ 
> 99%]
> tests/zipfile/test_unzip.py::test_unzip_url_existing_cache_no_input PASSED [ 
> 99%]
> tests/zipfile/test_unzip.py::test_unzip_should_abort_if_no_redownload PASSED 
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________ test_generate_file_verbose_template_syntax_error 
> _______________
> 
> env = <cookiecutter.environment.StrictEnvironment object at 0x7f73987e5090>
> expected_msg = 'Missing end of comment tag\n  File 
> "./tests/files/syntax_error.txt", line 1\n    I eat {{ syntax_error }} {# 
> this comment is not closed}'
> 
>     def test_generate_file_verbose_template_syntax_error(env, expected_msg):
>         """Verify correct exception raised on syntax error in file before 
> generation."""
>         with pytest.raises(TemplateSyntaxError) as exception:
>             generate.generate_file(
>                 project_dir=".",
>                 infile='tests/files/syntax_error.txt',
>                 context={'syntax_error': 'syntax_error'},
>                 env=env,
>             )
> >       assert str(exception.value) == expected_msg
> E       assert 'Missing end of comment tag\n  File 
> "tests/files/syntax_error.txt", line 1\n    I eat {{ syntax_error }} {# this 
> comment is not closed}' == 'Missing end of comment tag\n  File 
> "./tests/files/syntax_error.txt", line 1\n    I eat {{ syntax_error }} {# 
> this comment is not closed}'
> E           Missing end of comment tag
> E         -   File "./tests/files/syntax_error.txt", line 1
> E         ?         --
> E         +   File "tests/files/syntax_error.txt", line 1
> E               I eat {{ syntax_error }} {# this comment is not closed}
> 
> tests/test_generate_file.py:124: AssertionError
> ------------------------------ Captured log call 
> -------------------------------
> DEBUG    cookiecutter.generate:generate.py:140 Processing file 
> tests/files/syntax_error.txt
> DEBUG    cookiecutter.generate:generate.py:155 Created file at 
> ./tests/files/syntax_error.txt
> DEBUG    cookiecutter.generate:generate.py:158 Check 
> tests/files/syntax_error.txt to see if it's a binary
> 
> ---------- coverage: platform linux, python 3.11.2-final-0 -----------
> Name                          Stmts   Miss  Cover   Missing
> -----------------------------------------------------------
> cookiecutter/__init__.py          2      0   100%
> cookiecutter/__main__.py          3      0   100%
> cookiecutter/cli.py              53      0   100%
> cookiecutter/config.py           57      0   100%
> cookiecutter/environment.py      21      0   100%
> cookiecutter/exceptions.py       24      0   100%
> cookiecutter/extensions.py       30      2    93%   11-12
> cookiecutter/find.py             18      0   100%
> cookiecutter/generate.py        169      0   100%
> cookiecutter/hooks.py            62      0   100%
> cookiecutter/log.py              22      0   100%
> cookiecutter/main.py             31      0   100%
> cookiecutter/prompt.py           89      0   100%
> cookiecutter/replay.py           30      0   100%
> cookiecutter/repository.py       41      0   100%
> cookiecutter/utils.py            50      2    96%   25-26
> cookiecutter/vcs.py              57      2    96%   12-13
> cookiecutter/zipfile.py          61      2    97%   14-15
> -----------------------------------------------------------
> TOTAL                           820      8    99%
> 
> =========================== short test summary info 
> ============================
> FAILED 
> tests/test_generate_file.py::test_generate_file_verbose_template_syntax_error
> =================== 1 failed, 274 passed, 1 skipped in 5.90s 
> ===================
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cookiecutter/build; python3.11 -m 
> pytest tests
> dh_auto_test: error: pybuild --test -i python{version} -p 3.11 returned exit 
> code 13


The full build log is available from:
http://qa-logs.debian.net/2023/03/23/cookiecutter_1.7.3-2_testing.log

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