Package: src:python-questionary
Version: 2.1.0-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build.

Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202509/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-questionary, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3,sphinxdoc --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with python3,sphinxdoc --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 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_questionary  
* Building wheel...

[... snipped ...]


questionary/prompts/common.py:591: AttributeError
______________________________ test_form_creation ______________________________

    def test_form_creation():
        text = "Y" + KeyInputs.ENTER + "\r"
    
        def run(inp):
            inp.send_text(text)
            f = example_form(inp)
            result = f.unsafe_ask()
            assert result == {"q1": True, "q2": "foo"}
    
>       execute_with_input_pipe(run)

tests/test_form.py:37: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils.py:90: in execute_with_input_pipe
    return func(inp)
           ^^^^^^^^^
tests/test_form.py:33: in run
    f = example_form(inp)
        ^^^^^^^^^^^^^^^^^
tests/test_form.py:13: in example_form
    q2=questionary.select(
questionary/prompts/select.py:205: in select
    layout = common.create_inquirer_layout(ic, get_prompt_tokens, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
questionary/prompts/common.py:611: in create_inquirer_layout
    _fix_unecessary_blank_lines(ps)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ps = <prompt_toolkit.shortcuts.prompt.PromptSession object at 0x7f3030ef9950>

    def _fix_unecessary_blank_lines(ps: PromptSession) -> None:
        """This is a fix for additional empty lines added by prompt toolkit.
    
        This assumes the layout of the default session doesn't change, if it
        does, this needs an update."""
    
        default_container = ps.layout.container
    
        default_buffer_window = (
>           
> default_container.get_children()[0].content.get_children()[1].content  # 
> type: ignore[attr-defined]
            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
E       AttributeError: 'VSplit' object has no attribute 'content'

questionary/prompts/common.py:591: AttributeError
__________________________ test_form_skips_questions ___________________________

    def test_form_skips_questions():
        text = "Y" + KeyInputs.ENTER + "\r"
    
        def run(inp):
            inp.send_text(text)
            f = example_form_with_skip(inp)
    
            result = f.ask()
    
            assert result == {"q1": True, "q2": 42}
    
>       execute_with_input_pipe(run)

tests/test_form.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils.py:90: in execute_with_input_pipe
    return func(inp)
           ^^^^^^^^^
tests/test_form.py:45: in run
    f = example_form_with_skip(inp)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_form.py:22: in example_form_with_skip
    q2=questionary.select(
questionary/prompts/select.py:205: in select
    layout = common.create_inquirer_layout(ic, get_prompt_tokens, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
questionary/prompts/common.py:611: in create_inquirer_layout
    _fix_unecessary_blank_lines(ps)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ps = <prompt_toolkit.shortcuts.prompt.PromptSession object at 0x7f303095b890>

    def _fix_unecessary_blank_lines(ps: PromptSession) -> None:
        """This is a fix for additional empty lines added by prompt toolkit.
    
        This assumes the layout of the default session doesn't change, if it
        does, this needs an update."""
    
        default_container = ps.layout.container
    
        default_buffer_window = (
>           
> default_container.get_children()[0].content.get_children()[1].content  # 
> type: ignore[attr-defined]
            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
E       AttributeError: 'VSplit' object has no attribute 'content'

questionary/prompts/common.py:591: AttributeError
_____________________ test_form_skips_questions_unsafe_ask _____________________

    def test_form_skips_questions_unsafe_ask():
        text = "Y" + KeyInputs.ENTER + "\r"
    
        def run(inp):
            inp.send_text(text)
            f = example_form_with_skip(inp)
    
            result = f.unsafe_ask()
    
            assert result == {"q1": True, "q2": 42}
    
>       execute_with_input_pipe(run)

tests/test_form.py:65: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils.py:90: in execute_with_input_pipe
    return func(inp)
           ^^^^^^^^^
tests/test_form.py:59: in run
    f = example_form_with_skip(inp)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_form.py:22: in example_form_with_skip
    q2=questionary.select(
questionary/prompts/select.py:205: in select
    layout = common.create_inquirer_layout(ic, get_prompt_tokens, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
questionary/prompts/common.py:611: in create_inquirer_layout
    _fix_unecessary_blank_lines(ps)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ps = <prompt_toolkit.shortcuts.prompt.PromptSession object at 0x7f3030afca50>

    def _fix_unecessary_blank_lines(ps: PromptSession) -> None:
        """This is a fix for additional empty lines added by prompt toolkit.
    
        This assumes the layout of the default session doesn't change, if it
        does, this needs an update."""
    
        default_container = ps.layout.container
    
        default_buffer_window = (
>           
> default_container.get_children()[0].content.get_children()[1].content  # 
> type: ignore[attr-defined]
            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
E       AttributeError: 'VSplit' object has no attribute 'content'

questionary/prompts/common.py:591: AttributeError
___________________ test_ask_should_catch_keyboard_exception ___________________

    def test_ask_should_catch_keyboard_exception():
        def run(inp):
            try:
                inp.send_text(KeyInputs.CONTROLC)
                f = example_form(inp)
    
                result = f.ask()
                assert result == {}
            except KeyboardInterrupt:
                fail("Keyboard Interrupt should be caught by `ask()`")
    
>       execute_with_input_pipe(run)

tests/test_form.py:79: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils.py:90: in execute_with_input_pipe
    return func(inp)
           ^^^^^^^^^
tests/test_form.py:72: in run
    f = example_form(inp)
        ^^^^^^^^^^^^^^^^^
tests/test_form.py:13: in example_form
    q2=questionary.select(
questionary/prompts/select.py:205: in select
    layout = common.create_inquirer_layout(ic, get_prompt_tokens, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
questionary/prompts/common.py:611: in create_inquirer_layout
    _fix_unecessary_blank_lines(ps)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ps = <prompt_toolkit.shortcuts.prompt.PromptSession object at 0x7f3030a5b750>

    def _fix_unecessary_blank_lines(ps: PromptSession) -> None:
        """This is a fix for additional empty lines added by prompt toolkit.
    
        This assumes the layout of the default session doesn't change, if it
        does, this needs an update."""
    
        default_container = ps.layout.container
    
        default_buffer_window = (
>           
> default_container.get_children()[0].content.get_children()[1].content  # 
> type: ignore[attr-defined]
            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
E       AttributeError: 'VSplit' object has no attribute 'content'

questionary/prompts/common.py:591: AttributeError
=========================== short test summary info ============================
FAILED tests/prompts/test_checkbox.py::test_submit_empty - AttributeError: 'V...
FAILED tests/prompts/test_checkbox.py::test_select_first_choice - AttributeEr...
FAILED tests/prompts/test_checkbox.py::test_select_with_instruction - Attribu...
FAILED tests/prompts/test_checkbox.py::test_select_first_choice_with_token_title
FAILED 
tests/prompts/test_checkbox.py::test_select_disabled_choices_if_they_are_default
FAILED tests/prompts/test_checkbox.py::test_select_and_deselct - AttributeErr...
FAILED tests/prompts/test_checkbox.py::test_select_first_and_third_choice - A...
FAILED 
tests/prompts/test_checkbox.py::test_select_first_and_third_choice_using_emacs_keys
FAILED tests/prompts/test_checkbox.py::test_cycle_to_first_choice - Attribute...
FAILED tests/prompts/test_checkbox.py::test_cycle_backwards - AttributeError:...
FAILED tests/prompts/test_checkbox.py::test_cycle_backwards_using_emacs_keys
FAILED tests/prompts/test_checkbox.py::test_separator_down - AttributeError: ...
FAILED tests/prompts/test_checkbox.py::test_separator_up - AttributeError: 'V...
FAILED tests/prompts/test_checkbox.py::test_select_all - AttributeError: 'VSp...
FAILED tests/prompts/test_checkbox.py::test_select_all_deselect - AttributeEr...
FAILED tests/prompts/test_checkbox.py::test_select_invert - AttributeError: '...
FAILED tests/prompts/test_checkbox.py::test_list_random_input - AttributeErro...
FAILED tests/prompts/test_checkbox.py::test_list_ctr_c - AttributeError: 'VSp...
FAILED tests/prompts/test_checkbox.py::test_checkbox_initial_choice - Attribu...
FAILED tests/prompts/test_checkbox.py::test_select_initial_choice_string - At...
FAILED tests/prompts/test_checkbox.py::test_select_initial_choice_duplicate
FAILED tests/prompts/test_checkbox.py::test_validate_default_message - Attrib...
FAILED tests/prompts/test_checkbox.py::test_validate_with_message - Attribute...
FAILED tests/prompts/test_checkbox.py::test_proper_type_returned - AttributeE...
FAILED tests/prompts/test_checkbox.py::test_select_filter_first_choice - Attr...
FAILED tests/prompts/test_checkbox.py::test_select_filter_multiple_after_search
FAILED tests/prompts/test_common.py::test_blank_line_fix - AttributeError: 'V...
FAILED tests/prompts/test_common.py::test_print_with_style - TypeError: Attrs...
FAILED tests/prompts/test_rawselect.py::test_legacy_name - AttributeError: 'V...
FAILED tests/prompts/test_rawselect.py::test_select_first_choice - AttributeE...
FAILED tests/prompts/test_rawselect.py::test_select_second_choice - Attribute...
FAILED tests/prompts/test_rawselect.py::test_select_third_choice - AttributeE...
FAILED tests/prompts/test_rawselect.py::test_separator_shortcuts - AttributeE...
FAILED tests/prompts/test_rawselect.py::test_select_random_input - AttributeE...
FAILED tests/prompts/test_rawselect.py::test_select_ctr_c - AttributeError: '...
FAILED tests/prompts/test_select.py::test_legacy_name - AttributeError: 'VSpl...
FAILED tests/prompts/test_select.py::test_select_first_choice - AttributeErro...
FAILED tests/prompts/test_select.py::test_select_first_choice_with_token_title
FAILED tests/prompts/test_select.py::test_select_second_choice - AttributeErr...
FAILED tests/prompts/test_select.py::test_select_third_choice - AttributeErro...
FAILED 
tests/prompts/test_select.py::test_select_third_choice_using_shortcuts_and_arrows
FAILED tests/prompts/test_select.py::test_select_second_choice_using_j_k - At...
FAILED tests/prompts/test_select.py::test_select_second_choice_using_emacs_keys
FAILED tests/prompts/test_select.py::test_select_with_instruction - Attribute...
FAILED tests/prompts/test_select.py::test_cycle_to_first_choice - AttributeEr...
FAILED tests/prompts/test_select.py::test_cycle_backwards - AttributeError: '...
FAILED tests/prompts/test_select.py::test_cycle_backwards_using_k - Attribute...
FAILED tests/prompts/test_select.py::test_separator_down - AttributeError: 'V...
FAILED tests/prompts/test_select.py::test_separator_up - AttributeError: 'VSp...
FAILED tests/prompts/test_select.py::test_select_random_input - AttributeErro...
FAILED tests/prompts/test_select.py::test_select_ctr_c - AttributeError: 'VSp...
FAILED tests/prompts/test_select.py::test_disallow_shortcut_key - AttributeEr...
FAILED tests/prompts/test_select.py::test_allow_shortcut_key_with_True - Attr...
FAILED tests/prompts/test_select.py::test_auto_shortcut_key_stable_in_loop - ...
FAILED tests/prompts/test_select.py::test_select_initial_choice_with_value - ...
FAILED tests/prompts/test_select.py::test_select_initial_choice - AttributeEr...
FAILED tests/prompts/test_select.py::test_select_initial_choice_string - Attr...
FAILED tests/prompts/test_select.py::test_select_initial_choice_duplicate - A...
FAILED tests/prompts/test_select.py::test_no_invalid_parameters_are_forwarded
FAILED tests/prompts/test_select.py::test_select_arrow_keys - AttributeError:...
FAILED tests/prompts/test_select.py::test_fail_for_unreachable_choice - Attri...
FAILED 
tests/prompts/test_select.py::test_jk_and_shortcut_conflict_avoided_by_disabling_ij_keys
FAILED tests/prompts/test_select.py::test_select_shortcuts - AttributeError: ...
FAILED tests/prompts/test_select.py::test_select_no_arrow_keys - AttributeErr...
FAILED tests/prompts/test_select.py::test_select_no_shortcuts - AttributeErro...
FAILED tests/prompts/test_select.py::test_select_default_has_arrow_keys - Att...
FAILED tests/prompts/test_select.py::test_filter_prefix_one_letter - Attribut...
FAILED tests/prompts/test_select.py::test_filter_prefix_multiple_letters - At...
FAILED tests/prompts/test_select.py::test_select_filter_handle_backspace - At...
FAILED 
tests/prompts/test_select.py::test_select_goes_back_to_top_after_filtering
FAILED tests/test_examples.py::test_select_example - AttributeError: 'VSplit'...
FAILED tests/test_examples.py::test_rawselect_example - AttributeError: 'VSpl...
FAILED tests/test_examples.py::test_checkbox_example - AttributeError: 'VSpli...
FAILED tests/test_examples.py::test_advanced_workflow_example - AttributeErro...
FAILED tests/test_form.py::test_form_creation - AttributeError: 'VSplit' obje...
FAILED tests/test_form.py::test_form_skips_questions - AttributeError: 'VSpli...
FAILED tests/test_form.py::test_form_skips_questions_unsafe_ask - AttributeEr...
FAILED tests/test_form.py::test_ask_should_catch_keyboard_exception - Attribu...
======================== 78 failed, 82 passed in 9.19s =========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_questionary/build; python3.13 -m pytest 
tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 
returned exit code 13
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to