Package: src:proton-vpn-cli
Version: 1.0.1-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

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

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

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

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 cannot 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:proton-vpn-cli, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 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:142: Building wheel for python3.14 with "build" 
module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_proton-vpn-cli  
* Building wheel...
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.

[... snipped ...]

tests/unit/commands/test_app_help.py::test_app_help_shows_documentation_url 
PASSED [  9%]
tests/unit/commands/test_app_help.py::test_app_help_shows_support_links PASSED 
[  9%]
tests/unit/commands/test_click_exception_handler.py::test_group_with_no_subcommand_shows_missing_action_message
 PASSED [ 10%]
tests/unit/commands/test_click_exception_handler.py::test_group_with_no_subcommand_shows_available_subcommands
 PASSED [ 10%]
tests/unit/commands/test_click_exception_handler.py::test_group_with_no_subcommand_shows_help_hint
 PASSED [ 10%]
tests/unit/commands/test_click_exception_handler.py::test_set_group_with_no_subcommand_lists_all_feature_commands
 PASSED [ 11%]
tests/unit/commands/test_click_exception_handler.py::test_unknown_subcommand_shows_unknown_action_message
 PASSED [ 11%]
tests/unit/commands/test_click_exception_handler.py::test_unknown_subcommand_shows_available_actions
 PASSED [ 12%]
tests/unit/commands/test_click_exception_handler.py::test_unknown_subcommand_shows_help_hint
 PASSED [ 12%]
tests/unit/commands/test_click_exception_handler.py::test_root_command_with_unknown_subcommand_shows_unknown_action_message
 PASSED [ 12%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[netshield]
 PASSED [ 13%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[kill-switch]
 PASSED [ 13%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[port-forwarding]
 PASSED [ 14%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[custom-dns]
 PASSED [ 14%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[vpn-accelerator]
 PASSED [ 14%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[moderate-nat]
 PASSED [ 15%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[ipv6]
 PASSED [ 15%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_setting_error[anonymous-crash-reports]
 PASSED [ 16%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[netshield]
 PASSED [ 16%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[kill-switch]
 PASSED [ 16%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[port-forwarding]
 PASSED [ 17%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[custom-dns]
 PASSED [ 17%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[vpn-accelerator]
 PASSED [ 17%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[moderate-nat]
 PASSED [ 18%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[ipv6]
 PASSED [ 18%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_value_help_pairs[anonymous-crash-reports]
 PASSED [ 19%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[netshield]
 PASSED [ 19%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[kill-switch]
 PASSED [ 19%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[port-forwarding]
 PASSED [ 20%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[custom-dns]
 PASSED [ 20%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[vpn-accelerator]
 PASSED [ 21%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[moderate-nat]
 PASSED [ 21%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[ipv6]
 PASSED [ 21%]
tests/unit/commands/test_click_exception_handler.py::test_missing_value_for_feature_setting_shows_help_hint[anonymous-crash-reports]
 PASSED [ 22%]
tests/unit/commands/test_click_exception_handler.py::test_missing_positional_argument_shows_argument_error
 PASSED [ 22%]
tests/unit/commands/test_click_exception_handler.py::test_missing_positional_argument_shows_usage
 PASSED [ 23%]
tests/unit/commands/test_click_exception_handler.py::test_missing_positional_argument_shows_help_hint
 PASSED [ 23%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[netshield]
 PASSED [ 23%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[kill-switch]
 PASSED [ 24%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[port-forwarding]
 PASSED [ 24%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[custom-dns]
 PASSED [ 25%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[vpn-accelerator]
 PASSED [ 25%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[moderate-nat]
 PASSED [ 25%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[ipv6]
 PASSED [ 26%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_invalid_value_error[anonymous-crash-reports]
 PASSED [ 26%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[netshield]
 PASSED [ 26%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[kill-switch]
 PASSED [ 27%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[port-forwarding]
 PASSED [ 27%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[custom-dns]
 PASSED [ 28%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[vpn-accelerator]
 PASSED [ 28%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[moderate-nat]
 PASSED [ 28%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[ipv6]
 PASSED [ 29%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_value_help_pairs[anonymous-crash-reports]
 PASSED [ 29%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[netshield]
 PASSED [ 30%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[kill-switch]
 PASSED [ 30%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[port-forwarding]
 PASSED [ 30%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[custom-dns]
 PASSED [ 31%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[vpn-accelerator]
 PASSED [ 31%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[moderate-nat]
 PASSED [ 32%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[ipv6]
 PASSED [ 32%]
tests/unit/commands/test_click_exception_handler.py::test_invalid_value_for_feature_setting_shows_help_hint[anonymous-crash-reports]
 PASSED [ 32%]
tests/unit/commands/test_click_exception_handler.py::test_click_exception_shows_error_message
 PASSED [ 33%]
tests/unit/commands/test_click_exception_handler.py::test_unrecognised_exception_returns_false
 PASSED [ 33%]
tests/unit/commands/test_click_exception_handler.py::test_usage_error_without_context_shows_error_message
 PASSED [ 33%]
tests/unit/commands/test_location_discovery.py::test_countries_listing_notifies_of_serverlist_update_when_expired[True]
 PASSED [ 34%]
tests/unit/commands/test_location_discovery.py::test_countries_listing_notifies_of_serverlist_update_when_expired[False]
 PASSED [ 34%]
tests/unit/commands/test_location_discovery.py::test_countries_listing_fails_when_not_signed_in
 PASSED [ 35%]
tests/unit/commands/test_location_discovery.py::test_countries_listing_shows_available_countries
 PASSED [ 35%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_notifies_of_serverlist_update_when_expired[True]
 PASSED [ 35%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_notifies_of_serverlist_update_when_expired[False]
 PASSED [ 36%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_listing_fails_when_not_signed_in
 PASSED [ 36%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_fails_when_provided_invalid_country_code
 PASSED [ 37%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_fails_when_provided_invalid_country_name
 PASSED [ 37%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_fails_when_country_not_found
 PASSED [ 37%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_shows_all_available_features_for_city
 PASSED [ 38%]
tests/unit/commands/test_location_discovery.py::test_cities_listing_shows_all_available_cities
 PASSED [ 38%]
tests/unit/commands/test_location_discovery_help.py::test_countries_help_shows_output_description
 PASSED [ 39%]
tests/unit/commands/test_location_discovery_help.py::test_countries_help_shows_examples_section
 PASSED [ 39%]
tests/unit/commands/test_location_discovery_help.py::test_countries_help_shows_connect_country_guidance
 PASSED [ 39%]
tests/unit/commands/test_location_discovery_help.py::test_countries_help_shows_cities_cross_reference
 PASSED [ 40%]
tests/unit/commands/test_location_discovery_help.py::test_countries_help_describes_subcommand
 PASSED [ 40%]
tests/unit/commands/test_location_discovery_help.py::test_cities_help_shows_country_format_guidance
 PASSED [ 41%]
tests/unit/commands/test_location_discovery_help.py::test_cities_help_shows_examples_section
 PASSED [ 41%]
tests/unit/commands/test_location_discovery_help.py::test_cities_help_shows_connect_city_guidance
 PASSED [ 41%]
tests/unit/commands/test_location_discovery_help.py::test_cities_help_shows_countries_cross_reference
 PASSED [ 42%]
tests/unit/commands/test_location_discovery_help.py::test_cities_help_describes_subcommand
 PASSED [ 42%]
tests/unit/commands/test_location_discovery_help.py::test_cities_list_help_explains_argument
 PASSED [ 42%]
tests/unit/commands/test_server.py::test_connect_notifies_of_serverlist_update_when_expired[True]
 PASSED [ 43%]
tests/unit/commands/test_server.py::test_connect_notifies_of_serverlist_update_when_expired[False]
 PASSED [ 43%]
tests/unit/commands/test_server.py::test_connect_fails_with_suggestion_to_relax_filter_constraints_when_no_server_found
 PASSED [ 44%]
tests/unit/commands/test_server.py::test_connect_fails_when_not_signed_in 
PASSED [ 44%]
tests/unit/commands/test_server.py::test_connect_fails_with_correct_message_when_server_not_found[invalid-server-id-None-None]
 PASSED [ 44%]
tests/unit/commands/test_server.py::test_connect_fails_with_correct_message_when_server_not_found[invalid-server-id-New
 York-US] PASSED [ 45%]
tests/unit/commands/test_server.py::test_connect_fails_with_correct_message_when_server_not_found[None-New
 York-None] PASSED [ 45%]
tests/unit/commands/test_server.py::test_connect_fails_with_correct_message_when_server_not_found[None-New
 York-US] PASSED [ 46%]
tests/unit/commands/test_server.py::test_connect_fails_with_correct_message_when_server_not_found[None-None-US]
 PASSED [ 46%]
tests/unit/commands/test_server.py::test_connect_fails_when_provided_invalid_country_code
 PASSED [ 46%]
tests/unit/commands/test_server.py::test_connect_fails_when_provided_invalid_country_name
 PASSED [ 47%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[invalid-server-id-None-None---p2p-P2P---random]
 PASSED [ 47%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[invalid-server-id-New
 York-US---p2p-P2P---random] PASSED [ 48%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-New
 York-None---p2p-P2P---random] PASSED [ 48%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-New
 York-US---p2p-P2P---random] PASSED [ 48%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-None-US---p2p-P2P---random]
 PASSED [ 49%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-None-None---securecore-Secure
 Core---random] PASSED [ 49%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-None-None--sc-Secure
 Core---random] PASSED [ 50%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-None-None---tor-Tor---random]
 PASSED [ 50%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-None-None---p2p-P2P---random]
 PASSED [ 50%]
tests/unit/commands/test_server.py::test_connect_fails_when_requested_features_require_higher_tier[None-None-None-None-None---random]
 PASSED [ 51%]
tests/unit/commands/test_server.py::test_connect_notifies_when_successfully_connected[1.1.1.1-True-True]
 PASSED [ 51%]
tests/unit/commands/test_server.py::test_connect_notifies_when_successfully_connected[None-True-True]
 PASSED [ 51%]
tests/unit/commands/test_server.py::test_connect_notifies_when_successfully_connected[None-False-True]
 PASSED [ 52%]
tests/unit/commands/test_server.py::test_connect_notifies_when_successfully_connected[2.2.2.2-False-False]
 PASSED [ 52%]
tests/unit/commands/test_server.py::test_connect_notifies_of_port_forwarding_server_capabilities_when_successfully_connected[True-True]
 PASSED [ 53%]
tests/unit/commands/test_server.py::test_connect_notifies_of_port_forwarding_server_capabilities_when_successfully_connected[True-False]
 PASSED [ 53%]
tests/unit/commands/test_server.py::test_connect_notifies_of_port_forwarding_server_capabilities_when_successfully_connected[False-True]
 PASSED [ 53%]
tests/unit/commands/test_server.py::test_connect_notifies_of_port_forwarding_server_capabilities_when_successfully_connected[False-False]
 PASSED [ 54%]
tests/unit/commands/test_server.py::test_connect_warns_when_using_unsupported_protocol[openvpn-udp-False]
 PASSED [ 54%]
tests/unit/commands/test_server.py::test_connect_warns_when_using_unsupported_protocol[openvpn-tcp-False]
 PASSED [ 55%]
tests/unit/commands/test_server.py::test_connect_warns_when_using_unsupported_protocol[wireguard-True]
 PASSED [ 55%]
tests/unit/commands/test_server.py::test_connect_fails_with_2fa_error_message_when_vpn_2fa_is_required
 PASSED [ 55%]
tests/unit/commands/test_server.py::test_connect_fails_with_error_when_server_connection_fails
 PASSED [ 56%]
tests/unit/commands/test_server.py::test_status_shows_disconnected_when_no_connection
 PASSED [ 56%]
tests/unit/commands/test_server.py::test_status_shows_connected_with_server_details[True-True]
 PASSED [ 57%]
tests/unit/commands/test_server.py::test_status_shows_connected_with_server_details[False-True]
 PASSED [ 57%]
tests/unit/commands/test_server.py::test_status_shows_connected_with_server_details[False-False]
 PASSED [ 57%]
tests/unit/commands/test_server.py::test_status_notifies_of_serverlist_update_when_expired[True]
 PASSED [ 58%]
tests/unit/commands/test_server.py::test_status_notifies_of_serverlist_update_when_expired[False]
 PASSED [ 58%]
tests/unit/commands/test_server.py::test_servers_command_prints_redirection_successfully
 PASSED [ 58%]
tests/unit/commands/test_server_help.py::test_connect_help_explains_server_name_argument
 PASSED [ 59%]
tests/unit/commands/test_server_help.py::test_connect_help_shows_examples_section
 PASSED [ 59%]
tests/unit/commands/test_server_help.py::test_connect_help_shows_quick_connection_example
 PASSED [ 60%]
tests/unit/commands/test_server_help.py::test_connect_help_shows_location_selection_examples
 PASSED [ 60%]
tests/unit/commands/test_server_help.py::test_connect_help_shows_feature_flag_examples
 PASSED [ 60%]
tests/unit/commands/test_server_help.py::test_connect_help_shows_extra_secure_connection_examples
 PASSED [ 61%]
tests/unit/commands/test_server_help.py::test_connect_help_describes_country_option
 PASSED [ 61%]
tests/unit/commands/test_server_help.py::test_connect_help_describes_city_option
 PASSED [ 62%]
tests/unit/commands/test_server_help.py::test_connect_help_describes_p2p_option 
PASSED [ 62%]
tests/unit/commands/test_server_help.py::test_connect_help_describes_securecore_option
 PASSED [ 62%]
tests/unit/commands/test_server_help.py::test_connect_help_describes_tor_option 
PASSED [ 63%]
tests/unit/commands/test_server_help.py::test_connect_help_describes_random_option
 PASSED [ 63%]
tests/unit/commands/test_server_help.py::test_disconnect_help_shows_examples_section
 PASSED [ 64%]
tests/unit/commands/test_server_help.py::test_disconnect_help_shows_check_status_hint
 PASSED [ 64%]
tests/unit/commands/test_settings.py::test_setting_all_features_fails_when_not_signed_in
 PASSED [ 64%]
tests/unit/commands/test_settings.py::test_setting_all_paying_features_fails_when_requiring_higher_tier
 PASSED [ 65%]
tests/unit/commands/test_settings.py::test_setting_all_features_shows_message_confirming_success
 PASSED [ 65%]
tests/unit/commands/test_settings.py::test_setting_all_features_explains_reconnection_required_for_relevant_features_when_connected
 PASSED [ 66%]
tests/unit/commands/test_settings.py::test_setting_custom_dns_fails_when_not_provided_with_dns_option
 PASSED [ 66%]
tests/unit/commands/test_settings.py::test_setting_custom_dns_fails_when_not_provided_with_valid_ips
 PASSED [ 66%]
tests/unit/commands/test_settings.py::test_enabling_port_forwarding_informs_of_required_manual_setup
 PASSED [ 67%]
tests/unit/commands/test_settings.py::test_modifying_killswitch_only_succeeds_when_disconnected[True-0]
 PASSED [ 67%]
tests/unit/commands/test_settings.py::test_modifying_killswitch_only_succeeds_when_disconnected[True-1]
 PASSED [ 67%]
tests/unit/commands/test_settings.py::test_modifying_killswitch_only_succeeds_when_disconnected[False-0]
 PASSED [ 68%]
tests/unit/commands/test_settings.py::test_modifying_killswitch_only_succeeds_when_disconnected[False-1]
 PASSED [ 68%]
tests/unit/commands/test_settings.py::test_listing_all_settings_fails_when_not_signed_in
 PASSED [ 69%]
tests/unit/commands/test_settings.py::test_listing_all_settings_shows_free_user_which_settings_require_higher_tier
 PASSED [ 69%]
tests/unit/commands/test_settings.py::test_listing_all_settings_shows_correct_setting_per_feature
 PASSED [ 69%]
tests/unit/commands/test_settings.py::test_listing_all_settings_shows_correct_guidance_for_user_tier[True]
 PASSED [ 70%]
tests/unit/commands/test_settings.py::test_listing_all_settings_shows_correct_guidance_for_user_tier[False]
 PASSED [ 70%]
tests/unit/commands/test_settings_help.py::test_config_help_shows_available_settings_section
 PASSED [ 71%]
tests/unit/commands/test_settings_help.py::test_config_help_lists_all_feature_commands
 PASSED [ 71%]
tests/unit/commands/test_settings_help.py::test_config_help_lists_all_feature_descriptions
 PASSED [ 71%]
tests/unit/commands/test_settings_help.py::test_config_help_shows_examples_section
 PASSED [ 72%]
tests/unit/commands/test_settings_help.py::test_config_help_shows_setting_specific_help_guidance
 PASSED [ 72%]
tests/unit/commands/test_settings_help.py::test_config_list_help_shows_description
 PASSED [ 73%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature0]
 PASSED [ 73%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature1]
 PASSED [ 73%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature2]
 PASSED [ 74%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature3]
 PASSED [ 74%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature4]
 PASSED [ 75%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature5]
 PASSED [ 75%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature6]
 PASSED [ 75%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_help_description[feature7]
 PASSED [ 76%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature0]
 PASSED [ 76%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature1]
 PASSED [ 76%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature2]
 PASSED [ 77%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature3]
 PASSED [ 77%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature4]
 PASSED [ 78%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature5]
 PASSED [ 78%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature6]
 PASSED [ 78%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_all_valid_values[feature7]
 PASSED [ 79%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature0]
 PASSED [ 79%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature1]
 PASSED [ 80%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature2]
 PASSED [ 80%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature3]
 PASSED [ 80%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature4]
 PASSED [ 81%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature5]
 PASSED [ 81%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature6]
 PASSED [ 82%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_value_descriptions[feature7]
 PASSED [ 82%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature0]
 PASSED [ 82%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature1]
 PASSED [ 83%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature2]
 PASSED [ 83%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature3]
 PASSED [ 83%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature4]
 PASSED [ 84%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature5]
 PASSED [ 84%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature6]
 PASSED [ 85%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_examples_section[feature7]
 PASSED [ 85%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature0]
 PASSED [ 85%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature1]
 PASSED [ 86%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature2]
 PASSED [ 86%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature3]
 PASSED [ 87%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature4]
 PASSED [ 87%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature5]
 PASSED [ 87%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_current_setting_guidance[feature6]
 PASSED [ 88%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_how_it_works_section[feature0]
 PASSED [ 88%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_how_it_works_section[feature1]
 PASSED [ 89%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_how_it_works_section[feature2]
 PASSED [ 89%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_how_it_works_section[feature3]
 PASSED [ 89%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_how_it_works_section[feature4]
 PASSED [ 90%]
tests/unit/commands/test_settings_help.py::test_config_set_feature_help_shows_how_it_works_section[feature5]
 PASSED [ 90%]
tests/unit/commands/test_settings_help.py::test_config_set_vpn_accelerator_help_shows_recommendation
 PASSED [ 91%]
tests/unit/commands/test_settings_help.py::test_config_set_anon_crash_reports_help_shows_privacy_section
 PASSED [ 91%]
tests/unit/commands/test_settings_help.py::test_config_set_port_forwarding_help_shows_setup_guide
 PASSED [ 91%]
tests/unit/commands/test_settings_help.py::test_config_set_kill_switch_help_shows_behavior_section
 PASSED [ 92%]
tests/unit/test_controller.py::test_connect_fails_if_not_logged_in PASSED [ 92%]
tests/unit/test_controller.py::test_find_logical_server_fails_if_not_logged_in 
PASSED [ 92%]
tests/unit/test_controller.py::test_find_logical_server_fails_when_specifying_server_name_as_free_user
 PASSED [ 93%]
tests/unit/test_controller.py::test_find_logical_server_fails_when_specifying_country_as_free_user
 PASSED [ 93%]
tests/unit/test_controller.py::test_find_logical_server_fails_when_specifying_city_as_free_user
 PASSED [ 94%]
tests/unit/test_controller.py::test_find_logical_server_fails_when_requesting_features_as_free_user
 PASSED [ 94%]
tests/unit/test_controller.py::test_find_logical_server_fails_when_requesting_random_server_as_free_user
 PASSED [ 94%]
tests/unit/test_controller.py::test_connect_disconnects_when_connection_fails 
PASSED [ 95%]
tests/unit/test_controller.py::test_get_all_countries_raises_authentication_required_exception_when_user_is_not_logged_in
 PASSED [ 95%]
tests/unit/test_controller.py::test_save_feature_setting_raises_exception_when_not_signed_in
 PASSED [ 96%]
tests/unit/test_controller.py::test_save_feature_setting_raises_exception_when_feature_requires_higher_tier
 PASSED [ 96%]
tests/unit/test_controller.py::test_get_feature_setting_raises_exception_when_not_signed_in
 PASSED [ 96%]
tests/unit/test_controller.py::test_save_settings_waits_for_confirmation_when_requesting_paying_connection_features
 PASSED [ 97%]
tests/unit/test_controller.py::test_save_settings_does_not_wait_for_confirmation_when_requesting_free_connection_features
 FAILED [ 97%]
tests/unit/test_exception_handler.py::test_enable_exception_handler_adds_excepthooks
 PASSED [ 98%]
tests/unit/test_exception_handler.py::test_disable_exception_handler_removes_excepthooks
 PASSED [ 98%]
tests/unit/test_exception_handler.py::test_exception_handling_reports_exceptions_when_relevant[KeyboardInterrupt-False]
 PASSED [ 98%]
tests/unit/test_exception_handler.py::test_exception_handling_reports_exceptions_when_relevant[AssertionError-False]
 PASSED [ 99%]
tests/unit/test_exception_handler.py::test_exception_handling_reports_exceptions_when_relevant[Exception-True]
 PASSED [ 99%]
tests/unit/test_exception_handler.py::test_exception_handling_absorbs_silenced_exceptions
 PASSED [100%]

=================================== FAILURES ===================================
_ 
test_save_settings_does_not_wait_for_confirmation_when_requesting_free_connection_features
 _

    @pytest.mark.asyncio
    async def 
test_save_settings_does_not_wait_for_confirmation_when_requesting_free_connection_features():
        api_mock = AsyncMock(spec=ProtonVPNAPI)
        params_mock = Mock(spec=Params)
        click_ctx_mock = Mock(spec=ClickContext)
        vpn_connector_mock = Mock(spec=VPNConnector)
        settings = Settings.default(user_tier=0)
    
        # mock free user
        api_mock.user_tier = 0
    
        # mock active connection
        vpn_connector_mock.is_connected = True
        api_mock.get_vpn_connector.return_value = vpn_connector_mock
    
        controller = Controller(params_mock, click_ctx_mock, api_mock)
>       await controller.save_settings(settings)

tests/unit/test_controller.py:261: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <proton.vpn.cli.core.controller.Controller object at 0x7f2ec0653af0>
settings = Settings(protocol='wireguard', killswitch=0, 
custom_dns=CustomDNS(enabled=False, ip_list=[]), ipv6=True, 
anonymous_cra...TunnelingMode.INCLUDE: 'include'>, app_paths=[], 
ip_ranges=[])})), packet_capture=PacketCapture(directory_path='/tmp'))

    async def save_settings(self, settings: Settings):
        """Saves general settings."""
        connector = await self.get_vpn_connector()
        is_connected = connector.is_connected
        free_user_requesting_free_features =\
>           self.user_on_free_tier and 
> settings.features.are_free_tier_defaults()
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'Features' object has no attribute 
'are_free_tier_defaults'

proton/vpn/cli/core/controller.py:287: AttributeError
=========================== short test summary info ============================
FAILED 
tests/unit/test_controller.py::test_save_settings_does_not_wait_for_confirmation_when_requesting_free_connection_features
======================== 1 failed, 255 passed in 0.84s =========================
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_proton-vpn-cli/build; python3.13 -m 
pytest -v --no-cov
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

Reply via email to