>>> ufw: Building community/ufw 0.36.2-r3 (using abuild 3.15.0-r0) started Tue, 14 Oct 2025 02:40:59 +0000 >>> ufw: Validating /home/udu/aports/community/ufw/APKBUILD... >>> ufw: Analyzing dependencies... >>> ufw: Installing for build: build-base iptables python3 py3-setuptools bash WARNING: opening /home/udu/packages//community: No such file or directory WARNING: opening /home/udu/packages//main: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz (1/11) Installing libmnl (1.0.5-r2) (2/11) Installing libnftnl (1.2.9-r0) (3/11) Installing libxtables (1.8.11-r1) (4/11) Installing iptables (1.8.11-r1) (5/11) Installing py3-parsing (3.2.3-r0) (6/11) Installing py3-parsing-pyc (3.2.3-r0) (7/11) Installing py3-packaging (25.0-r0) (8/11) Installing py3-packaging-pyc (25.0-r0) (9/11) Installing py3-setuptools (80.9.0-r0) (10/11) Installing py3-setuptools-pyc (80.9.0-r0) (11/11) Installing .makedepends-ufw (20251014.024059) Executing busybox-1.37.0-r19.trigger OK: 308 MiB in 100 packages >>> ufw: Cleaning up srcdir >>> ufw: Cleaning up pkgdir >>> ufw: Cleaning up tmpdir >>> ufw: Fetching https://launchpad.net/ufw/0.36/0.36.2/+download/ufw-0.36.2.tar.gz >>> ufw: Fetching https://launchpad.net/ufw/0.36/0.36.2/+download/ufw-0.36.2.tar.gz >>> ufw: Checking sha512sums... ufw-0.36.2.tar.gz: OK ufw.initd: OK 0001-syntaxwarning.patch: OK 0002-assertEqual.patch: OK disable-iptables-test.patch: OK fix-lib_path.patch: OK iptables-version.patch: OK >>> ufw: Unpacking /var/cache/distfiles/ufw-0.36.2.tar.gz... >>> ufw: 0001-syntaxwarning.patch patching file src/common.py patching file src/parser.py patching file src/util.py >>> ufw: 0002-assertEqual.patch patching file tests/unit/test_applications.py patching file tests/unit/test_backend.py patching file tests/unit/test_backend_iptables.py patching file tests/unit/test_common.py patching file tests/unit/test_parser.py patching file tests/unit/test_util.py >>> ufw: disable-iptables-test.patch patching file tests/unit/test_backend_iptables.py >>> ufw: fix-lib_path.patch patching file setup.py Hunk #1 succeeded at 54 (offset -1 lines). >>> ufw: iptables-version.patch patching file setup.py Interpreter: python3 = Unit Tests = DEBUG: sys.path=['/home/udu/aports/community/ufw/src/ufw-0.36.2', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '/usr/lib/python3.12/site-packages'] DEBUG: test=['test_applications', 'test_backend', 'test_backend_iptables', 'test_common', 'test_frontend', 'test_parser', 'test_skeleton', 'test_util'] test_applications test_get_description (tests.unit.test_applications.ApplicationsTestCase.test_get_description) Test get_description() ... ok test_get_ports (tests.unit.test_applications.ApplicationsTestCase.test_get_ports) Test get_ports() ... ok test_get_profiles (tests.unit.test_applications.ApplicationsTestCase.test_get_profiles) Test get_profiles() ... ok test_get_title (tests.unit.test_applications.ApplicationsTestCase.test_get_title) Test get_title() ... ok test_valid_profile_name (tests.unit.test_applications.ApplicationsTestCase.test_valid_profile_name) Test valid_profile_name() ... ok test_verify_profile (tests.unit.test_applications.ApplicationsTestCase.test_verify_profile) Test verify_profile() ... ok test_verify_profile_bad (tests.unit.test_applications.ApplicationsTestCase.test_verify_profile_bad) Test verify_profile() - bad ... {'description': 'missing title', 'ports': '53'} {'title': 'missing description', 'ports': '22/tcp'} {'title': 'missing ports', 'description': 'desc'} {'title': '', 'description': 'empty title', 'ports': '80'} {'title': 'empty description', 'description': '', 'ports': '80'} {'title': 'empty ports', 'description': 'desc', 'ports': ''} {'title': 'bad missing proto - list', 'description': 'desc', 'ports': '80,443'} {'title': 'bad missing proto - range', 'description': 'desc', 'ports': '80:443'} {'title': 'bad range too big', 'description': 'desc', 'ports': '80:70000/tcp'} {'title': 'bad protocol - ah', 'description': 'desc', 'ports': '80/ah'} {'title': 'bad protocol - esp', 'description': 'desc', 'ports': '80/esp'} {'title': 'bad protocol - gre', 'description': 'desc', 'ports': '80/gre'} {'title': 'bad protocol - igmp', 'description': 'desc', 'ports': '80/igmp'} {'title': 'bad protocol - ipv6', 'description': 'desc', 'ports': '80/ipv6'} {'title': 'bad protocol - vrrp', 'description': 'desc', 'ports': '80/vrrp'} ok ---------------------------------------------------------------------- Ran 7 tests in 0.022s OK test_backend test_installation_defaults (tests.unit.test_backend.BackendTestCase.test_installation_defaults) Test installation defaults ... WARN: Checks disabled ok ---------------------------------------------------------------------- Ran 1 test in 0.005s OK test_backend_iptables test__get_defaults (tests.unit.test_backend_iptables.BackendIptablesTestCase.test__get_defaults) Test _get_defaults() ... skipped 'FileNotFoundError in copytree' test__need_reload (tests.unit.test_backend_iptables.BackendIptablesTestCase.test__need_reload) Test _need_reload() ... skipped 'FileNotFoundError in copytree' test__reload_user_rules (tests.unit.test_backend_iptables.BackendIptablesTestCase.test__reload_user_rules) Test _reload_user_rules() ... skipped 'FileNotFoundError in copytree' test_find_application_name (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_find_application_name) Test find_application_name() ... skipped 'FileNotFoundError in copytree' test_find_other_position (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_find_other_position) Test find_other_position() ... skipped 'FileNotFoundError in copytree' test_get_app_rules_from_template (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_app_rules_from_template) Test get_app_rules_from_template() ... skipped 'FileNotFoundError in copytree' test_get_default_application_policy (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_default_application_policy) Test get_default_application_policy() ... skipped 'FileNotFoundError in copytree' test_get_loglevel (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_loglevel) Test get_loglevel() ... skipped 'FileNotFoundError in copytree' test_get_matching (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_matching) Test get_matching() ... skipped 'FileNotFoundError in copytree' test_get_rule_by_number (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_rule_by_number) Test get_rule_by_number() ... skipped 'FileNotFoundError in copytree' test_get_rules_count (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_rules_count) Test get_rules_count() ... skipped 'FileNotFoundError in copytree' test_get_running_raw (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_running_raw) Test get_running_raw() ... skipped 'FileNotFoundError in copytree' test_get_status (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_get_status) Test get_status() ... skipped 'FileNotFoundError in copytree' test_lp1838764 (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_lp1838764) Test get_status() - LP: #1838764 ... skipped 'FileNotFoundError in copytree' test_reset (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_reset) Test reset() ... skipped 'FileNotFoundError in copytree' test_set_bad_default (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_bad_default) Test bad set_default_policy() ... skipped 'FileNotFoundError in copytree' test_set_bad_default_application_policy (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_bad_default_application_policy) Test bad set_default_application_policy() ... skipped 'FileNotFoundError in copytree' test_set_default (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_default) Test set_default() ... skipped 'FileNotFoundError in copytree' test_set_default_application_policy (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_default_application_policy) Test set_default_application_policy() ... skipped 'FileNotFoundError in copytree' test_set_default_policy (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_default_policy) Test set_default_policy() ... skipped 'FileNotFoundError in copytree' test_set_loglevel (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_loglevel) Test set_loglevel() ... skipped 'FileNotFoundError in copytree' test_set_rule (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_set_rule) Test set_rule() ... skipped 'FileNotFoundError in copytree' test_start_firewall (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_start_firewall) Test start_firewall() ... skipped 'FileNotFoundError in copytree' test_stop_firewall (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_stop_firewall) Test stop_firewall() ... skipped 'FileNotFoundError in copytree' test_update_app_rule (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_update_app_rule) Test upate_app_rule() ... skipped 'FileNotFoundError in copytree' test_update_logging (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_update_logging) Test update_logging() ... skipped 'FileNotFoundError in copytree' test_use_ipv6 (tests.unit.test_backend_iptables.BackendIptablesTestCase.test_use_ipv6) Test use_ipv6() ... skipped 'FileNotFoundError in copytree' ---------------------------------------------------------------------- Ran 27 tests in 0.000s OK (skipped=27) test_common test__fix_anywhere (tests.unit.test_common.CommonTestCase.test__fix_anywhere) Test _fix_anywhere() ... ok test__get_attrib (tests.unit.test_common.CommonTestCase.test__get_attrib) Test _get_attrib() ... ok test__init_ (tests.unit.test_common.CommonTestCase.test__init_) Test UFWRule.__init__() ... ok test__is_anywhere (tests.unit.test_common.CommonTestCase.test__is_anywhere) Test _is_anywhere() ... ok test_dup_rule (tests.unit.test_common.CommonTestCase.test_dup_rule) Test dup_rule() ... ok test_format_rule (tests.unit.test_common.CommonTestCase.test_format_rule) Test format_rule() ... ok test_fuzzy_dst_match (tests.unit.test_common.CommonTestCase.test_fuzzy_dst_match) Test fuzzy_dst_match() ... ok test_get_app_tuple (tests.unit.test_common.CommonTestCase.test_get_app_tuple) Test get_app_tuple() ... ok test_match (tests.unit.test_common.CommonTestCase.test_match) Test match() ... ok test_normalize (tests.unit.test_common.CommonTestCase.test_normalize) Test normalize() ... ok test_set_action (tests.unit.test_common.CommonTestCase.test_set_action) Test set_action() ... ok test_set_direction (tests.unit.test_common.CommonTestCase.test_set_direction) Test set_direction() ... ok test_set_direction_bad (tests.unit.test_common.CommonTestCase.test_set_direction_bad) Test set_direction() - bad ... ok test_set_dst (tests.unit.test_common.CommonTestCase.test_set_dst) Test set_dst() ... ok test_set_dst_bad (tests.unit.test_common.CommonTestCase.test_set_dst_bad) Test set_dst() - bad ... ok test_set_interface (tests.unit.test_common.CommonTestCase.test_set_interface) Test set_interface() ... ok test_set_interface_bad (tests.unit.test_common.CommonTestCase.test_set_interface_bad) Test set_interface() - bad ... ok test_set_logtype (tests.unit.test_common.CommonTestCase.test_set_logtype) Test set_logtype() ... ok test_set_logtype_bad (tests.unit.test_common.CommonTestCase.test_set_logtype_bad) Test set_logtype() - bad ... ok test_set_port (tests.unit.test_common.CommonTestCase.test_set_port) Test set_port() ... ok test_set_port_bad (tests.unit.test_common.CommonTestCase.test_set_port_bad) Test set_port() - bad ... ok test_set_position (tests.unit.test_common.CommonTestCase.test_set_position) Test set_position() ... ok test_set_position_bad (tests.unit.test_common.CommonTestCase.test_set_position_bad) Test set_position() - bad ... ok test_set_protocol (tests.unit.test_common.CommonTestCase.test_set_protocol) Test set_protocol() ... ok test_set_protocol_bad (tests.unit.test_common.CommonTestCase.test_set_protocol_bad) Test set_protocol() - bad ... ok test_set_src (tests.unit.test_common.CommonTestCase.test_set_src) Test set_src() ... ok test_set_src_bad (tests.unit.test_common.CommonTestCase.test_set_src_bad) Test set_src() - bad ... ok test_set_v6 (tests.unit.test_common.CommonTestCase.test_set_v6) Test set_v6() ... ok test_ufwerror (tests.unit.test_common.CommonTestCase.test_ufwerror) Test UFWError ... ok test_ufwerror_str (tests.unit.test_common.CommonTestCase.test_ufwerror_str) Test UFWError.str() ... ok ---------------------------------------------------------------------- Ran 30 tests in 0.010s OK test_frontend test___init__ (tests.unit.test_frontend.FrontendTestCase.test___init__) Test __init__() ... WARN: Checks disabled ok test_application_add (tests.unit.test_frontend.FrontendTestCase.test_application_add) Test application_add() ... WARN: Checks disabled FAIL test_continue_under_ssh (tests.unit.test_frontend.FrontendTestCase.test_continue_under_ssh) Test continue_under_ssh() ... WARN: Checks disabled ok test_do_action (tests.unit.test_frontend.FrontendTestCase.test_do_action) Test do_action() ... WARN: Checks disabled WARN: Checks disabled insert 1 limit 22/tcp failed: ERROR test_do_action_remove_bad_appname (tests.unit.test_frontend.FrontendTestCase.test_do_action_remove_bad_appname) Test do_action() remove bad appname ... WARN: Checks disabled ok test_do_application_action (tests.unit.test_frontend.FrontendTestCase.test_do_application_action) Test do_application_action() ... WARN: Checks disabled ok test_get_command_help (tests.unit.test_frontend.FrontendTestCase.test_get_command_help) Test get_command_help() ... WARN: Checks disabled ok test_get_show_added (tests.unit.test_frontend.FrontendTestCase.test_get_show_added) Test get_show_added() ... WARN: Checks disabled ok test_get_show_listening (tests.unit.test_frontend.FrontendTestCase.test_get_show_listening) Test get_show_listening() ... WARN: Checks disabled ERROR test_get_show_raw (tests.unit.test_frontend.FrontendTestCase.test_get_show_raw) Test get_show_raw() ... WARN: Checks disabled ok test_parse_command (tests.unit.test_frontend.FrontendTestCase.test_parse_command) Test parse_command() ... WARN: Checks disabled ok test_parse_command_bad (tests.unit.test_frontend.FrontendTestCase.test_parse_command_bad) Test parse_command_bad ... WARN: Checks disabled ERROR: Invalid syntax ERROR: Invalid syntax ERROR: Invalid syntax ok ====================================================================== ERROR: test_do_action (tests.unit.test_frontend.FrontendTestCase.test_do_action) Test do_action() ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/tests/unit/test_frontend.py", line 224, in test_do_action res = ui.do_action(pr.action, ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/frontend.py", line 719, in do_action res = self.set_rule(rule, ip_version) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/frontend.py", line 459, in set_rule raise UFWError(pos_err_msg) ufw.common.UFWError: "Invalid position '1'" ====================================================================== ERROR: test_get_show_listening (tests.unit.test_frontend.FrontendTestCase.test_get_show_listening) Test get_show_listening() ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 1035, in get_netstat_output proc_net_data[p] = _read_proc_net_protocol(p) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 985, in _read_proc_net_protocol raise ValueError ValueError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/frontend.py", line 291, in get_show_listening d = ufw.util.parse_netstat_output(self.backend.use_ipv6()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 813, in parse_netstat_output netstat_output = get_netstat_output(v6) ^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 1038, in get_netstat_output warn(warn_msg) File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 341, in warn _print(sys.stderr, 'WARN: %s\n' % out) File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 321, in _print writer.write(s) TypeError: a bytes-like object is required, not 'str' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/tests/unit/test_frontend.py", line 321, in test_get_show_listening res = self.ui.get_show_listening() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/frontend.py", line 294, in get_show_listening raise UFWError(err_msg) ufw.common.UFWError: 'Could not get listening status' ====================================================================== FAIL: test_application_add (tests.unit.test_frontend.FrontendTestCase.test_application_add) Test application_add() ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/tests/unit/test_frontend.py", line 350, in test_application_add self.assertTrue(search in res, \ AssertionError: False is not true : Could not find 'Rules updated (v6)' in: Rules updated ---------------------------------------------------------------------- Ran 12 tests in 0.078s FAILED (failures=1, errors=2) test_parser test_app_parse (tests.unit.test_parser.ParserTestCase.test_app_parse) Test UFWCommandApp.parse() ... ok test_bad_simple_action (tests.unit.test_parser.ParserTestCase.test_bad_simple_action) Test bad simple action ... ok test_bad_simple_action_with_direction (tests.unit.test_parser.ParserTestCase.test_bad_simple_action_with_direction) Test bad simple action with direction ... ok test_default_parse (tests.unit.test_parser.ParserTestCase.test_default_parse) Test UFWCommandDefault.parse() ... ok test_delete_bad_simple_action (tests.unit.test_parser.ParserTestCase.test_delete_bad_simple_action) Test delete bad simple action ... ok test_extended_parse (tests.unit.test_parser.ParserTestCase.test_extended_parse) Test extended rule syntax ... 61920 rules checked ok test_logging_parse (tests.unit.test_parser.ParserTestCase.test_logging_parse) Test UFWCommandLogging.parse() ... ok test_misc_rules_parse (tests.unit.test_parser.ParserTestCase.test_misc_rules_parse) Test rule syntax - miscellaneous ... ok test_route_delete_num (tests.unit.test_parser.ParserTestCase.test_route_delete_num) Test route delete NUM ... ok test_rule_bad_syntax (tests.unit.test_parser.ParserTestCase.test_rule_bad_syntax) Test rule syntax - bad ... ok test_show_parse (tests.unit.test_parser.ParserTestCase.test_show_parse) Test UFWCommandShow.parse() ... ok test_simple_bad_numeric_port (tests.unit.test_parser.ParserTestCase.test_simple_bad_numeric_port) Test simple bad numeric port ... ok test_simple_parse (tests.unit.test_parser.ParserTestCase.test_simple_parse) Test simple rule syntax ... 792 rules checked ok test_status_parse (tests.unit.test_parser.ParserTestCase.test_status_parse) Test UFWCommandStatus.parse() ... ok test_ufwcommand_help (tests.unit.test_parser.ParserTestCase.test_ufwcommand_help) Test UFWCommand.help() ... ok test_ufwcommand_parse (tests.unit.test_parser.ParserTestCase.test_ufwcommand_parse) Test UFWCommand.parse() ... ok test_ufwcommand_parse_basic_help (tests.unit.test_parser.ParserTestCase.test_ufwcommand_parse_basic_help) Test parser.parse_command() - help ... ok test_ufwcommand_parse_empty (tests.unit.test_parser.ParserTestCase.test_ufwcommand_parse_empty) Test UFWCommand.parse([]) ... ok test_ufwcommand_rule_get_command (tests.unit.test_parser.ParserTestCase.test_ufwcommand_rule_get_command) Test UFWCommand(Route)Rule.get_command() ... 62717 rules checked ok test_ufwcommandbasic_parse_with_arg (tests.unit.test_parser.ParserTestCase.test_ufwcommandbasic_parse_with_arg) Test UFWCommand.parse() - basic with arg ... ok test_ufwparser_allowed_command (tests.unit.test_parser.ParserTestCase.test_ufwparser_allowed_command) Test UFWParser.allowed_command() ... ok test_ufwparser_register_command (tests.unit.test_parser.ParserTestCase.test_ufwparser_register_command) Test UFWParser.register_command() ... ok test_ufwparser_register_command_none (tests.unit.test_parser.ParserTestCase.test_ufwparser_register_command_none) Test UFWParser.register_command() ... ok test_ufwparser_response (tests.unit.test_parser.ParserTestCase.test_ufwparser_response) Test UFWParserResponse.str() ... ok ---------------------------------------------------------------------- Ran 24 tests in 8.485s OK test_skeleton test_example (tests.unit.test_skeleton.SkeletonTestCase.test_example) Test example dummy test ... ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK test_util test__address4_to_network (tests.unit.test_util.UtilTestCase.test__address4_to_network) Test _address4_to_network() ... ok test__address6_to_network (tests.unit.test_util.UtilTestCase.test__address6_to_network) Test _address6_to_network() ... ok test__cidr_to_dotted_netmask (tests.unit.test_util.UtilTestCase.test__cidr_to_dotted_netmask) Test _cidr_to_dotted_netmask() ... ok test__dotted_netmask_to_cidr (tests.unit.test_util.UtilTestCase.test__dotted_netmask_to_cidr) Test _dotted_netmask_to_cidr() ... ok test__get_proc_inodes (tests.unit.test_util.UtilTestCase.test__get_proc_inodes) Test _get_proc_inodes() ... FAIL test__read_proc_net_protocol (tests.unit.test_util.UtilTestCase.test__read_proc_net_protocol) Test _read_proc_net_protocol() ... ERROR test__valid_cidr_netmask (tests.unit.test_util.UtilTestCase.test__valid_cidr_netmask) Test _valid_cidr_netmask() ... ok test__valid_dotted_quads (tests.unit.test_util.UtilTestCase.test__valid_dotted_quads) Test _valid_dotted_quads() ... ok test_cidr_to_dotted_to_cidr (tests.unit.test_util.UtilTestCase.test_cidr_to_dotted_to_cidr) Test _cidr_to_dotted_netmask() and _dotted_netmask_to_cidr() ... ok test_close_files (tests.unit.test_util.UtilTestCase.test_close_files) Test close_files() ... ok test_cmd (tests.unit.test_util.UtilTestCase.test_cmd) Test cmd() ... ok test_cmd_pipe (tests.unit.test_util.UtilTestCase.test_cmd_pipe) Test cmd_pipe() ... ok test_create_lock (tests.unit.test_util.UtilTestCase.test_create_lock) Test create_lock() ... ok test_debug (tests.unit.test_util.UtilTestCase.test_debug) Test debug() ... DEBUG: test debug() ('DEBUG: test debug()' output is intentional) ok test_error (tests.unit.test_util.UtilTestCase.test_error) Test error() ... ERROR: test error() ('ERROR: test error()' output is intentional) ok test_get_if_from_ip (tests.unit.test_util.UtilTestCase.test_get_if_from_ip) Test get_if_from_ip() ... skipped: TODO: python3 ok test_get_ip_from_if (tests.unit.test_util.UtilTestCase.test_get_ip_from_if) Test get_ip_from_if() ... skipped: TODO: python3 ok test_get_iptables_version (tests.unit.test_util.UtilTestCase.test_get_iptables_version) Test get_iptables_version() ... ok test_get_netfilter_capabilities (tests.unit.test_util.UtilTestCase.test_get_netfilter_capabilities) Test get_netfilter_capabilities() ... ok test_get_netstat_output (tests.unit.test_util.UtilTestCase.test_get_netstat_output) Test get_netstat_output() ... WARN: Could not get statistics for 'tcp' WARN: Could not get statistics for 'udp' WARN: Could not get statistics for 'tcp6' WARN: Could not get statistics for 'udp6' WARN: Could not get statistics for 'tcp' WARN: Could not get statistics for 'udp' (TODO: fake-netstat) could not find tcp in: (TODO: fake-netstat) could not find udp in: (TODO: fake-netstat) could not find tcp in: (TODO: fake-netstat) could not find udp in: ok test_get_ppid (tests.unit.test_util.UtilTestCase.test_get_ppid) Test get_ppid() ... ERROR test_get_ppid_no_space (tests.unit.test_util.UtilTestCase.test_get_ppid_no_space) Test get_ppid() no space ... ok test_get_ppid_with_parens (tests.unit.test_util.UtilTestCase.test_get_ppid_with_parens) Test get_ppid() with parens ... ok test_get_ppid_with_space (tests.unit.test_util.UtilTestCase.test_get_ppid_with_space) Test get_ppid() with space ... ok test_get_services_proto (tests.unit.test_util.UtilTestCase.test_get_services_proto) Test get_services_proto() ... ok test_hex_decode (tests.unit.test_util.UtilTestCase.test_hex_decode) Test hex_decode() output ... ok test_hex_encode (tests.unit.test_util.UtilTestCase.test_hex_encode) Test hex_encode() output ... ok test_human_sort (tests.unit.test_util.UtilTestCase.test_human_sort) Test human_sort() ... ok test_in_network (tests.unit.test_util.UtilTestCase.test_in_network) Test in_network() ... ok test_msg (tests.unit.test_util.UtilTestCase.test_msg) Test msg() ... test msg() test msg()('test msg()' output is intentional) ('test msg()' output is intentional) ok test_normalize_address_host_netmask (tests.unit.test_util.UtilTestCase.test_normalize_address_host_netmask) Test normalize_address() with host_netmask ... ok test_normalize_address_invalid_netmask (tests.unit.test_util.UtilTestCase.test_normalize_address_invalid_netmask) Test normalize_address() with invalid_netmask ... ok test_normalize_address_ipv6_cidr (tests.unit.test_util.UtilTestCase.test_normalize_address_ipv6_cidr) Test normalize_address() with ipv6_cidr ... ok test_normalize_address_ipv6_short_notation (tests.unit.test_util.UtilTestCase.test_normalize_address_ipv6_short_notation) Test normalize_address() with ipv6_short_notation ... ok test_normalize_address_netmask_to_cidr (tests.unit.test_util.UtilTestCase.test_normalize_address_netmask_to_cidr) Test normalize_address() with netmask_to_cidr ... ok test_normalize_address_valid_netmask_to_non_cidr (tests.unit.test_util.UtilTestCase.test_normalize_address_valid_netmask_to_non_cidr) Test normalize_address() with valid_netmask_to_non_cidr ... ok test_open_file_read (tests.unit.test_util.UtilTestCase.test_open_file_read) Test open_file_read() ... ok test_open_files (tests.unit.test_util.UtilTestCase.test_open_files) Test open_files() ... ok test_parse_netstat_output (tests.unit.test_util.UtilTestCase.test_parse_netstat_output) Test parse_netstat_output() ... WARN: Could not get statistics for 'tcp' WARN: Could not get statistics for 'udp' WARN: Could not get statistics for 'tcp' WARN: Could not get statistics for 'udp' WARN: Could not get statistics for 'tcp6' WARN: Could not get statistics for 'udp6' ok test_parse_port_proto (tests.unit.test_util.UtilTestCase.test_parse_port_proto) Test parse_port_proto() ... ok test_under_ssh (tests.unit.test_util.UtilTestCase.test_under_ssh) Test under_ssh() ... WARN: Couldn't find pid (is /proc mounted?) WARN: Couldn't find pid (is /proc mounted?) WARN: Couldn't find pid (is /proc mounted?) ok test_valid_address (tests.unit.test_util.UtilTestCase.test_valid_address) Test valid_address() ... ok test_valid_address4 (tests.unit.test_util.UtilTestCase.test_valid_address4) Test valid_address4() ... ok test_valid_address6 (tests.unit.test_util.UtilTestCase.test_valid_address6) Test valid_address6() ... WARN: python does not have IPv6 support. (IPv6 support warning is intentional) ok test_valid_netmask (tests.unit.test_util.UtilTestCase.test_valid_netmask) Test valid_netmask() ... ok test_warn (tests.unit.test_util.UtilTestCase.test_warn) Test warn() ... WARN: test warn() ('WARN: test warn()' output is intentional) ok test_word_wrap (tests.unit.test_util.UtilTestCase.test_word_wrap) Test word_wrap() ... ok test_wrap_text (tests.unit.test_util.UtilTestCase.test_wrap_text) Test wrap_text() ... ok test_write_to_file (tests.unit.test_util.UtilTestCase.test_write_to_file) Test write_to_file() ... ok ====================================================================== ERROR: test__read_proc_net_protocol (tests.unit.test_util.UtilTestCase.test__read_proc_net_protocol) Test _read_proc_net_protocol() ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/tests/unit/test_util.py", line 1014, in test__read_proc_net_protocol res = ufw.util._read_proc_net_protocol("tcp") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 985, in _read_proc_net_protocol raise ValueError ValueError ====================================================================== ERROR: test_get_ppid (tests.unit.test_util.UtilTestCase.test_get_ppid) Test get_ppid() ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/tests/unit/test_util.py", line 735, in test_get_ppid ufw.util.get_ppid() File "/home/udu/aports/community/ufw/src/ufw-0.36.2/ufw/util.py", line 414, in get_ppid raise IOError("Couldn't find '%s'" % (name)) OSError: Couldn't find '/proc/2670648/stat' ====================================================================== FAIL: test__get_proc_inodes (tests.unit.test_util.UtilTestCase.test__get_proc_inodes) Test _get_proc_inodes() ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/udu/aports/community/ufw/src/ufw-0.36.2/tests/unit/test_util.py", line 1010, in test__get_proc_inodes self.assertTrue(len(inodes) > 0) AssertionError: False is not true ---------------------------------------------------------------------- Ran 49 tests in 0.117s FAILED (failures=1, errors=2) ------------------ Unit tests summary ------------------ Total=8 (Passed=6, Failed=2) Found unit test failures. Aborting and skipping functional tests >>> ERROR: ufw: check failed >>> ufw: Uninstalling dependencies... (1/11) Purging .makedepends-ufw (20251014.024059) (2/11) Purging iptables (1.8.11-r1) (3/11) Purging py3-setuptools-pyc (80.9.0-r0) (4/11) Purging py3-setuptools (80.9.0-r0) (5/11) Purging py3-packaging-pyc (25.0-r0) (6/11) Purging py3-packaging (25.0-r0) (7/11) Purging py3-parsing-pyc (3.2.3-r0) (8/11) Purging py3-parsing (3.2.3-r0) (9/11) Purging libnftnl (1.2.9-r0) (10/11) Purging libxtables (1.8.11-r1) (11/11) Purging libmnl (1.0.5-r2) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages