Diff of the two buildlogs: -- --- b1/build.log 2025-11-23 22:34:50.223295302 +0000 +++ b2/build.log 2025-11-23 22:35:46.535358153 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Dec 26 16:53:32 -12 2026 -I: pbuilder-time-stamp: 1798347212 +I: Current time: Mon Nov 24 12:34:52 +14 2025 +I: pbuilder-time-stamp: 1763937292 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -24,53 +24,85 @@ dpkg-source: info: applying 001.fix_manual.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3860414/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 23 22:34 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 nocheck' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='72c032fe62004303b849031731e1de1e' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3860414' - PS1='# ' - PS2='> ' + INVOCATION_ID=b36034edab90444aa9599196f0587a54 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=735497 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.VX9eBOFE/pbuilderrc_ro0I --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.VX9eBOFE/b1 --logfile b1/build.log apprise_1.9.3-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.VX9eBOFE/pbuilderrc_tcr0 --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.VX9eBOFE/b2 --logfile b2/build.log apprise_1.9.3-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.57+deb13-cloud-arm64 #1 SMP Debian 6.12.57-1 (2025-11-05) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.57+deb13-cloud-arm64 #1 SMP Debian 6.12.57-1 (2025-11-05) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3860414/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -234,7 +266,7 @@ Get: 96 http://deb.debian.org/debian forky/main arm64 python3-requests all 2.32.5+dfsg-1 [72.4 kB] Get: 97 http://deb.debian.org/debian forky/main arm64 python3-requests-oauthlib all 1.3.1-2 [21.3 kB] Get: 98 http://deb.debian.org/debian forky/main arm64 python3-yaml arm64 6.0.2-2 [122 kB] -Fetched 32.5 MB in 0s (126 MB/s) +Fetched 32.5 MB in 0s (133 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19968 files and directories currently installed.) @@ -559,8 +591,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Sun Dec 27 04:53:51 UTC 2026. -Universal Time is now: Sun Dec 27 04:53:51 UTC 2026. +Local time is now: Sun Nov 23 22:35:12 UTC 2025. +Universal Time is now: Sun Nov 23 22:35:12 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20240727.1) ... @@ -662,7 +694,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/apprise-1.9.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../apprise_1.9.3-1_source.changes +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/apprise-1.9.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../apprise_1.9.3-1_source.changes dpkg-buildpackage: info: source package apprise dpkg-buildpackage: info: source version 1.9.3-1 dpkg-buildpackage: info: source distribution unstable @@ -966,592 +1002,6 @@ copying apprise/plugins/base.pyi -> /build/reproducible-path/apprise-1.9.3/.pybuild/cpython3_3.13/build/apprise/plugins copying apprise/config/base.pyi -> /build/reproducible-path/apprise-1.9.3/.pybuild/cpython3_3.13/build/apprise/config copying apprise/attachment/base.pyi -> /build/reproducible-path/apprise-1.9.3/.pybuild/cpython3_3.13/build/apprise/attachment - debian/rules override_dh_auto_test -make[1]: Entering directory '/build/reproducible-path/apprise-1.9.3' -python3 -m pytest -v -s test -p no:warnings -k 'not test_locale.py and not test_apprise_attachment_truncate and not test_api.py and not test_apprise_translations.py' test/ -============================= test session starts ============================== -platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3 -cachedir: .pytest_cache -rootdir: /build/reproducible-path/apprise-1.9.3 -configfile: setup.cfg -plugins: mock-3.15.1, cov-5.0.0, typeguard-4.4.4 -collecting ... collected 553 items / 25 deselected / 2 skipped / 528 selected - -test/test_apprise_attachments.py::test_apprise_attachment PASSED -test/test_apprise_attachments.py::test_apprise_attachment_instantiate PASSED -test/test_apprise_attachments.py::test_attachment_matrix_dynamic_importing PASSED -test/test_apprise_cli.py::test_apprise_cli_nux_env PASSED -test/test_apprise_cli.py::test_apprise_cli_modules PASSED -test/test_apprise_cli.py::test_apprise_cli_persistent_storage PASSED -test/test_apprise_cli.py::test_apprise_cli_details PASSED -test/test_apprise_cli.py::test_apprise_cli_print_help PASSED -test/test_apprise_cli.py::test_apprise_cli_plugin_loading PASSED -test/test_apprise_cli.py::test_apprise_cli_windows_env PASSED -test/test_apprise_config.py::test_apprise_config PASSED -test/test_apprise_config.py::test_apprise_multi_config_entries PASSED -test/test_apprise_config.py::test_apprise_add_config PASSED -test/test_apprise_config.py::test_apprise_config_tagging PASSED -test/test_apprise_config.py::test_apprise_config_instantiate PASSED -test/test_apprise_config.py::test_invalid_apprise_config PASSED -test/test_apprise_config.py::test_apprise_config_with_apprise_obj PASSED -test/test_apprise_config.py::test_recursive_config_inclusion PASSED -test/test_apprise_config.py::test_apprise_config_file_loading PASSED -test/test_apprise_config.py::test_apprise_config_matrix_load PASSED -test/test_apprise_config.py::test_configmatrix_dynamic_importing PASSED -test/test_apprise_config.py::test_config_base_parse_inaccessible_text_file PASSED -test/test_apprise_config.py::test_config_base_parse_yaml_file01 PASSED -test/test_apprise_config.py::test_config_base_parse_yaml_file02 PASSED -test/test_apprise_config.py::test_config_base_parse_yaml_file03 PASSED -test/test_apprise_config.py::test_config_base_parse_yaml_file04 PASSED -test/test_apprise_config.py::test_apprise_config_template_parse PASSED -test/test_apprise_emojis.py::test_emojis PASSED -test/test_apprise_helpers.py::test_environ_temporary_change PASSED -test/test_apprise_pickle.py::test_apprise_pickle_asset PASSED -test/test_apprise_pickle.py::test_apprise_pickle_locale PASSED -test/test_apprise_pickle.py::test_apprise_pickle_core PASSED -test/test_apprise_utils.py::test_parse_qsd PASSED -test/test_apprise_utils.py::test_parse_url_general PASSED -test/test_apprise_utils.py::test_parse_url_simple PASSED -test/test_apprise_utils.py::test_url_assembly PASSED -test/test_apprise_utils.py::test_parse_bool PASSED -test/test_apprise_utils.py::test_is_uuid PASSED -test/test_apprise_utils.py::test_is_hostname PASSED -test/test_apprise_utils.py::test_is_ipaddr PASSED -test/test_apprise_utils.py::test_is_email PASSED -test/test_apprise_utils.py::test_is_call_sign_no PASSED -test/test_apprise_utils.py::test_is_phone_no PASSED -test/test_apprise_utils.py::test_parse_call_sign PASSED -test/test_apprise_utils.py::test_parse_phone_no PASSED -test/test_apprise_utils.py::test_parse_emails PASSED -test/test_apprise_utils.py::test_parse_urls PASSED -test/test_apprise_utils.py::test_dict_full_update PASSED -test/test_apprise_utils.py::test_parse_list PASSED -test/test_apprise_utils.py::test_import_module PASSED -test/test_apprise_utils.py::test_module_detection PASSED -test/test_apprise_utils.py::test_exclusive_match PASSED -test/test_apprise_utils.py::test_apprise_validate_regex PASSED -test/test_apprise_utils.py::test_apply_templating PASSED -test/test_apprise_utils.py::test_cwe312_word PASSED -test/test_apprise_utils.py::test_cwe312_url PASSED -test/test_apprise_utils.py::test_dict_base64_codec PASSED -test/test_apprise_utils.py::test_dir_size PASSED -test/test_apprise_utils.py::test_bytes_to_str PASSED -test/test_asyncio.py::test_apprise_asyncio_runtime_error SKIPPED (Re...) -test/test_attach_base.py::test_mimetype_initialization PASSED -test/test_attach_base.py::test_attach_base PASSED -test/test_attach_file.py::test_attach_file_parse_url PASSED -test/test_attach_file.py::test_file_expiry PASSED -test/test_attach_file.py::test_attach_mimetype PASSED -test/test_attach_file.py::test_attach_file PASSED -test/test_attach_file.py::test_attach_file_base64 PASSED -test/test_attach_http.py::test_attach_http_parse_url PASSED -test/test_attach_http.py::test_attach_http_query_string_dictionary PASSED -test/test_attach_http.py::test_attach_http PASSED -test/test_attach_memory.py::test_attach_memory_parse_url PASSED -test/test_attach_memory.py::test_attach_memory PASSED -test/test_config_base.py::test_config_base PASSED -test/test_config_base.py::test_config_base_detect_config_format PASSED -test/test_config_base.py::test_config_base_config_parse PASSED -test/test_config_base.py::test_config_base_discord_bug_report_01 PASSED -test/test_config_base.py::test_config_base_config_parse_text PASSED -test/test_config_base.py::test_config_base_config_tag_groups_text PASSED -test/test_config_base.py::test_config_base_config_parse_text_with_url PASSED -test/test_config_base.py::test_config_base_config_parse_yaml PASSED -test/test_config_base.py::test_yaml_vs_text_tagging PASSED -test/test_config_base.py::test_config_base_config_tag_groups_yaml_01 PASSED -test/test_config_base.py::test_config_base_config_tag_groups_yaml_02 PASSED -test/test_config_base.py::test_config_base_config_parse_yaml_globals PASSED -test/test_config_base.py::test_config_base_config_parse_yaml_list PASSED -test/test_config_file.py::test_config_file PASSED -test/test_config_file.py::test_config_file_exceptions PASSED -test/test_config_http.py::test_config_http PASSED -test/test_config_memory.py::test_config_memory PASSED -test/test_conversion.py::test_conversion_html_to_text PASSED -test/test_conversion.py::test_conversion_text_to PASSED -test/test_conversion.py::test_conversion_markdown_to_html PASSED -test/test_decorator_notify.py::test_notify_simple_decoration PASSED -test/test_decorator_notify.py::test_notify_complex_decoration PASSED -test/test_decorator_notify.py::test_notify_decorator_urls_with_space PASSED -test/test_decorator_notify.py::test_notify_multi_instance_decoration PASSED -test/test_decorator_notify.py::test_custom_notify_plugin_decoration PASSED -test/test_escapes.py::test_apprise_interpret_escapes PASSED -test/test_escapes.py::test_apprise_escaping PASSED -test/test_logger.py::test_apprise_logger PASSED -test/test_logger.py::test_apprise_log_memory_captures PASSED -test/test_logger.py::test_apprise_log_file_captures PASSED -test/test_logger.py::test_apprise_secure_logging PASSED -test/test_notification_manager.py::test_notification_manager_general PASSED -test/test_notification_manager.py::test_notification_manager_module_loading PASSED -test/test_notification_manager.py::test_notification_manager_decorators PASSED -test/test_notify_base.py::test_notify_base PASSED -test/test_notify_base.py::test_notify_base_urls PASSED -test/test_persistent_store.py::test_persistent_storage_asset PASSED -test/test_persistent_store.py::test_disabled_persistent_storage PASSED -test/test_persistent_store.py::test_persistent_storage_init PASSED -test/test_persistent_store.py::test_persistent_storage_general PASSED -test/test_persistent_store.py::test_persistent_storage_auto_mode PASSED -test/test_persistent_store.py::test_persistent_storage_flush_mode PASSED -test/test_persistent_store.py::test_persistent_storage_corruption_handling PASSED -test/test_persistent_store.py::test_persistent_custom_io PASSED -test/test_persistent_store.py::test_persistent_storage_cache_object PASSED -test/test_persistent_store.py::test_persistent_storage_disk_prune PASSED -test/test_persistent_store.py::test_persistent_storage_disk_changes PASSED -test/test_plugin_africas_talking.py::test_plugin_atalk_urls PASSED -test/test_plugin_africas_talking.py::test_plugin_atalk_edge_cases PASSED -test/test_plugin_apprise_api.py::test_plugin_apprise_urls PASSED -test/test_plugin_apprise_api.py::test_notify_apprise_api_attachments PASSED -test/test_plugin_aprs.py::test_plugin_aprs_urls PASSED -test/test_plugin_aprs.py::test_plugin_aprs_edge_cases PASSED -test/test_plugin_aprs.py::test_plugin_aprs_config_files PASSED -test/test_plugin_bark.py::test_plugin_bark_urls PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_urls PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_general PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_edge_cases PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_attachments_basic PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_attachments_bad_message_response PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_attachments_upload_fails PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_attachments_invalid_attachment PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_attachments_multiple_batch PASSED -test/test_plugin_bluesky.py::test_plugin_bluesky_auth_failure PASSED -test/test_plugin_bulksms.py::test_plugin_bulksms_urls PASSED -test/test_plugin_bulksms.py::test_plugin_bulksms_edge_cases PASSED -test/test_plugin_bulkvs.py::test_plugin_bulkvs_urls PASSED -test/test_plugin_bulkvs.py::test_plugin_bulkvs_edge_cases PASSED -test/test_plugin_burstsms.py::test_plugin_burstsms_urls PASSED -test/test_plugin_burstsms.py::test_plugin_burstsms_edge_cases PASSED -test/test_plugin_chanify.py::test_plugin_chanify_urls PASSED -test/test_plugin_clicksend.py::test_plugin_clicksend_urls PASSED -test/test_plugin_custom_form.py::test_plugin_custom_form_urls PASSED -test/test_plugin_custom_form.py::test_plugin_custom_form_attachments PASSED -test/test_plugin_custom_form.py::test_plugin_custom_form_edge_cases PASSED -test/test_plugin_custom_json.py::test_plugin_custom_json_urls PASSED -test/test_plugin_custom_json.py::test_plugin_custom_json_edge_cases PASSED -test/test_plugin_custom_json.py::test_notify_json_plugin_attachments PASSED -test/test_plugin_custom_json.py::test_plugin_custom_form_for_synology PASSED -test/test_plugin_custom_xml.py::test_plugin_custom_xml_urls PASSED -test/test_plugin_custom_xml.py::test_notify_xml_plugin_attachments PASSED -test/test_plugin_custom_xml.py::test_plugin_custom_xml_edge_cases PASSED -test/test_plugin_d7networks.py::test_plugin_d7networks_urls PASSED -test/test_plugin_d7networks.py::test_plugin_d7networks_edge_cases PASSED -test/test_plugin_dapnet.py::test_plugin_dapnet_urls PASSED -test/test_plugin_dapnet.py::test_plugin_dapnet_edge_cases PASSED -test/test_plugin_dapnet.py::test_plugin_dapnet_config_files PASSED -test/test_plugin_dingtalk.py::test_plugin_dingtalk_urls PASSED -test/test_plugin_discord.py::test_plugin_discord_urls PASSED -test/test_plugin_discord.py::test_plugin_discord_notifications PASSED -test/test_plugin_discord.py::test_plugin_discord_general PASSED -test/test_plugin_discord.py::test_plugin_discord_overflow PASSED -test/test_plugin_discord.py::test_plugin_discord_markdown_extra PASSED -test/test_plugin_discord.py::test_plugin_discord_attachments PASSED -test/test_plugin_email.py::test_plugin_email PASSED -test/test_plugin_email.py::test_plugin_email_webbase_lookup PASSED -test/test_plugin_email.py::test_plugin_email_smtplib_init_fail PASSED -test/test_plugin_email.py::test_plugin_email_smtplib_send_okay PASSED -test/test_plugin_email.py::test_plugin_email_smtplib_send_multiple_recipients PASSED -test/test_plugin_email.py::test_plugin_email_smtplib_internationalization PASSED -test/test_plugin_email.py::test_plugin_email_url_escaping PASSED -test/test_plugin_email.py::test_plugin_email_url_variations PASSED -test/test_plugin_email.py::test_plugin_email_dict_variations PASSED -test/test_plugin_email.py::test_plugin_email_url_parsing PASSED -test/test_plugin_email.py::test_plugin_email_plus_in_toemail PASSED -test/test_plugin_email.py::test_plugin_email_formatting_990 PASSED -test/test_plugin_email.py::test_plugin_email_variables_1087 PASSED -test/test_plugin_email.py::test_plugin_host_detection_from_source_email PASSED -test/test_plugin_email.py::test_plugin_email_by_ipaddr_1113 PASSED -test/test_plugin_email.py::test_plugin_email_pgp SKIPPED (Requires PGPy) -test/test_plugin_email.py::test_plugin_email_prepare SKIPPED (Requir...) -test/test_plugin_email.py::test_plugin_pgp SKIPPED (Requires PGPy) -test/test_plugin_emby.py::test_plugin_template_urls PASSED -test/test_plugin_emby.py::test_plugin_emby_general PASSED -test/test_plugin_emby.py::test_plugin_emby_login PASSED -test/test_plugin_emby.py::test_plugin_emby_sessions PASSED -test/test_plugin_emby.py::test_plugin_emby_logout PASSED -test/test_plugin_enigma2.py::test_plugin_enigma2_urls PASSED -test/test_plugin_fcm.py::test_plugin_fcm_urls PASSED -test/test_plugin_fcm.py::test_plugin_fcm_legacy_default PASSED -test/test_plugin_fcm.py::test_plugin_fcm_legacy_priorities PASSED -test/test_plugin_fcm.py::test_plugin_fcm_legacy_no_colors PASSED -test/test_plugin_fcm.py::test_plugin_fcm_legacy_colors PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_default PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_invalid_project_id PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_keyfile_error PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_data_parameters PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_priorities PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_no_colors PASSED -test/test_plugin_fcm.py::test_plugin_fcm_oauth_colors PASSED -test/test_plugin_fcm.py::test_plugin_fcm_keyfile_parse_default PASSED -test/test_plugin_fcm.py::test_plugin_fcm_keyfile_parse_no_expiry PASSED -test/test_plugin_fcm.py::test_plugin_fcm_keyfile_parse_user_agent PASSED -test/test_plugin_fcm.py::test_plugin_fcm_keyfile_parse_keyfile_failures PASSED -test/test_plugin_fcm.py::test_plugin_fcm_keyfile_parse_token_failures PASSED -test/test_plugin_fcm.py::test_plugin_fcm_bad_keyfile_parse PASSED -test/test_plugin_fcm.py::test_plugin_fcm_keyfile_missing_entries_parse PASSED -test/test_plugin_fcm.py::test_plugin_fcm_priority_manager PASSED -test/test_plugin_fcm.py::test_plugin_fcm_color_manager PASSED -test/test_plugin_fcm.py::test_plugin_fcm_cryptography_import_error SKIPPED -test/test_plugin_fcm.py::test_plugin_fcm_edge_cases PASSED -test/test_plugin_feishu.py::test_plugin_feishu_urls PASSED -test/test_plugin_flock.py::test_plugin_flock_urls PASSED -test/test_plugin_flock.py::test_plugin_flock_edge_cases PASSED -test/test_plugin_freemobile.py::test_plugin_freemobile_urls PASSED -test/test_plugin_gnome.py::test_plugin_gnome_general_success PASSED -test/test_plugin_gnome.py::test_plugin_gnome_image_success PASSED -test/test_plugin_gnome.py::test_plugin_gnome_priority PASSED -test/test_plugin_gnome.py::test_plugin_gnome_urgency PASSED -test/test_plugin_gnome.py::test_plugin_gnome_parse_configuration PASSED -test/test_plugin_gnome.py::test_plugin_gnome_missing_icon PASSED -test/test_plugin_gnome.py::test_plugin_gnome_disabled_plugin PASSED -test/test_plugin_gnome.py::test_plugin_gnome_set_urgency PASSED -test/test_plugin_gnome.py::test_plugin_gnome_gi_croaks PASSED -test/test_plugin_gnome.py::test_plugin_gnome_notify_croaks PASSED -test/test_plugin_google_chat.py::test_plugin_google_chat_urls PASSED -test/test_plugin_google_chat.py::test_plugin_google_chat_general PASSED -test/test_plugin_google_chat.py::test_plugin_google_chat_edge_case PASSED -test/test_plugin_gotify.py::test_plugin_gotify_urls PASSED -test/test_plugin_gotify.py::test_plugin_gotify_edge_cases PASSED -test/test_plugin_gotify.py::test_plugin_gotify_config_files PASSED -test/test_plugin_growl.py::test_plugin_growl_gntp_import_error PASSED -test/test_plugin_growl.py::test_plugin_growl_exception_handling SKIPPED -test/test_plugin_growl.py::test_plugin_growl_general SKIPPED (Requir...) -test/test_plugin_growl.py::test_plugin_growl_config_files SKIPPED (R...) -test/test_plugin_guilded.py::test_plugin_guilded_urls PASSED -test/test_plugin_guilded.py::test_plugin_guilded_general PASSED -test/test_plugin_homeassistant.py::test_plugin_homeassistant_urls PASSED -test/test_plugin_homeassistant.py::test_plugin_homeassistant_general PASSED -test/test_plugin_httpsms.py::test_plugin_httpsms_urls PASSED -test/test_plugin_httpsms.py::test_plugin_httpsms_edge_cases PASSED -test/test_plugin_ifttt.py::test_plugin_ifttt_urls PASSED -test/test_plugin_ifttt.py::test_plugin_ifttt_edge_cases PASSED -test/test_plugin_join.py::test_plugin_join_urls PASSED -test/test_plugin_join.py::test_plugin_join_edge_cases PASSED -test/test_plugin_join.py::test_plugin_join_config_files PASSED -test/test_plugin_kavenegar.py::test_plugin_kavenegar_urls PASSED -test/test_plugin_kumulos.py::test_plugin_kumulos_urls PASSED -test/test_plugin_kumulos.py::test_plugin_kumulos_edge_cases PASSED -test/test_plugin_lametric.py::test_plugin_lametric_urls PASSED -test/test_plugin_lametric.py::test_plugin_lametric_edge_cases PASSED -test/test_plugin_line.py::test_plugin_line_urls PASSED -test/test_plugin_lunasea.py::test_plugin_lunasea_urls PASSED -test/test_plugin_lunasea.py::test_plugin_custom_lunasea_edge_cases PASSED -test/test_plugin_macosx.py::test_plugin_macosx_general_success hello -hello -hello -hello -hello -hello -PASSED -test/test_plugin_macosx.py::test_plugin_macosx_terminal_notifier_not_executable PASSED -test/test_plugin_macosx.py::test_plugin_macosx_terminal_notifier_invalid PASSED -test/test_plugin_macosx.py::test_plugin_macosx_terminal_notifier_croaks PASSED -test/test_plugin_macosx.py::test_plugin_macosx_pretend_linux PASSED -test/test_plugin_macosx.py::test_plugin_macosx_pretend_old_macos[9.12] PASSED -test/test_plugin_macosx.py::test_plugin_macosx_pretend_old_macos[10.7] PASSED -test/test_plugin_mailgun.py::test_plugin_mailgun_urls PASSED -test/test_plugin_mailgun.py::test_plugin_mailgun_attachments PASSED -test/test_plugin_mailgun.py::test_plugin_mailgun_header_check PASSED -test/test_plugin_mastodon.py::test_plugin_mastodon_urls PASSED -test/test_plugin_mastodon.py::test_plugin_mastodon_general PASSED -test/test_plugin_mastodon.py::test_plugin_mastodon_attachments PASSED -test/test_plugin_matrix.py::test_plugin_matrix_urls PASSED -test/test_plugin_matrix.py::test_plugin_matrix_general PASSED -test/test_plugin_matrix.py::test_plugin_matrix_fetch PASSED -test/test_plugin_matrix.py::test_plugin_matrix_auth PASSED -test/test_plugin_matrix.py::test_plugin_matrix_rooms PASSED -test/test_plugin_matrix.py::test_plugin_matrix_url_parsing PASSED -test/test_plugin_matrix.py::test_plugin_matrix_image_errors PASSED -test/test_plugin_matrix.py::test_plugin_matrix_attachments_api_v3 PASSED -test/test_plugin_matrix.py::test_plugin_matrix_discovery_service PASSED -test/test_plugin_matrix.py::test_plugin_matrix_attachments_api_v2 PASSED -test/test_plugin_matrix.py::test_plugin_matrix_transaction_ids_api_v3_no_cache PASSED -test/test_plugin_matrix.py::test_plugin_matrix_transaction_ids_api_v3_w_cache PASSED -test/test_plugin_mattermost.py::test_plugin_mattermost_urls PASSED -test/test_plugin_mattermost.py::test_plugin_mattermost_edge_cases PASSED -test/test_plugin_mattermost.py::test_plugin_mattermost_channels PASSED -test/test_plugin_mattermost.py::test_mattermost_post_default_port PASSED -test/test_plugin_messagebird.py::test_plugin_messagebird_urls PASSED -test/test_plugin_messagebird.py::test_plugin_messagebird_edge_cases PASSED -test/test_plugin_misskey.py::test_plugin_misskey_urls PASSED -test/test_plugin_mqtt.py::test_plugin_mqtt_paho_import_error PASSED -test/test_plugin_mqtt.py::test_plugin_mqtt_default_success SKIPPED (...) -test/test_plugin_mqtt.py::test_plugin_mqtt_multiple_topics_success SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_to_success SKIPPED (Requi...) -test/test_plugin_mqtt.py::test_plugin_mqtt_valid_settings_success SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_invalid_settings_failure SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_bad_url_failure SKIPPED (...) -test/test_plugin_mqtt.py::test_plugin_mqtt_no_topic_failure SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_tls_connect_success SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_tls_no_certificates_failure SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_tls_no_verify_success SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_session_client_id_success SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_retain SKIPPED (Requires ...) -test/test_plugin_mqtt.py::test_plugin_mqtt_connect_failure SKIPPED (...) -test/test_plugin_mqtt.py::test_plugin_mqtt_reconnect_failure SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_publish_failure SKIPPED (...) -test/test_plugin_mqtt.py::test_plugin_mqtt_exception_failure SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_not_published_failure SKIPPED -test/test_plugin_mqtt.py::test_plugin_mqtt_not_published_recovery_success SKIPPED -test/test_plugin_msg91.py::test_plugin_msg91_urls PASSED -test/test_plugin_msg91.py::test_plugin_msg91_edge_cases PASSED -test/test_plugin_msg91.py::test_plugin_msg91_keywords PASSED -test/test_plugin_msteams.py::test_plugin_msteams_urls PASSED -test/test_plugin_msteams.py::test_plugin_msteams_templating_basic_success PASSED -test/test_plugin_msteams.py::test_plugin_msteams_templating_invalid_json PASSED -test/test_plugin_msteams.py::test_plugin_msteams_templating_json_missing_type PASSED -test/test_plugin_msteams.py::test_plugin_msteams_templating_json_missing_context PASSED -test/test_plugin_msteams.py::test_plugin_msteams_templating_load_json_failure PASSED -test/test_plugin_msteams.py::test_plugin_msteams_templating_target_success PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_invalid_template_filename PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_token_identifiers PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_no_bullet_under_url_1 PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_dictionary_file PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_no_bullet_under_url_2 PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_combined PASSED -test/test_plugin_msteams.py::test_msteams_yaml_config_token_mismatch PASSED -test/test_plugin_msteams.py::test_plugin_msteams_edge_cases PASSED -test/test_plugin_nextcloud.py::test_plugin_nextcloud_urls PASSED -test/test_plugin_nextcloud.py::test_plugin_nextcloud_edge_cases PASSED -test/test_plugin_nextcloud.py::test_plugin_nextcloud_url_prefix PASSED -test/test_plugin_nextcloudtalk.py::test_plugin_nextcloudtalk_urls PASSED -test/test_plugin_nextcloudtalk.py::test_plugin_nextcloudtalk_edge_cases PASSED -test/test_plugin_nextcloudtalk.py::test_plugin_nextcloud_talk_url_prefix PASSED -test/test_plugin_notica.py::test_plugin_notica_urls PASSED -test/test_plugin_notifiarr.py::test_plugin_notifiarr_urls PASSED -test/test_plugin_notifiarr.py::test_plugin_notifiarr_notifications PASSED -test/test_plugin_notifico.py::test_plugin_notifico_urls PASSED -test/test_plugin_ntfy.py::test_plugin_ntfy_chat_urls PASSED -test/test_plugin_ntfy.py::test_plugin_ntfy_attachments PASSED -test/test_plugin_ntfy.py::test_plugin_custom_ntfy_edge_cases PASSED -test/test_plugin_ntfy.py::test_plugin_ntfy_config_files PASSED -test/test_plugin_ntfy.py::test_plugin_ntfy_internationalized_urls PASSED -test/test_plugin_ntfy.py::test_plugin_ntfy_message_to_attach PASSED -test/test_plugin_office365.py::test_plugin_office365_urls PASSED -test/test_plugin_office365.py::test_plugin_office365_general PASSED -test/test_plugin_office365.py::test_plugin_office365_authentication PASSED -test/test_plugin_office365.py::test_plugin_office365_queries PASSED -test/test_plugin_office365.py::test_plugin_office365_attachments PASSED -test/test_plugin_onesignal.py::test_plugin_onesignal_urls PASSED -test/test_plugin_onesignal.py::test_plugin_onesignal_edge_cases PASSED -test/test_plugin_onesignal.py::test_plugin_onesignal_notifications PASSED -test/test_plugin_opsgenie.py::test_plugin_opsgenie_urls PASSED -test/test_plugin_opsgenie.py::test_plugin_opsgenie_config_files PASSED -test/test_plugin_opsgenie.py::test_plugin_opsgenie_edge_case PASSED -test/test_plugin_pagerduty.py::test_plugin_pagerduty_urls PASSED -test/test_plugin_pagertree.py::test_plugin_pagertree_urls PASSED -test/test_plugin_pagertree.py::test_plugin_pagertree_general PASSED -test/test_plugin_parse_platform.py::test_plugin_parse_platform_urls PASSED -test/test_plugin_plivo.py::test_plugin_plivo_urls PASSED -test/test_plugin_popcorn_notify.py::test_plugin_popcorn_notify_urls PASSED -test/test_plugin_prowl.py::test_plugin_prowl PASSED -test/test_plugin_prowl.py::test_plugin_prowl_edge_cases PASSED -test/test_plugin_prowl.py::test_plugin_prowl_config_files PASSED -test/test_plugin_pushbullet.py::test_plugin_pushbullet_urls PASSED -test/test_plugin_pushbullet.py::test_plugin_pushbullet_attachments PASSED -test/test_plugin_pushbullet.py::test_plugin_pushbullet_edge_cases PASSED -test/test_plugin_pushdeer.py::test_plugin_pushdeer_urls PASSED -test/test_plugin_pushdeer.py::test_plugin_pushdeer_general PASSED -test/test_plugin_pushed.py::test_plugin_pushed_urls PASSED -test/test_plugin_pushed.py::test_plugin_pushed_edge_cases PASSED -test/test_plugin_pushjet.py::test_plugin_pushjet_urls PASSED -test/test_plugin_pushjet.py::test_plugin_pushjet_edge_cases PASSED -test/test_plugin_pushme.py::test_plugin_pushme_urls PASSED -test/test_plugin_pushover.py::test_plugin_pushover_urls PASSED -test/test_plugin_pushover.py::test_plugin_pushover_attachments PASSED -test/test_plugin_pushover.py::test_plugin_pushover_edge_cases PASSED -test/test_plugin_pushover.py::test_plugin_pushover_config_files PASSED -test/test_plugin_pushsafer.py::test_plugin_pushsafer_urls PASSED -test/test_plugin_pushsafer.py::test_plugin_pushsafer_general PASSED -test/test_plugin_pushy.py::test_plugin_pushy_urls PASSED -test/test_plugin_reddit.py::test_plugin_reddit_urls PASSED -test/test_plugin_reddit.py::test_plugin_reddit_general PASSED -test/test_plugin_resend.py::test_plugin_resend_urls PASSED -test/test_plugin_resend.py::test_plugin_resend_edge_cases PASSED -test/test_plugin_resend.py::test_plugin_resend_attachments PASSED -test/test_plugin_revolt.py::test_plugin_revolt_urls PASSED -test/test_plugin_revolt.py::test_plugin_revolt_notifications PASSED -test/test_plugin_revolt.py::test_plugin_revolt_general PASSED -test/test_plugin_revolt.py::test_plugin_revolt_overflow PASSED -test/test_plugin_revolt.py::test_plugin_revolt_markdown_extra PASSED -test/test_plugin_rocket_chat.py::test_plugin_rocket_chat_urls PASSED -test/test_plugin_rocket_chat.py::test_plugin_rocket_chat_edge_cases PASSED -test/test_plugin_rsyslog.py::test_plugin_rsyslog_by_url PASSED -test/test_plugin_rsyslog.py::test_plugin_rsyslog_edge_cases PASSED -test/test_plugin_ryver.py::test_plugin_ryver_urls PASSED -test/test_plugin_ryver.py::test_plugin_ryver_edge_cases PASSED -test/test_plugin_sendgrid.py::test_plugin_sendgrid_urls PASSED -test/test_plugin_sendgrid.py::test_plugin_sendgrid_edge_cases PASSED -test/test_plugin_sendgrid.py::test_plugin_sendgrid_attachments PASSED -test/test_plugin_serverchan.py::test_plugin_serverchan_urls PASSED -test/test_plugin_ses.py::test_plugin_ses_urls PASSED -test/test_plugin_ses.py::test_plugin_ses_edge_cases PASSED -test/test_plugin_ses.py::test_plugin_ses_url_parsing PASSED -test/test_plugin_ses.py::test_plugin_ses_aws_response_handling PASSED -test/test_plugin_ses.py::test_plugin_ses_attachments PASSED -test/test_plugin_seven.py::test_plugin_seven_urls PASSED -test/test_plugin_seven.py::test_plugin_seven_edge_cases PASSED -test/test_plugin_sfr.py::test_plugin_sfr_urls PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_ok PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_multiple_targets_ok PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_ko PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_multiple_targets_all_ko PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_multiple_targets_one_ko PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_exceptions PASSED -test/test_plugin_sfr.py::test_plugin_sfr_notification_exceptions_requests PASSED -test/test_plugin_sfr.py::test_plugin_sfr_failure PASSED -test/test_plugin_signal.py::test_plugin_signal_urls PASSED -test/test_plugin_signal.py::test_plugin_signal_edge_cases PASSED -test/test_plugin_signal.py::test_plugin_signal_yaml_config PASSED -test/test_plugin_signal.py::test_plugin_signal_based_on_feedback PASSED -test/test_plugin_signal.py::test_notify_signal_plugin_attachments PASSED -test/test_plugin_simplepush.py::test_plugin_simplepush_urls PASSED -test/test_plugin_simplepush.py::test_plugin_fcm_cryptography_import_error SKIPPED -test/test_plugin_simplepush.py::test_plugin_simplepush_edge_cases PASSED -test/test_plugin_simplepush.py::test_plugin_simplepush_general PASSED -test/test_plugin_sinch.py::test_plugin_sinch_urls PASSED -test/test_plugin_sinch.py::test_plugin_sinch_edge_cases PASSED -test/test_plugin_slack.py::test_plugin_slack_urls PASSED -test/test_plugin_slack.py::test_plugin_slack_oauth_access_token PASSED -test/test_plugin_slack.py::test_plugin_slack_webhook_mode PASSED -test/test_plugin_slack.py::test_plugin_slack_send_by_email PASSED -test/test_plugin_slack.py::test_plugin_slack_markdown PASSED -test/test_plugin_slack.py::test_plugin_slack_single_thread_reply PASSED -test/test_plugin_slack.py::test_plugin_slack_multiple_thread_reply PASSED -test/test_plugin_sms_manager.py::test_plugin_smsmgr_urls PASSED -test/test_plugin_sms_manager.py::test_plugin_smsmgr_edge_cases PASSED -test/test_plugin_smseagle.py::test_plugin_smseagle_urls PASSED -test/test_plugin_smseagle.py::test_plugin_smseagle_edge_cases PASSED -test/test_plugin_smseagle.py::test_plugin_smseagle_result_set PASSED -test/test_plugin_smseagle.py::test_notify_smseagle_plugin_result_list PASSED -test/test_plugin_smseagle.py::test_notify_smseagle_plugin_attachments PASSED -test/test_plugin_smtp2go.py::test_plugin_smtp2go_urls PASSED -test/test_plugin_smtp2go.py::test_plugin_smtp2go_attachments PASSED -test/test_plugin_sns.py::test_plugin_sns_urls PASSED -test/test_plugin_sns.py::test_plugin_sns_edge_cases PASSED -test/test_plugin_sns.py::test_plugin_sns_url_parsing PASSED -test/test_plugin_sns.py::test_plugin_sns_object_parsing PASSED -test/test_plugin_sns.py::test_plugin_sns_aws_response_handling PASSED -test/test_plugin_sns.py::test_plugin_sns_aws_topic_handling PASSED -test/test_plugin_sparkpost.py::test_plugin_sparkpost_urls PASSED -test/test_plugin_sparkpost.py::test_plugin_sparkpost_throttling PASSED -test/test_plugin_sparkpost.py::test_plugin_sparkpost_attachments PASSED -test/test_plugin_splunk.py::test_plugin_splunk_urls PASSED -test/test_plugin_streamlabs.py::test_plugin_streamlabs_urls PASSED -test/test_plugin_synology.py::test_plugin_custom_synology_urls PASSED -test/test_plugin_synology.py::test_plugin_synology_edge_cases PASSED -test/test_plugin_techululs_push.py::test_plugin_techulus_push_urls PASSED -test/test_plugin_telegram.py::test_plugin_telegram_urls PASSED -test/test_plugin_telegram.py::test_plugin_telegram_general PASSED -test/test_plugin_telegram.py::test_plugin_telegram_formatting PASSED -test/test_plugin_telegram.py::test_plugin_telegram_html_formatting PASSED -test/test_plugin_telegram.py::test_plugin_telegram_threads PASSED -test/test_plugin_telegram.py::test_plugin_telegram_markdown_v2 PASSED -test/test_plugin_threema.py::test_plugin_threema PASSED -test/test_plugin_threema.py::test_plugin_threema_edge_cases PASSED -test/test_plugin_title_maxlen.py::test_plugin_title_maxlen PASSED -test/test_plugin_twilio.py::test_plugin_twilio_urls PASSED -test/test_plugin_twilio.py::test_plugin_twilio_auth PASSED -test/test_plugin_twilio.py::test_plugin_twilio_edge_cases PASSED -test/test_plugin_twist.py::test_plugin_twist_urls PASSED -test/test_plugin_twist.py::test_plugin_twist_init PASSED -test/test_plugin_twist.py::test_plugin_twist_auth PASSED -test/test_plugin_twist.py::test_plugin_twist_cache PASSED -test/test_plugin_twist.py::test_plugin_twist_fetch PASSED -test/test_plugin_twitter.py::test_plugin_twitter_urls PASSED -test/test_plugin_twitter.py::test_plugin_twitter_general PASSED -test/test_plugin_twitter.py::test_plugin_twitter_edge_cases PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_caching PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_attachments_basic PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_attachments_message_fails PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_attachments_upload_fails PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_attachments_invalid_attachment PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_attachments_multiple PASSED -test/test_plugin_twitter.py::test_plugin_twitter_dm_attachments_multiple_oserror PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_basic PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_more_logging PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_bad_message_response PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_bad_message_response_unparseable PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_upload_fails PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_invalid_attachment PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_multiple_batch PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_multiple_nobatch PASSED -test/test_plugin_twitter.py::test_plugin_twitter_tweet_attachments_multiple_oserror PASSED -test/test_plugin_voipms.py::test_plugin_voipms PASSED -test/test_plugin_voipms.py::test_plugin_voipms_edge_cases PASSED -test/test_plugin_voipms.py::test_plugin_voipms_non_success_status PASSED -test/test_plugin_vonage.py::test_plugin_vonage_urls PASSED -test/test_plugin_vonage.py::test_plugin_vonage_edge_cases PASSED -test/test_plugin_webex_teams.py::test_plugin_webex_teams_urls PASSED -test/test_plugin_wecombot.py::test_plugin_wecombot_urls PASSED -test/test_plugin_whatsapp.py::test_plugin_whatsapp_urls PASSED -test/test_plugin_whatsapp.py::test_plugin_whatsapp_auth PASSED -test/test_plugin_whatsapp.py::test_plugin_whatsapp_edge_cases PASSED -test/test_plugin_windows.py::test_plugin_windows_mocked PASSED -test/test_plugin_windows.py::test_plugin_windows_native SKIPPED (Req...) -test/test_plugin_workflows.py::test_plugin_workflows_urls PASSED -test/test_plugin_workflows.py::test_plugin_workflows_templating_basic_success PASSED -test/test_plugin_workflows.py::test_plugin_workflows_templating_invalid_json PASSED -test/test_plugin_workflows.py::test_plugin_workflows_templating_load_json_failure PASSED -test/test_plugin_workflows.py::test_plugin_workflows_templating_target_success PASSED -test/test_plugin_workflows.py::test_workflows_yaml_config_missing_template_filename PASSED -test/test_plugin_workflows.py::test_plugin_workflows_edge_cases PASSED -test/test_plugin_workflows.py::test_plugin_workflows_azure_webhooks PASSED -test/test_plugin_wxpusher.py::test_plugin_wxpusher_urls PASSED -test/test_plugin_wxpusher.py::test_plugin_wxpusher_edge_cases PASSED -test/test_plugin_wxpusher.py::test_plugin_wxpusher_result_set PASSED -test/test_plugin_wxpusher.py::test_notify_wxpusher_plugin_result_list PASSED -test/test_plugin_xbmc_kodi.py::test_plugin_xbmc_kodi_urls PASSED -test/test_plugin_zulip.py::test_plugin_zulip_urls PASSED -test/test_plugin_zulip.py::test_plugin_zulip_edge_cases PASSED -test/test_rest_plugins.py::test_notify_overflow_truncate_with_amalgamation PASSED -test/test_rest_plugins.py::test_notify_overflow_truncate_no_amalgamation PASSED -test/test_rest_plugins.py::test_notify_overflow_split_with_amalgamation PASSED -test/test_rest_plugins.py::test_notify_overflow_split_with_amalgamation_force_title_always PASSED -test/test_rest_plugins.py::test_notify_overflow_split_with_amalgamation_force_title_once PASSED -test/test_rest_plugins.py::test_notify_overflow_split_no_amalgamation PASSED -test/test_rest_plugins.py::test_notify_overflow_split_no_amalgamation_force_title_always PASSED -test/test_rest_plugins.py::test_notify_overflow_split_no_amalgamation_force_title_once PASSED -test/test_rest_plugins.py::test_notify_markdown_general PASSED -test/test_rest_plugins.py::test_notify_emoji_general PASSED - -=========================== short test summary info ============================ -SKIPPED [1] test/test_plugin_dbus.py:48: Skipping dbus-python based tests -SKIPPED [1] test/test_plugin_syslog.py:42: Skipping syslog based tests -SKIPPED [1] test/test_asyncio.py:44: Requires Python 3.0 to 3.6 -SKIPPED [1] test/test_plugin_email.py:2061: Requires PGPy -SKIPPED [1] test/test_plugin_email.py:2396: Requires PGPy -SKIPPED [1] test/test_plugin_email.py:2420: Requires PGPy -SKIPPED [1] test/test_plugin_fcm.py:905: Requires that cryptography NOT be installed -SKIPPED [1] test/test_plugin_growl.py:73: Requires gntp -SKIPPED [1] test/test_plugin_growl.py:131: Requires gntp -SKIPPED [1] test/test_plugin_growl.py:330: Requires gntp -SKIPPED [1] test/test_plugin_mqtt.py:86: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:129: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:163: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:182: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:198: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:218: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:226: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:236: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:268: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:291: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:309: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:327: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:344: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:359: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:375: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:391: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:411: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_mqtt.py:431: Requires that `paho-mqtt` is installed -SKIPPED [1] test/test_plugin_simplepush.py:120: Requires that cryptography NOT be installed -SKIPPED [1] test/test_plugin_windows.py:196: Requires win32api, win32con, and win32gui -========== 500 passed, 30 skipped, 25 deselected in 207.39s (0:03:27) ========== -Exception ignored in: -Traceback (most recent call last): - File "/build/reproducible-path/apprise-1.9.3/apprise/persistent_store.py", line 1452, in __del__ - File "/build/reproducible-path/apprise-1.9.3/apprise/persistent_store.py", line 1120, in flush - File "/usr/lib/python3.13/gzip.py", line 66, in open - File "/usr/lib/python3.13/gzip.py", line 203, in __init__ -AttributeError: module 'builtins' has no attribute 'open' -make[1]: Leaving directory '/build/reproducible-path/apprise-1.9.3' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild @@ -1980,6 +1430,7 @@ writing manifest file 'apprise.egg-info/SOURCES.txt' reading manifest file 'apprise.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' +warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files matching '__pycache__' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'apprise.egg-info/SOURCES.txt' @@ -2011,12 +1462,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/735497/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/3860414 and its subdirectories -I: Current time: Sat Dec 26 16:57:49 -12 2026 -I: pbuilder-time-stamp: 1798347469 +I: removing directory /srv/workspace/pbuilder/735497 and its subdirectories +I: Current time: Mon Nov 24 12:35:45 +14 2025 +I: pbuilder-time-stamp: 1763937345