>>> ddclient: Building community/ddclient 4.0.0-r0 (using abuild 3.14.1-r6) started Thu, 13 Feb 2025 09:48:47 +0000 >>> ddclient: Validating /home/buildozer/aports/community/ddclient/APKBUILD... >>> ddclient: Analyzing dependencies... >>> ddclient: Installing for build: build-base curl net-tools perl perl-digest-sha1 autoconf automake perl-sub-identify perl-test-mockmodule perl-test-warnings perl-http-daemon perl-http-request-ascgi perl-http-message perl-plack (1/46) Installing mii-tool (2.10-r3) (2/46) Installing net-tools (2.10-r3) (3/46) Installing perl (5.40.1-r0) (4/46) Installing perl-digest-sha1 (2.13-r19) (5/46) Installing m4 (1.4.19-r3) (6/46) Installing autoconf (2.72-r0) (7/46) Installing automake (1.17-r0) (8/46) Installing perl-sub-identify (0.14-r11) (9/46) Installing perl-super (1.20190531-r3) (10/46) Installing perl-test-mockmodule (0.179.0-r0) (11/46) Installing perl-test-warnings (0.038-r0) (12/46) Installing perl-http-date (6.06-r0) (13/46) Installing perl-clone (0.47-r0) (14/46) Installing perl-uri (5.28-r0) (15/46) Installing perl-io-html (1.004-r1) (16/46) Installing perl-encode-locale (1.05-r5) (17/46) Installing perl-lwp-mediatypes (6.04-r3) (18/46) Installing perl-http-message (7.00-r0) (19/46) Installing perl-http-daemon (6.16-r2) (20/46) Installing perl-class-accessor (0.51-r4) (21/46) Installing perl-http-request-ascgi (1.2-r0) (22/46) Installing perl-class-inspector (1.36-r3) (23/46) Installing perl-file-sharedir (1.118-r1) (24/46) Installing perl-filesys-notify-simple (0.14-r2) (25/46) Installing perl-stream-buffered (0.03-r5) (26/46) Installing perl-devel-stacktrace (2.05-r0) (27/46) Installing perl-devel-stacktrace-ashtml (0.15-r4) (28/46) Installing perl-test-requires (0.11-r3) (29/46) Installing perl-test-sharedfork (0.35-r3) (30/46) Installing perl-test-tcp (2.22-r3) (31/46) Installing perl-try-tiny (0.32-r0) (32/46) Installing tzdata (2025a-r0) (33/46) Installing perl-posix-strftime-compiler (0.46-r0) (34/46) Installing perl-apache-logformat-compiler (0.36-r3) (35/46) Installing perl-hash-multivalue (0.16-r4) (36/46) Installing perl-cookie-baker (0.12-r0) (37/46) Installing perl-www-form-urlencoded (0.26-r3) (38/46) Installing perl-http-multipartparser (0.02-r3) (39/46) Installing perl-json-maybexs (1.004008-r0) (40/46) Installing perl-http-entity-parser (0.25-r2) (41/46) Installing perl-http-headers-fast (0.22-r2) (42/46) Installing perl-plack (1.0051-r0) (43/46) Installing .makedepends-ddclient (20250213.094848) (44/46) Installing perl-error (0.17029-r2) (45/46) Installing perl-git (2.48.1-r0) (46/46) Installing git-perl (2.48.1-r0) Executing busybox-1.37.0-r14.trigger OK: 325 MiB in 155 packages >>> ddclient: Cleaning up srcdir >>> ddclient: Cleaning up pkgdir >>> ddclient: Cleaning up tmpdir >>> ddclient: Fetching https://distfiles.alpinelinux.org/distfiles/edge/ddclient-4.0.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> ddclient: Fetching ddclient-4.0.0.tar.gz::https://github.com/ddclient/ddclient/archive/v4.0.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 69637 0 69637 0 0 38391 0 --:--:-- 0:00:01 --:--:-- 38391 100 294k 0 294k 0 0 129k 0 --:--:-- 0:00:02 --:--:-- 496k >>> ddclient: Fetching https://distfiles.alpinelinux.org/distfiles/edge/ddclient-4.0.0.tar.gz >>> ddclient: Checking sha512sums... ddclient-4.0.0.tar.gz: OK ddclient.initd: OK no-automake-errors.patch: OK >>> ddclient: Unpacking /var/cache/distfiles/ddclient-4.0.0.tar.gz... >>> ddclient: no-automake-errors.patch patching file configure.ac Hunk #1 succeeded at 20 with fuzz 1 (offset 9 lines). autoreconf: export WARNINGS=all autoreconf: Entering directory '.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I build-aux/m4 autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: configure.ac: not using Intltool autoreconf: configure.ac: not using Gtkdoc autoreconf: running: /usr/bin/autoconf --force autoreconf: configure.ac: not using Autoheader autoreconf: running: automake --add-missing --copy --force-missing configure.ac:23: installing 'build-aux/install-sh' configure.ac:23: installing 'build-aux/missing' configure.ac:15: installing 'build-aux/tap-driver.sh' autoreconf: Leaving directory '.' checking for a BSD-compatible install... /usr/bin/install -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 2 checking whether build environment is sane... yes checking for a race-free mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking for find... /usr/bin/find checking for curl... /usr/bin/curl checking whether perl executable path has been provided... no checking for perl... /usr/bin/perl checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for perl version... 5.40.1 checking for perl module Data::Dumper... ok checking for perl module File::Basename... ok checking for perl module File::Path... ok checking for perl module File::Temp... ok checking for perl module Getopt::Long... ok checking for perl module Socket... ok checking for perl module Sys::Hostname... ok checking for perl module version 0.77... ok checking for perl module B... ok checking for perl module Exporter... ok checking for perl module File::Spec::Functions... ok checking for perl module File::Temp... ok checking for perl module List::Util... ok checking for perl module Scalar::Util... ok checking for perl module re... ok checking for perl module Carp... ok checking for perl module HTTP::Daemon 6.12... ok checking for perl module HTTP::Daemon::SSL... no configure: WARNING: some tests may be skipped due to missing module HTTP::Daemon::SSL checking for perl module HTTP::Message::PSGI... ok checking for perl module HTTP::Request... ok checking for perl module HTTP::Response... ok checking for perl module JSON::PP... ok checking for perl module Test::MockModule... ok checking for perl module Test::TCP... ok checking for perl module Test::Warnings... ok checking for perl module Time::HiRes... ok checking for perl module URI... ok checking for perl module parent... ok checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating t/version.pl rm -f 'ddclient' 'ddclient'.tmp rm -f 'ddclient.conf' 'ddclient.conf'.tmp in='ddclient'.in; \ test -f "${in}" || in='./'${in}; \ sed \ -e 's|@PACKAGE_VERSION[@]|4.0.0|g' \ -e '1 s|^#\!.*perl$|#\!/usr/bin/perl|g' \ -e 's|@localstatedir[@]|/var|g' \ -e 's|@confdir[@]|/etc/ddclient/ddclient|g' \ -e 's|@runstatedir[@]|/run/ddclient|g' \ -e 's|@CURL[@]|/usr/bin/curl|g' \ "${in}" >'ddclient'.tmp && \ { ! test -x "${in}" || chmod +x 'ddclient'.tmp; } in='ddclient.conf'.in; \ test -f "${in}" || in='./'${in}; \ sed \ -e 's|@PACKAGE_VERSION[@]|4.0.0|g' \ -e '1 s|^#\!.*perl$|#\!/usr/bin/perl|g' \ -e 's|@localstatedir[@]|/var|g' \ -e 's|@confdir[@]|/etc/ddclient/ddclient|g' \ -e 's|@runstatedir[@]|/run/ddclient|g' \ -e 's|@CURL[@]|/usr/bin/curl|g' \ "${in}" >'ddclient.conf'.tmp && \ { ! test -x "${in}" || chmod +x 'ddclient.conf'.tmp; } mv 'ddclient.conf'.tmp 'ddclient.conf' mv 'ddclient'.tmp 'ddclient' make check-TESTS make[1]: Entering directory '/home/buildozer/aports/community/ddclient/src/ddclient-4.0.0' make[2]: Entering directory '/home/buildozer/aports/community/ddclient/src/ddclient-4.0.0' cd . && /bin/sh ./config.status t/version.pl config.status: creating t/version.pl PASS: t/builtinfw_query.pl 1 - query PASS: t/builtinfw_query.pl 2 - queryv4 PASS: t/builtinfw_query.pl 3 - queryv4 with fw-skip fallback PASS: t/builtinfw_query.pl 4 - queryv6 PASS: t/builtinfw_query.pl 5 - queryv6 ignores fw-skip PASS: t/builtinfw_query.pl 6 - use with default inputs PASS: t/builtinfw_query.pl 7 - usev4 with default inputs PASS: t/builtinfw_query.pl 8 - usev6 with default inputs PASS: t/builtinfw_query.pl 9 - use with custom inputs PASS: t/builtinfw_query.pl 10 - usev4 with custom inputs PASS: t/builtinfw_query.pl 11 - usev6 with custom inputs PASS: t/builtinfw_query.pl 12 - no (unexpected) warnings (via done_testing) PASS: t/get_ip_from_if.pl 1 - get_default_interface tests PASS: t/check_value.pl 1 - fully qualified host name: example.com: validity PASS: t/check_value.pl 2 - fully qualified host name: example.com: normalization PASS: t/check_value.pl 3 - fully qualified host name: example: validity PASS: t/check_value.pl 4 - url including fully qualified host name, optional port number, and path: https://www.example.com: validity PASS: t/check_value.pl 5 - url including fully qualified host name, optional port number, and path: https://www.example.com: normalization PASS: t/check_value.pl 6 - url including fully qualified host name, optional port number, and path: https://directnic.com/dns/gateway/ad133/: validity PASS: t/check_value.pl 7 - url including fully qualified host name, optional port number, and path: https://directnic.com/dns/gateway/ad133/: normalization PASS: t/check_value.pl 8 - url including fully qualified host name, optional port number, and path: HTTPS://MixedCase.com/: validity PASS: t/check_value.pl 9 - url including fully qualified host name, optional port number, and path: HTTPS://MixedCase.com/: normalization PASS: t/check_value.pl 10 - url including fully qualified host name, optional port number, and path: ftp://bad.protocol/: validity PASS: t/check_value.pl 11 - url including fully qualified host name, optional port number, and path: bad-url: validity PASS: t/check_value.pl 12 - no (unexpected) warnings (via done_testing) PASS: t/get_ip_from_if.pl 2 - get_ip_from_interface tests PASS: t/get_ip_from_if.pl 3 - Get default interface and IP for test system (IPv4) PASS: t/is-and-extract-ipv6.pl 1 - is_ipv6() with valid addresses SKIP: t/get_ip_from_if.pl 4 # SKIP no IPv6 interface PASS: t/get_ip_from_if.pl 5 - no (unexpected) warnings (via done_testing) PASS: t/write_recap.pl 1 - create cache file PASS: t/write_recap.pl 2 - overwrite cache file PASS: t/write_recap.pl 3 - bad directory PASS: t/write_recap.pl 4 - bad file PASS: t/variable_defaults.pl 1 - 'dyndns-common-defaults backupmx' default() return value matches default PASS: t/variable_defaults.pl 2 - 'dyndns-common-defaults backupmx' (optional) has a valid default PASS: t/write_recap.pl 5 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 3 - 'dyndns-common-defaults backupmx' default normalizes to itself PASS: t/variable_defaults.pl 4 - 'dyndns-common-defaults mx' default() return value matches default PASS: t/variable_defaults.pl 5 - 'dyndns-common-defaults mx' (optional) has a valid default PASS: t/variable_defaults.pl 6 - 'dyndns-common-defaults mx' default normalizes to itself PASS: t/variable_defaults.pl 7 - 'dyndns-common-defaults wildcard' default() return value matches default PASS: t/variable_defaults.pl 8 - 'dyndns-common-defaults wildcard' (optional) has a valid default PASS: t/variable_defaults.pl 9 - 'dyndns-common-defaults wildcard' default normalizes to itself PASS: t/variable_defaults.pl 10 - 'global-defaults cache' default() return value matches default PASS: t/variable_defaults.pl 11 - 'global-defaults cache' (optional) has a valid default PASS: t/variable_defaults.pl 12 - 'global-defaults cache' default normalizes to itself PASS: t/variable_defaults.pl 13 - 'global-defaults daemon' default() return value matches default PASS: t/variable_defaults.pl 14 - 'global-defaults daemon' (optional) has a valid default PASS: t/variable_defaults.pl 15 - 'global-defaults daemon' default normalizes to itself PASS: t/variable_defaults.pl 16 - 'global-defaults debug' default() return value matches default PASS: t/variable_defaults.pl 17 - 'global-defaults debug' (optional) has a valid default PASS: t/variable_defaults.pl 18 - 'global-defaults debug' default normalizes to itself PASS: t/variable_defaults.pl 19 - 'global-defaults exec' default() return value matches default PASS: t/is-and-extract-ipv4.pl 1 - is_ipv4() with valid addresses PASS: t/variable_defaults.pl 20 - 'global-defaults exec' (optional) has a valid default PASS: t/variable_defaults.pl 21 - 'global-defaults exec' default normalizes to itself PASS: t/variable_defaults.pl 22 - 'global-defaults facility' default() return value matches default PASS: t/variable_defaults.pl 23 - 'global-defaults facility' (optional) has a valid default PASS: t/variable_defaults.pl 24 - 'global-defaults facility' default normalizes to itself PASS: t/variable_defaults.pl 25 - 'global-defaults file' default() return value matches default PASS: t/is-and-extract-ipv4.pl 2 - is_ipv4() with invalid addresses PASS: t/variable_defaults.pl 26 - 'global-defaults file' (optional) has a valid default PASS: t/variable_defaults.pl 27 - 'global-defaults file' default normalizes to itself PASS: t/variable_defaults.pl 28 - 'global-defaults force' default() return value matches default PASS: t/variable_defaults.pl 29 - 'global-defaults force' (optional) has a valid default PASS: t/variable_defaults.pl 30 - 'global-defaults force' default normalizes to itself PASS: t/variable_defaults.pl 31 - 'global-defaults foreground' default() return value matches default PASS: t/variable_defaults.pl 32 - 'global-defaults foreground' (optional) has a valid default PASS: t/variable_defaults.pl 33 - 'global-defaults foreground' default normalizes to itself PASS: t/variable_defaults.pl 34 - 'global-defaults mail' default() return value matches default PASS: t/variable_defaults.pl 35 - 'global-defaults mail' (optional) has a valid default PASS: t/variable_defaults.pl 36 - 'global-defaults mail' default normalizes to itself PASS: t/variable_defaults.pl 37 - 'global-defaults mail-failure' default() return value matches default PASS: t/variable_defaults.pl 38 - 'global-defaults mail-failure' (optional) has a valid default PASS: t/variable_defaults.pl 39 - 'global-defaults mail-failure' default normalizes to itself PASS: t/parse_assignments.pl 1 - no assignments PASS: t/variable_defaults.pl 40 - 'global-defaults mail-from' default() return value matches default PASS: t/group_hosts_by.pl 1 - empty attribute set yields single group with all hosts PASS: t/variable_defaults.pl 41 - 'global-defaults mail-from' (optional) has a valid default PASS: t/variable_defaults.pl 42 - 'global-defaults mail-from' default normalizes to itself PASS: t/variable_defaults.pl 43 - 'global-defaults max-warn' default() return value matches default PASS: t/group_hosts_by.pl 2 - common attribute yields single group with all hosts PASS: t/variable_defaults.pl 44 - 'global-defaults max-warn' (optional) has a valid default PASS: t/variable_defaults.pl 45 - 'global-defaults max-warn' default normalizes to itself PASS: t/parse_assignments.pl 2 - one assignment PASS: t/variable_defaults.pl 46 - 'global-defaults pid' default() return value matches default PASS: t/variable_defaults.pl 47 - 'global-defaults pid' (optional) has a valid default PASS: t/group_hosts_by.pl 3 - subset share a value PASS: t/variable_defaults.pl 48 - 'global-defaults pid' default normalizes to itself PASS: t/variable_defaults.pl 49 - 'global-defaults postscript' default() return value matches default PASS: t/variable_defaults.pl 50 - 'global-defaults postscript' (optional) has a valid default PASS: t/variable_defaults.pl 51 - 'global-defaults postscript' default normalizes to itself PASS: t/parse_assignments.pl 3 - empty value PASS: t/group_hosts_by.pl 4 - all unique PASS: t/variable_defaults.pl 52 - 'global-defaults priority' default() return value matches default PASS: t/variable_defaults.pl 53 - 'global-defaults priority' (optional) has a valid default PASS: t/variable_defaults.pl 54 - 'global-defaults priority' default normalizes to itself PASS: t/variable_defaults.pl 55 - 'global-defaults protocol' default() return value matches default PASS: t/variable_defaults.pl 56 - 'global-defaults protocol' (optional) has a valid default PASS: t/group_hosts_by.pl 5 - combination PASS: t/variable_defaults.pl 57 - 'global-defaults protocol' default normalizes to itself PASS: t/parse_assignments.pl 4 - sep: comma PASS: t/variable_defaults.pl 58 - 'global-defaults proxy' default() return value matches default PASS: t/variable_defaults.pl 59 - 'global-defaults proxy' (optional) has a valid default PASS: t/group_hosts_by.pl 6 - falsy values PASS: t/variable_defaults.pl 60 - 'global-defaults proxy' default normalizes to itself PASS: t/variable_defaults.pl 61 - 'global-defaults quiet' default() return value matches default PASS: t/variable_defaults.pl 62 - 'global-defaults quiet' (optional) has a valid default PASS: t/group_hosts_by.pl 7 - set, unset, undef PASS: t/parse_assignments.pl 5 - sep: space PASS: t/variable_defaults.pl 63 - 'global-defaults quiet' default normalizes to itself PASS: t/group_hosts_by.pl 8 - missing attribute PASS: t/variable_defaults.pl 64 - 'global-defaults redirect' default() return value matches default PASS: t/variable_defaults.pl 65 - 'global-defaults redirect' (optional) has a valid default PASS: t/group_hosts_by.pl 9 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 66 - 'global-defaults redirect' default normalizes to itself PASS: t/variable_defaults.pl 67 - 'global-defaults ssl' default() return value matches default PASS: t/variable_defaults.pl 68 - 'global-defaults ssl' (optional) has a valid default PASS: t/parse_assignments.pl 6 - sep: comma space PASS: t/variable_defaults.pl 69 - 'global-defaults ssl' default normalizes to itself PASS: t/variable_defaults.pl 70 - 'global-defaults ssl_ca_dir' default() return value matches default PASS: t/variable_defaults.pl 71 - 'global-defaults ssl_ca_dir' (optional) has a valid default PASS: t/variable_defaults.pl 72 - 'global-defaults ssl_ca_dir' default normalizes to itself PASS: t/variable_defaults.pl 73 - 'global-defaults ssl_ca_file' default() return value matches default PASS: t/variable_defaults.pl 74 - 'global-defaults ssl_ca_file' (optional) has a valid default PASS: t/variable_defaults.pl 75 - 'global-defaults ssl_ca_file' default normalizes to itself PASS: t/parse_assignments.pl 7 - sep: space comma PASS: t/variable_defaults.pl 76 - 'global-defaults syslog' default() return value matches default PASS: t/read_recap.pl 1 - ok value: %recap PASS: t/variable_defaults.pl 77 - 'global-defaults syslog' (optional) has a valid default PASS: t/interval_expired.pl 1 - now=1000000000, cache=undef, interval=inf PASS: t/interval_expired.pl 2 - now=inf, cache=undef, interval=inf PASS: t/variable_defaults.pl 78 - 'global-defaults syslog' default normalizes to itself PASS: t/interval_expired.pl 3 - now=1000000000, cache=-Inf, interval=inf PASS: t/read_recap.pl 2 - ok value: %config PASS: t/variable_defaults.pl 79 - 'global-defaults test' default() return value matches default PASS: t/interval_expired.pl 4 - now=1000000000, cache=undef, interval=inf PASS: t/variable_defaults.pl 80 - 'global-defaults test' (optional) has a valid default PASS: t/read_recap.pl 3 - unknown host: %recap PASS: t/interval_expired.pl 5 - now=0, cache=0, interval=inf PASS: t/parse_assignments.pl 8 - sep: space comma space PASS: t/variable_defaults.pl 81 - 'global-defaults test' default normalizes to itself PASS: t/variable_defaults.pl 82 - 'global-defaults timeout' default() return value matches default PASS: t/interval_expired.pl 6 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 83 - 'global-defaults timeout' (optional) has a valid default PASS: t/read_recap.pl 4 - unknown host: %config PASS: t/variable_defaults.pl 84 - 'global-defaults timeout' default normalizes to itself PASS: t/read_recap.pl 5 - unknown var: %recap PASS: t/variable_defaults.pl 85 - 'global-defaults verbose' default() return value matches default PASS: t/variable_defaults.pl 86 - 'global-defaults verbose' (optional) has a valid default PASS: t/parse_assignments.pl 9 - leading space PASS: t/variable_defaults.pl 87 - 'global-defaults verbose' default normalizes to itself PASS: t/variable_defaults.pl 88 - 'protocol-common-defaults cmd' default() return value matches default PASS: t/read_recap.pl 6 - unknown var: %config PASS: t/variable_defaults.pl 89 - 'protocol-common-defaults cmd' (optional) has a valid default PASS: t/read_recap.pl 7 - invalid value: %recap PASS: t/use_cmd.pl 1 - use=cmd cmd="echo '192.0.2.1'" PASS: t/variable_defaults.pl 90 - 'protocol-common-defaults cmd' default normalizes to itself PASS: t/variable_defaults.pl 91 - 'protocol-common-defaults cmd-skip' default() return value matches default PASS: t/variable_defaults.pl 92 - 'protocol-common-defaults cmd-skip' (optional) has a valid default PASS: t/variable_defaults.pl 93 - 'protocol-common-defaults cmd-skip' default normalizes to itself PASS: t/parse_assignments.pl 10 - trailing space PASS: t/variable_defaults.pl 94 - 'protocol-common-defaults cmdv4' default() return value matches default PASS: t/read_recap.pl 8 - invalid value: %config PASS: t/variable_defaults.pl 95 - 'protocol-common-defaults cmdv4' (optional) has a valid default PASS: t/read_recap.pl 9 - multiple entries: %recap PASS: t/variable_defaults.pl 96 - 'protocol-common-defaults cmdv4' default normalizes to itself PASS: t/use_cmd.pl 2 - usev4=cmdv4 cmdv4="echo '192.0.2.1'" PASS: t/variable_defaults.pl 97 - 'protocol-common-defaults cmdv6' default() return value matches default PASS: t/variable_defaults.pl 98 - 'protocol-common-defaults cmdv6' (optional) has a valid default PASS: t/logmsg.pl 1 - adds a newline PASS: t/variable_defaults.pl 99 - 'protocol-common-defaults cmdv6' default normalizes to itself PASS: t/read_recap.pl 10 - multiple entries: %config PASS: t/variable_defaults.pl 100 - 'protocol-common-defaults fw' default() return value matches default PASS: t/parse_assignments.pl 11 - leading comma PASS: t/variable_defaults.pl 101 - 'protocol-common-defaults fw' (optional) has a valid default PASS: t/read_recap.pl 11 - non-recap vars are not loaded to %recap: %recap PASS: t/variable_defaults.pl 102 - 'protocol-common-defaults fw' default normalizes to itself PASS: t/variable_defaults.pl 103 - 'protocol-common-defaults fw-login' default() return value matches default PASS: t/variable_defaults.pl 104 - 'protocol-common-defaults fw-login' (optional) has a valid default PASS: t/use_cmd.pl 3 - use=cmd cmd="echo '2001:db8::1'" PASS: t/is-and-extract-ipv6-global.pl 1 - is_ipv6_global() with valid but non-globally-routable addresses PASS: t/logmsg.pl 2 - removes one trailing newline (before adding a newline) PASS: t/variable_defaults.pl 105 - 'protocol-common-defaults fw-login' default normalizes to itself PASS: t/read_recap.pl 12 - non-recap vars are not loaded to %recap: %config PASS: t/variable_defaults.pl 106 - 'protocol-common-defaults fw-password' default() return value matches default PASS: t/variable_defaults.pl 107 - 'protocol-common-defaults fw-password' (optional) has a valid default PASS: t/parse_assignments.pl 12 - trailing comma PASS: t/read_recap.pl 13 - non-recap vars are scrubbed from %recap: %recap PASS: t/variable_defaults.pl 108 - 'protocol-common-defaults fw-password' default normalizes to itself PASS: t/variable_defaults.pl 109 - 'protocol-common-defaults fw-skip' default() return value matches default PASS: t/variable_defaults.pl 110 - 'protocol-common-defaults fw-skip' (optional) has a valid default PASS: t/use_cmd.pl 4 - usev6=cmd cmd="echo '2001:db8::1'" PASS: t/read_recap.pl 14 - non-recap vars are scrubbed from %recap: %config PASS: t/logmsg.pl 3 - accepts msg keyword parameter PASS: t/variable_defaults.pl 111 - 'protocol-common-defaults fw-skip' default normalizes to itself PASS: t/use_cmd.pl 5 - usev6=cmdv6 cmdv6="echo '2001:db8::1'" PASS: t/variable_defaults.pl 112 - 'protocol-common-defaults fw-ssl-validate' default() return value matches default PASS: t/read_recap.pl 15 - unknown hosts are scrubbed from %recap: %recap PASS: t/use_cmd.pl 6 - no (unexpected) warnings (via done_testing) PASS: t/is-and-extract-ipv6-global.pl 2 - is_ipv6_global() with valid, globally routable addresses PASS: t/variable_defaults.pl 113 - 'protocol-common-defaults fw-ssl-validate' (optional) has a valid default PASS: t/parse_assignments.pl 13 - empty assignment PASS: t/read_recap.pl 16 - unknown hosts are scrubbed from %recap: %config PASS: t/variable_defaults.pl 114 - 'protocol-common-defaults fw-ssl-validate' default normalizes to itself PASS: t/read_recap.pl 17 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 115 - 'protocol-common-defaults fwv4' default() return value matches default PASS: t/variable_defaults.pl 116 - 'protocol-common-defaults fwv4' (optional) has a valid default PASS: t/logmsg.pl 4 - msg keyword parameter trumps message parameter PASS: t/variable_defaults.pl 117 - 'protocol-common-defaults fwv4' default normalizes to itself PASS: t/variable_defaults.pl 118 - 'protocol-common-defaults fwv4-skip' default() return value matches default PASS: t/variable_defaults.pl 119 - 'protocol-common-defaults fwv4-skip' (optional) has a valid default PASS: t/variable_defaults.pl 120 - 'protocol-common-defaults fwv4-skip' default normalizes to itself PASS: t/parse_assignments.pl 14 - rest PASS: t/variable_defaults.pl 121 - 'protocol-common-defaults fwv6' default() return value matches default PASS: t/variable_defaults.pl 122 - 'protocol-common-defaults fwv6' (optional) has a valid default PASS: t/logmsg.pl 5 - msg keyword parameter trumps message parameter PASS: t/variable_defaults.pl 123 - 'protocol-common-defaults fwv6' default normalizes to itself PASS: t/variable_defaults.pl 124 - 'protocol-common-defaults fwv6-skip' default() return value matches default PASS: t/variable_defaults.pl 125 - 'protocol-common-defaults fwv6-skip' (optional) has a valid default PASS: t/variable_defaults.pl 126 - 'protocol-common-defaults fwv6-skip' default normalizes to itself PASS: t/is-and-extract-ipv6-global.pl 3 - extract_ipv6_global() PASS: t/variable_defaults.pl 127 - 'protocol-common-defaults host' (required) has no default PASS: t/parse_assignments.pl 15 - rest leading space PASS: t/variable_defaults.pl 128 - 'protocol-common-defaults if' default() return value matches default PASS: t/variable_defaults.pl 129 - 'protocol-common-defaults if' (optional) has a valid default PASS: t/logmsg.pl 6 - email appends to email body PASS: t/variable_defaults.pl 130 - 'protocol-common-defaults if' default normalizes to itself PASS: t/variable_defaults.pl 131 - 'protocol-common-defaults ifv4' default() return value matches default PASS: t/variable_defaults.pl 132 - 'protocol-common-defaults ifv4' (optional) has a valid default PASS: t/parse_assignments.pl 16 - rest trailing space PASS: t/variable_defaults.pl 133 - 'protocol-common-defaults ifv4' default normalizes to itself PASS: t/logmsg.pl 7 - single-line label PASS: t/variable_defaults.pl 134 - 'protocol-common-defaults ifv6' default() return value matches default PASS: t/variable_defaults.pl 135 - 'protocol-common-defaults ifv6' (optional) has a valid default PASS: t/variable_defaults.pl 136 - 'protocol-common-defaults ifv6' default normalizes to itself PASS: t/variable_defaults.pl 137 - 'protocol-common-defaults ip' default() return value matches default PASS: t/variable_defaults.pl 138 - 'protocol-common-defaults ip' (optional) has a valid default PASS: t/parse_assignments.pl 17 - rest leading comma PASS: t/variable_defaults.pl 139 - 'protocol-common-defaults ip' default normalizes to itself PASS: t/logmsg.pl 8 - multi-line label PASS: t/variable_defaults.pl 140 - 'protocol-common-defaults ipv4' default() return value matches default PASS: t/variable_defaults.pl 141 - 'protocol-common-defaults ipv4' (optional) has a valid default PASS: t/variable_defaults.pl 142 - 'protocol-common-defaults ipv4' default normalizes to itself PASS: t/variable_defaults.pl 143 - 'protocol-common-defaults ipv6' default() return value matches default PASS: t/variable_defaults.pl 144 - 'protocol-common-defaults ipv6' (optional) has a valid default PASS: t/variable_defaults.pl 145 - 'protocol-common-defaults ipv6' default normalizes to itself PASS: t/parse_assignments.pl 18 - rest trailing comma PASS: t/logmsg.pl 9 - single-line long label PASS: t/variable_defaults.pl 146 - 'protocol-common-defaults login' (required) has no default PASS: t/variable_defaults.pl 147 - 'protocol-common-defaults max-interval' default() return value matches default PASS: t/variable_defaults.pl 148 - 'protocol-common-defaults max-interval' (optional) has a valid default PASS: t/variable_defaults.pl 149 - 'protocol-common-defaults max-interval' default normalizes to itself PASS: t/variable_defaults.pl 150 - 'protocol-common-defaults min-error-interval' default() return value matches default PASS: t/parse_assignments.pl 19 - assign space rest PASS: t/variable_defaults.pl 151 - 'protocol-common-defaults min-error-interval' (optional) has a valid default PASS: t/logmsg.pl 10 - multi-line long label PASS: t/is-and-extract-ipv6.pl 2 - is_ipv6() with invalid addresses PASS: t/variable_defaults.pl 152 - 'protocol-common-defaults min-error-interval' default normalizes to itself PASS: t/variable_defaults.pl 153 - 'protocol-common-defaults min-interval' default() return value matches default PASS: t/variable_defaults.pl 154 - 'protocol-common-defaults min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 155 - 'protocol-common-defaults min-interval' default normalizes to itself PASS: t/variable_defaults.pl 156 - 'protocol-common-defaults password' (required) has no default PASS: t/logmsg.pl 11 - single line, no label, single context PASS: t/parse_assignments.pl 20 - assign comma rest PASS: t/variable_defaults.pl 157 - 'protocol-common-defaults server' default() return value matches default PASS: t/variable_defaults.pl 158 - 'protocol-common-defaults server' (optional) has a valid default PASS: t/geturl_response.pl 1 - binary body PASS: t/variable_defaults.pl 159 - 'protocol-common-defaults server' default normalizes to itself PASS: t/geturl_response.pl 2 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 160 - 'protocol-common-defaults use' (optional) has a valid default PASS: t/variable_defaults.pl 161 - 'protocol-common-defaults use' default normalizes to itself PASS: t/logmsg.pl 12 - single line, no label, two contexts PASS: t/parse_assignments.pl 21 - assign comma space rest PASS: t/variable_defaults.pl 162 - 'protocol-common-defaults usev4' default() return value matches default PASS: t/variable_defaults.pl 163 - 'protocol-common-defaults usev4' (optional) has a valid default PASS: t/variable_defaults.pl 164 - 'protocol-common-defaults usev4' default normalizes to itself PASS: t/variable_defaults.pl 165 - 'protocol-common-defaults usev6' default() return value matches default PASS: t/variable_defaults.pl 166 - 'protocol-common-defaults usev6' (optional) has a valid default PASS: t/logmsg.pl 13 - single line, label, two contexts PASS: t/parse_assignments.pl 22 - assign space comma rest PASS: t/variable_defaults.pl 167 - 'protocol-common-defaults usev6' default normalizes to itself PASS: t/variable_defaults.pl 168 - 'protocol-common-defaults web' default() return value matches default PASS: t/variable_defaults.pl 169 - 'protocol-common-defaults web' (optional) has a valid default PASS: t/variable_defaults.pl 170 - 'protocol-common-defaults web' default normalizes to itself PASS: t/variable_defaults.pl 171 - 'protocol-common-defaults web-skip' default() return value matches default PASS: t/variable_defaults.pl 172 - 'protocol-common-defaults web-skip' (optional) has a valid default PASS: t/logmsg.pl 14 - multiple lines, label, two contexts PASS: t/variable_defaults.pl 173 - 'protocol-common-defaults web-skip' default normalizes to itself PASS: t/parse_assignments.pl 23 - single quoting PASS: t/variable_defaults.pl 174 - 'protocol-common-defaults web-ssl-validate' default() return value matches default PASS: t/variable_defaults.pl 175 - 'protocol-common-defaults web-ssl-validate' (optional) has a valid default PASS: t/variable_defaults.pl 176 - 'protocol-common-defaults web-ssl-validate' default normalizes to itself PASS: t/variable_defaults.pl 177 - 'protocol-common-defaults webv4' default() return value matches default PASS: t/logmsg.pl 15 - string ctx arg PASS: t/is-and-extract-ipv6-global.pl 4 - interface config samples PASS: t/variable_defaults.pl 178 - 'protocol-common-defaults webv4' (optional) has a valid default PASS: t/is-and-extract-ipv6-global.pl 5 - no (unexpected) warnings (via done_testing) PASS: t/parse_assignments.pl 24 - double quoting PASS: t/variable_defaults.pl 179 - 'protocol-common-defaults webv4' default normalizes to itself PASS: t/variable_defaults.pl 180 - 'protocol-common-defaults webv4-skip' default() return value matches default PASS: t/variable_defaults.pl 181 - 'protocol-common-defaults webv4-skip' (optional) has a valid default PASS: t/variable_defaults.pl 182 - 'protocol-common-defaults webv4-skip' default normalizes to itself PASS: t/variable_defaults.pl 183 - 'protocol-common-defaults webv6' default() return value matches default PASS: t/logmsg.pl 16 - arrayref ctx arg PASS: t/variable_defaults.pl 184 - 'protocol-common-defaults webv6' (optional) has a valid default PASS: t/parse_assignments.pl 25 - mixed quoting PASS: t/variable_defaults.pl 185 - 'protocol-common-defaults webv6' default normalizes to itself PASS: t/variable_defaults.pl 186 - 'protocol-common-defaults webv6-skip' default() return value matches default PASS: t/variable_defaults.pl 187 - 'protocol-common-defaults webv6-skip' (optional) has a valid default PASS: t/logmsg.pl 17 - undef ctx PASS: t/variable_defaults.pl 188 - 'protocol-common-defaults webv6-skip' default normalizes to itself PASS: t/variable_defaults.pl 189 - 'protocol=1984 server' default() return value matches default PASS: t/variable_defaults.pl 190 - 'protocol=1984 server' (optional) has a valid default PASS: t/parse_assignments.pl 26 - unquoted escaped backslash PASS: t/header_ok.pl 1 - malformed not OK PASS: t/variable_defaults.pl 191 - 'protocol=1984 server' default normalizes to itself PASS: t/variable_defaults.pl 192 - 'protocol=changeip server' default() return value matches default PASS: t/variable_defaults.pl 193 - 'protocol=changeip server' (optional) has a valid default SKIP: t/ssl-validate.pl - Can't locate HTTP/Daemon/SSL.pm in @INC (you may need to install the HTTP::Daemon::SSL module) (@INC entries checked: /home/buildozer/aports/community/ddclient/src/ddclient-4.0.0 /home/buildozer/aports/community/ddclient/src/ddclient-4.0.0/t/lib /usr/local/lib/perl5/site_perl /usr/local/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at /home/buildozer/aports/community/ddclient/src/ddclient-4.0.0/t/lib/ddclient/t/HTTPD.pm line 43. PASS: t/logmsg.pl 18 - arrayref ctx PASS: t/version.pl 1 - module's Perl version string is in opinionated form PASS: t/variable_defaults.pl 194 - 'protocol=changeip server' default normalizes to itself PASS: t/version.pl 2 - human-readable version is in opinionated form PASS: t/logmsg.pl 19 - single argument is printed directly, not via sprintf PASS: t/variable_defaults.pl 195 - 'protocol=cloudflare login' default() return value matches default PASS: t/parse_assignments.pl 27 - squoted escaped squote PASS: t/header_ok.pl 2 - HTTP/1.1 200 OK PASS: t/variable_defaults.pl 196 - 'protocol=cloudflare login' (optional) has a valid default PASS: t/logmsg.pl 20 - multiple arguments are formatted via sprintf PASS: t/logmsg.pl 21 - single argument with context PASS: t/variable_defaults.pl 197 - 'protocol=cloudflare login' default normalizes to itself PASS: t/logmsg.pl 22 - multiple arguments with context PASS: t/variable_defaults.pl 198 - 'protocol=cloudflare min-interval' default() return value matches default PASS: t/variable_defaults.pl 199 - 'protocol=cloudflare min-interval' (optional) has a valid default PASS: t/logmsg.pl 23 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 200 - 'protocol=cloudflare min-interval' default normalizes to itself PASS: t/header_ok.pl 3 - HTTP/2 200 OK PASS: t/parse_assignments.pl 28 - dquoted escaped dquote PASS: t/variable_defaults.pl 201 - 'protocol=cloudflare server' default() return value matches default PASS: t/variable_defaults.pl 202 - 'protocol=cloudflare server' (optional) has a valid default PASS: t/variable_defaults.pl 203 - 'protocol=cloudflare server' default normalizes to itself PASS: t/variable_defaults.pl 204 - 'protocol=cloudflare zone' (required) has no default PASS: t/variable_defaults.pl 205 - 'protocol=cloudns dynurl' (required) has no default PASS: t/variable_defaults.pl 206 - 'protocol=ddns.fm server' default() return value matches default PASS: t/header_ok.pl 4 - HTTP/3 200 OK PASS: t/variable_defaults.pl 207 - 'protocol=ddns.fm server' (optional) has a valid default PASS: t/parse_assignments.pl 29 - env: empty PASS: t/variable_defaults.pl 208 - 'protocol=ddns.fm server' default normalizes to itself PASS: t/variable_defaults.pl 209 - 'protocol=digitalocean server' default() return value matches default PASS: t/variable_defaults.pl 210 - 'protocol=digitalocean server' (optional) has a valid default PASS: t/variable_defaults.pl 211 - 'protocol=digitalocean server' default normalizes to itself PASS: t/header_ok.pl 5 - 401 not OK, fallback message PASS: t/variable_defaults.pl 212 - 'protocol=digitalocean zone' (required) has no default PASS: t/parse_assignments.pl 30 - env: unset PASS: t/variable_defaults.pl 213 - 'protocol=dinahosting min-error-interval' default() return value matches default PASS: t/variable_defaults.pl 214 - 'protocol=dinahosting min-error-interval' (optional) has a valid default PASS: t/variable_defaults.pl 215 - 'protocol=dinahosting min-error-interval' default normalizes to itself PASS: t/variable_defaults.pl 216 - 'protocol=dinahosting script' default() return value matches default PASS: t/variable_defaults.pl 217 - 'protocol=dinahosting script' (optional) has a valid default PASS: t/header_ok.pl 6 - 403 not OK, fallback message PASS: t/parse_assignments.pl 31 - env: set PASS: t/variable_defaults.pl 218 - 'protocol=dinahosting script' default normalizes to itself PASS: t/variable_defaults.pl 219 - 'protocol=dinahosting server' default() return value matches default PASS: t/variable_defaults.pl 220 - 'protocol=dinahosting server' (optional) has a valid default PASS: t/variable_defaults.pl 221 - 'protocol=dinahosting server' default normalizes to itself PASS: t/version.pl 3 - humanize_version PASS: t/variable_defaults.pl 222 - 'protocol=directnic urlv4' default() return value matches default PASS: t/header_ok.pl 7 - other 4xx not OK PASS: t/variable_defaults.pl 223 - 'protocol=directnic urlv4' (optional) has a valid default PASS: t/variable_defaults.pl 224 - 'protocol=directnic urlv4' default normalizes to itself PASS: t/parse_assignments.pl 32 - env: single quoted PASS: t/variable_defaults.pl 225 - 'protocol=directnic urlv6' default() return value matches default PASS: t/variable_defaults.pl 226 - 'protocol=directnic urlv6' (optional) has a valid default PASS: t/variable_defaults.pl 227 - 'protocol=directnic urlv6' default normalizes to itself PASS: t/variable_defaults.pl 228 - 'protocol=dnsexit2 path' default() return value matches default PASS: t/header_ok.pl 8 - only first line is logged on error PASS: t/variable_defaults.pl 229 - 'protocol=dnsexit2 path' (optional) has a valid default PASS: t/header_ok.pl 9 - no (unexpected) warnings (via done_testing) PASS: t/parse_assignments.pl 33 - newline: quoted value PASS: t/variable_defaults.pl 230 - 'protocol=dnsexit2 path' default normalizes to itself PASS: t/variable_defaults.pl 231 - 'protocol=dnsexit2 server' default() return value matches default PASS: t/variable_defaults.pl 232 - 'protocol=dnsexit2 server' (optional) has a valid default PASS: t/variable_defaults.pl 233 - 'protocol=dnsexit2 server' default normalizes to itself PASS: t/variable_defaults.pl 234 - 'protocol=dnsexit2 ssl' default() return value matches default PASS: t/variable_defaults.pl 235 - 'protocol=dnsexit2 ssl' (optional) has a valid default PASS: t/parse_assignments.pl 34 - newline: escaped value PASS: t/variable_defaults.pl 236 - 'protocol=dnsexit2 ssl' default normalizes to itself PASS: t/variable_defaults.pl 237 - 'protocol=dnsexit2 ttl' default() return value matches default PASS: t/variable_defaults.pl 238 - 'protocol=dnsexit2 ttl' (optional) has a valid default PASS: t/variable_defaults.pl 239 - 'protocol=dnsexit2 ttl' default normalizes to itself PASS: t/variable_defaults.pl 240 - 'protocol=dnsexit2 zone' default() return value matches default PASS: t/variable_defaults.pl 241 - 'protocol=dnsexit2 zone' (optional) has a valid default PASS: t/parse_assignments.pl 35 - newline: between vars PASS: t/variable_defaults.pl 242 - 'protocol=dnsexit2 zone' default normalizes to itself PASS: t/variable_defaults.pl 243 - 'protocol=dnsmadeeasy script' default() return value matches default PASS: t/variable_defaults.pl 244 - 'protocol=dnsmadeeasy script' (optional) has a valid default PASS: t/variable_defaults.pl 245 - 'protocol=dnsmadeeasy script' default normalizes to itself PASS: t/variable_defaults.pl 246 - 'protocol=dnsmadeeasy server' default() return value matches default PASS: t/variable_defaults.pl 247 - 'protocol=dnsmadeeasy server' (optional) has a valid default PASS: t/parse_assignments.pl 36 - newline: terminating PASS: t/version.pl 4 - human-readable version can be translated back to Perl version PASS: t/version.pl 5 - version matches version in Autoconf PASS: t/variable_defaults.pl 248 - 'protocol=dnsmadeeasy server' default normalizes to itself PASS: t/parse_assignments.pl 37 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 249 - 'protocol=domeneshop server' default() return value matches default PASS: t/version.pl 6 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 250 - 'protocol=domeneshop server' (optional) has a valid default PASS: t/variable_defaults.pl 251 - 'protocol=domeneshop server' default normalizes to itself PASS: t/variable_defaults.pl 252 - 'protocol=dondominio server' default() return value matches default PASS: t/variable_defaults.pl 253 - 'protocol=dondominio server' (optional) has a valid default PASS: t/variable_defaults.pl 254 - 'protocol=dondominio server' default normalizes to itself PASS: t/variable_defaults.pl 255 - 'protocol=dslreports1 server' default() return value matches default PASS: t/variable_defaults.pl 256 - 'protocol=dslreports1 server' (optional) has a valid default PASS: t/variable_defaults.pl 257 - 'protocol=dslreports1 server' default normalizes to itself PASS: t/variable_defaults.pl 258 - 'protocol=duckdns server' default() return value matches default PASS: t/variable_defaults.pl 259 - 'protocol=duckdns server' (optional) has a valid default PASS: t/variable_defaults.pl 260 - 'protocol=duckdns server' default normalizes to itself PASS: t/variable_defaults.pl 261 - 'protocol=dyndns1 static' default() return value matches default PASS: t/variable_defaults.pl 262 - 'protocol=dyndns1 static' (optional) has a valid default PASS: t/variable_defaults.pl 263 - 'protocol=dyndns1 static' default normalizes to itself PASS: t/variable_defaults.pl 264 - 'protocol=dyndns2 script' default() return value matches default PASS: t/variable_defaults.pl 265 - 'protocol=dyndns2 script' (optional) has a valid default PASS: t/variable_defaults.pl 266 - 'protocol=dyndns2 script' default normalizes to itself PASS: t/variable_defaults.pl 267 - 'protocol=easydns backupmx' default() return value matches default PASS: t/variable_defaults.pl 268 - 'protocol=easydns backupmx' (optional) has a valid default PASS: t/variable_defaults.pl 269 - 'protocol=easydns backupmx' default normalizes to itself PASS: t/variable_defaults.pl 270 - 'protocol=easydns min-interval' default() return value matches default PASS: t/variable_defaults.pl 271 - 'protocol=easydns min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 272 - 'protocol=easydns min-interval' default normalizes to itself PASS: t/variable_defaults.pl 273 - 'protocol=easydns mx' default() return value matches default PASS: t/variable_defaults.pl 274 - 'protocol=easydns mx' (optional) has a valid default PASS: t/variable_defaults.pl 275 - 'protocol=easydns mx' default normalizes to itself PASS: t/variable_defaults.pl 276 - 'protocol=easydns script' default() return value matches default PASS: t/variable_defaults.pl 277 - 'protocol=easydns script' (optional) has a valid default PASS: t/variable_defaults.pl 278 - 'protocol=easydns script' default normalizes to itself PASS: t/variable_defaults.pl 279 - 'protocol=easydns server' default() return value matches default PASS: t/variable_defaults.pl 280 - 'protocol=easydns server' (optional) has a valid default PASS: t/variable_defaults.pl 281 - 'protocol=easydns server' default normalizes to itself PASS: t/variable_defaults.pl 282 - 'protocol=easydns wildcard' default() return value matches default PASS: t/variable_defaults.pl 283 - 'protocol=easydns wildcard' (optional) has a valid default PASS: t/variable_defaults.pl 284 - 'protocol=easydns wildcard' default normalizes to itself PASS: t/variable_defaults.pl 285 - 'protocol=emailonly max-interval' default() return value matches default PASS: t/variable_defaults.pl 286 - 'protocol=emailonly max-interval' (optional) has a valid default PASS: t/variable_defaults.pl 287 - 'protocol=emailonly max-interval' default normalizes to itself PASS: t/variable_defaults.pl 288 - 'protocol=enom min-interval' default() return value matches default PASS: t/variable_defaults.pl 289 - 'protocol=enom min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 290 - 'protocol=enom min-interval' default normalizes to itself PASS: t/variable_defaults.pl 291 - 'protocol=enom server' default() return value matches default PASS: t/variable_defaults.pl 292 - 'protocol=enom server' (optional) has a valid default PASS: t/variable_defaults.pl 293 - 'protocol=enom server' default normalizes to itself PASS: t/variable_defaults.pl 294 - 'protocol=freedns min-interval' default() return value matches default PASS: t/variable_defaults.pl 295 - 'protocol=freedns min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 296 - 'protocol=freedns min-interval' default normalizes to itself PASS: t/geturl_connectivity.pl 1 - IPv* client to http://127.0.0.1:43175 PASS: t/variable_defaults.pl 297 - 'protocol=freedns server' default() return value matches default PASS: t/variable_defaults.pl 298 - 'protocol=freedns server' (optional) has a valid default PASS: t/variable_defaults.pl 299 - 'protocol=freedns server' default normalizes to itself PASS: t/variable_defaults.pl 300 - 'protocol=freemyip server' default() return value matches default PASS: t/variable_defaults.pl 301 - 'protocol=freemyip server' (optional) has a valid default PASS: t/variable_defaults.pl 302 - 'protocol=freemyip server' default normalizes to itself PASS: t/variable_defaults.pl 303 - 'protocol=gandi min-interval' default() return value matches default PASS: t/variable_defaults.pl 304 - 'protocol=gandi min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 305 - 'protocol=gandi min-interval' default normalizes to itself PASS: t/variable_defaults.pl 306 - 'protocol=gandi script' default() return value matches default PASS: t/variable_defaults.pl 307 - 'protocol=gandi script' (optional) has a valid default PASS: t/variable_defaults.pl 308 - 'protocol=gandi script' default normalizes to itself PASS: t/variable_defaults.pl 309 - 'protocol=gandi server' default() return value matches default PASS: t/variable_defaults.pl 310 - 'protocol=gandi server' (optional) has a valid default PASS: t/variable_defaults.pl 311 - 'protocol=gandi server' default normalizes to itself PASS: t/variable_defaults.pl 312 - 'protocol=gandi ttl' default() return value matches default PASS: t/variable_defaults.pl 313 - 'protocol=gandi ttl' (optional) has a valid default PASS: t/variable_defaults.pl 314 - 'protocol=gandi ttl' default normalizes to itself PASS: t/variable_defaults.pl 315 - 'protocol=gandi use-personal-access-token' default() return value matches default PASS: t/variable_defaults.pl 316 - 'protocol=gandi use-personal-access-token' (optional) has a valid default PASS: t/variable_defaults.pl 317 - 'protocol=gandi use-personal-access-token' default normalizes to itself PASS: t/variable_defaults.pl 318 - 'protocol=gandi zone' (required) has no default PASS: t/variable_defaults.pl 319 - 'protocol=godaddy min-interval' default() return value matches default PASS: t/variable_defaults.pl 320 - 'protocol=godaddy min-interval' (optional) has a valid default PASS: t/geturl_connectivity.pl 2 - IPv4 client to http://127.0.0.1:43175 PASS: t/variable_defaults.pl 321 - 'protocol=godaddy min-interval' default normalizes to itself PASS: t/variable_defaults.pl 322 - 'protocol=godaddy server' default() return value matches default PASS: t/variable_defaults.pl 323 - 'protocol=godaddy server' (optional) has a valid default PASS: t/variable_defaults.pl 324 - 'protocol=godaddy server' default normalizes to itself PASS: t/variable_defaults.pl 325 - 'protocol=godaddy ttl' default() return value matches default PASS: t/variable_defaults.pl 326 - 'protocol=godaddy ttl' (optional) has a valid default PASS: t/variable_defaults.pl 327 - 'protocol=godaddy ttl' default normalizes to itself PASS: t/variable_defaults.pl 328 - 'protocol=godaddy zone' (required) has no default PASS: t/variable_defaults.pl 329 - 'protocol=he.net min-interval' default() return value matches default PASS: t/variable_defaults.pl 330 - 'protocol=he.net min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 331 - 'protocol=he.net min-interval' default normalizes to itself PASS: t/variable_defaults.pl 332 - 'protocol=he.net server' default() return value matches default PASS: t/variable_defaults.pl 333 - 'protocol=he.net server' (optional) has a valid default PASS: t/variable_defaults.pl 334 - 'protocol=he.net server' default normalizes to itself PASS: t/variable_defaults.pl 335 - 'protocol=hetzner min-interval' default() return value matches default PASS: t/variable_defaults.pl 336 - 'protocol=hetzner min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 337 - 'protocol=hetzner min-interval' default normalizes to itself PASS: t/variable_defaults.pl 338 - 'protocol=hetzner server' default() return value matches default PASS: t/variable_defaults.pl 339 - 'protocol=hetzner server' (optional) has a valid default PASS: t/variable_defaults.pl 340 - 'protocol=hetzner server' default normalizes to itself PASS: t/variable_defaults.pl 341 - 'protocol=hetzner ttl' default() return value matches default PASS: t/geturl_connectivity.pl 3 - IPv6 client to http://[::1]:38469 PASS: t/variable_defaults.pl 342 - 'protocol=hetzner ttl' (optional) has a valid default PASS: t/variable_defaults.pl 343 - 'protocol=hetzner ttl' default normalizes to itself PASS: t/variable_defaults.pl 344 - 'protocol=hetzner zone' (required) has no default PASS: t/variable_defaults.pl 345 - 'protocol=inwx script' default() return value matches default PASS: t/variable_defaults.pl 346 - 'protocol=inwx script' (optional) has a valid default PASS: t/variable_defaults.pl 347 - 'protocol=inwx script' default normalizes to itself PASS: t/variable_defaults.pl 348 - 'protocol=inwx server' default() return value matches default PASS: t/variable_defaults.pl 349 - 'protocol=inwx server' (optional) has a valid default PASS: t/variable_defaults.pl 350 - 'protocol=inwx server' default normalizes to itself PASS: t/variable_defaults.pl 351 - 'protocol=keysystems server' default() return value matches default PASS: t/variable_defaults.pl 352 - 'protocol=keysystems server' (optional) has a valid default PASS: t/variable_defaults.pl 353 - 'protocol=keysystems server' default normalizes to itself PASS: t/variable_defaults.pl 354 - 'protocol=mythicdyn min-interval' default() return value matches default PASS: t/variable_defaults.pl 355 - 'protocol=mythicdyn min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 356 - 'protocol=mythicdyn min-interval' default normalizes to itself PASS: t/variable_defaults.pl 357 - 'protocol=mythicdyn server' default() return value matches default PASS: t/variable_defaults.pl 358 - 'protocol=mythicdyn server' (optional) has a valid default PASS: t/variable_defaults.pl 359 - 'protocol=mythicdyn server' default normalizes to itself PASS: t/variable_defaults.pl 360 - 'protocol=namecheap min-interval' default() return value matches default PASS: t/variable_defaults.pl 361 - 'protocol=namecheap min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 362 - 'protocol=namecheap min-interval' default normalizes to itself PASS: t/geturl_connectivity.pl 4 - IPv* client to http://127.0.0.1:43175 PASS: t/variable_defaults.pl 363 - 'protocol=namecheap server' default() return value matches default PASS: t/variable_defaults.pl 364 - 'protocol=namecheap server' (optional) has a valid default PASS: t/variable_defaults.pl 365 - 'protocol=namecheap server' default normalizes to itself PASS: t/variable_defaults.pl 366 - 'protocol=nfsn min-interval' default() return value matches default PASS: t/variable_defaults.pl 367 - 'protocol=nfsn min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 368 - 'protocol=nfsn min-interval' default normalizes to itself PASS: t/variable_defaults.pl 369 - 'protocol=nfsn server' default() return value matches default PASS: t/variable_defaults.pl 370 - 'protocol=nfsn server' (optional) has a valid default PASS: t/variable_defaults.pl 371 - 'protocol=nfsn server' default normalizes to itself PASS: t/variable_defaults.pl 372 - 'protocol=nfsn ttl' default() return value matches default PASS: t/variable_defaults.pl 373 - 'protocol=nfsn ttl' (optional) has a valid default PASS: t/variable_defaults.pl 374 - 'protocol=nfsn ttl' default normalizes to itself PASS: t/variable_defaults.pl 375 - 'protocol=nfsn zone' (required) has no default PASS: t/variable_defaults.pl 376 - 'protocol=njalla quietreply' default() return value matches default PASS: t/variable_defaults.pl 377 - 'protocol=njalla quietreply' (optional) has a valid default PASS: t/variable_defaults.pl 378 - 'protocol=njalla quietreply' default normalizes to itself PASS: t/variable_defaults.pl 379 - 'protocol=njalla server' default() return value matches default PASS: t/variable_defaults.pl 380 - 'protocol=njalla server' (optional) has a valid default PASS: t/variable_defaults.pl 381 - 'protocol=njalla server' default normalizes to itself PASS: t/variable_defaults.pl 382 - 'protocol=noip server' default() return value matches default PASS: t/variable_defaults.pl 383 - 'protocol=noip server' (optional) has a valid default PASS: t/geturl_connectivity.pl 5 - IPv4 client to http://127.0.0.1:43175 PASS: t/variable_defaults.pl 384 - 'protocol=noip server' default normalizes to itself PASS: t/variable_defaults.pl 385 - 'protocol=nsupdate login' default() return value matches default PASS: t/variable_defaults.pl 386 - 'protocol=nsupdate login' (optional) has a valid default PASS: t/variable_defaults.pl 387 - 'protocol=nsupdate login' default normalizes to itself PASS: t/variable_defaults.pl 388 - 'protocol=nsupdate tcp' default() return value matches default PASS: t/variable_defaults.pl 389 - 'protocol=nsupdate tcp' (optional) has a valid default PASS: t/variable_defaults.pl 390 - 'protocol=nsupdate tcp' default normalizes to itself PASS: t/variable_defaults.pl 391 - 'protocol=nsupdate ttl' default() return value matches default PASS: t/variable_defaults.pl 392 - 'protocol=nsupdate ttl' (optional) has a valid default PASS: t/protocol_dyndns2.pl 1 - IPv4, single host, good: single update request PASS: t/protocol_dyndns2.pl 2 - IPv4, single host, good: request path PASS: t/variable_defaults.pl 393 - 'protocol=nsupdate ttl' default normalizes to itself PASS: t/protocol_dyndns2.pl 3 - IPv4, single host, good: request query PASS: t/variable_defaults.pl 394 - 'protocol=nsupdate zone' (required) has no default PASS: t/protocol_dyndns2.pl 4 - IPv4, single host, good: recap PASS: t/variable_defaults.pl 395 - 'protocol=ovh script' default() return value matches default PASS: t/variable_defaults.pl 396 - 'protocol=ovh script' (optional) has a valid default PASS: t/variable_defaults.pl 397 - 'protocol=ovh script' default normalizes to itself PASS: t/variable_defaults.pl 398 - 'protocol=ovh server' default() return value matches default PASS: t/variable_defaults.pl 399 - 'protocol=ovh server' (optional) has a valid default PASS: t/variable_defaults.pl 400 - 'protocol=ovh server' default normalizes to itself PASS: t/variable_defaults.pl 401 - 'protocol=porkbun apikey' (required) has no default PASS: t/variable_defaults.pl 402 - 'protocol=porkbun on-root-domain' default() return value matches default PASS: t/variable_defaults.pl 403 - 'protocol=porkbun on-root-domain' (optional) has a valid default PASS: t/variable_defaults.pl 404 - 'protocol=porkbun on-root-domain' default normalizes to itself PASS: t/geturl_connectivity.pl 6 - IPv* client to http://[::1]:38469 PASS: t/variable_defaults.pl 405 - 'protocol=porkbun root-domain' default() return value matches default PASS: t/variable_defaults.pl 406 - 'protocol=porkbun root-domain' (optional) has a valid default PASS: t/geturl_connectivity.pl 7 - IPv6 client to http://[::1]:38469 PASS: t/variable_defaults.pl 407 - 'protocol=porkbun root-domain' default normalizes to itself SKIP: t/geturl_connectivity.pl 8 # SKIP HTTP::Daemon::SSL not available PASS: t/variable_defaults.pl 408 - 'protocol=porkbun secretapikey' (required) has no default PASS: t/variable_defaults.pl 409 - 'protocol=porkbun server' default() return value matches default SKIP: t/geturl_connectivity.pl 9 # SKIP HTTP::Daemon::SSL not available PASS: t/variable_defaults.pl 410 - 'protocol=porkbun server' (optional) has a valid default SKIP: t/geturl_connectivity.pl 10 # SKIP HTTP::Daemon::SSL not available PASS: t/variable_defaults.pl 411 - 'protocol=porkbun server' default normalizes to itself SKIP: t/geturl_connectivity.pl 11 # SKIP HTTP::Daemon::SSL not available PASS: t/variable_defaults.pl 412 - 'protocol=regfishde server' default() return value matches default PASS: t/geturl_connectivity.pl 12 - no (unexpected) warnings (via done_testing) PASS: t/variable_defaults.pl 413 - 'protocol=regfishde server' (optional) has a valid default PASS: t/variable_defaults.pl 414 - 'protocol=regfishde server' default normalizes to itself PASS: t/variable_defaults.pl 415 - 'protocol=sitelutions min-interval' default() return value matches default PASS: t/variable_defaults.pl 416 - 'protocol=sitelutions min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 417 - 'protocol=sitelutions min-interval' default normalizes to itself PASS: t/variable_defaults.pl 418 - 'protocol=sitelutions server' default() return value matches default PASS: t/variable_defaults.pl 419 - 'protocol=sitelutions server' (optional) has a valid default PASS: t/variable_defaults.pl 420 - 'protocol=sitelutions server' default normalizes to itself PASS: t/variable_defaults.pl 421 - 'protocol=yandex min-interval' default() return value matches default PASS: t/variable_defaults.pl 422 - 'protocol=yandex min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 423 - 'protocol=yandex min-interval' default normalizes to itself PASS: t/variable_defaults.pl 424 - 'protocol=yandex server' default() return value matches default PASS: t/variable_defaults.pl 425 - 'protocol=yandex server' (optional) has a valid default PASS: t/variable_defaults.pl 426 - 'protocol=yandex server' default normalizes to itself PASS: t/variable_defaults.pl 427 - 'protocol=zoneedit1 min-interval' default() return value matches default PASS: t/variable_defaults.pl 428 - 'protocol=zoneedit1 min-interval' (optional) has a valid default PASS: t/variable_defaults.pl 429 - 'protocol=zoneedit1 min-interval' default normalizes to itself PASS: t/variable_defaults.pl 430 - 'protocol=zoneedit1 server' default() return value matches default PASS: t/variable_defaults.pl 431 - 'protocol=zoneedit1 server' (optional) has a valid default PASS: t/variable_defaults.pl 432 - 'protocol=zoneedit1 server' default normalizes to itself PASS: t/variable_defaults.pl 433 - 'protocol=zoneedit1 zone' default() return value matches default PASS: t/variable_defaults.pl 434 - 'protocol=zoneedit1 zone' (optional) has a valid default PASS: t/variable_defaults.pl 435 - 'protocol=zoneedit1 zone' default normalizes to itself PASS: t/variable_defaults.pl 436 - 'use' dynamic default: clean slate hostless default PASS: t/variable_defaults.pl 437 - 'use' dynamic default: usage string PASS: t/variable_defaults.pl 438 - 'use' dynamic default: usev4 disables use by default PASS: t/variable_defaults.pl 439 - 'use' dynamic default: usev6 disables use by default PASS: t/variable_defaults.pl 440 - 'use' dynamic default: explicitly setting use re-enables it PASS: t/variable_defaults.pl 441 - no (unexpected) warnings (via done_testing) PASS: t/protocol_dyndns2.pl 5 - IPv4, single host, good: logs PASS: t/protocol_dyndns2.pl 6 - IPv4, single host, nochg: single update request PASS: t/protocol_dyndns2.pl 7 - IPv4, single host, nochg: request path PASS: t/protocol_dyndns2.pl 8 - IPv4, single host, nochg: request query PASS: t/protocol_dyndns2.pl 9 - IPv4, single host, nochg: recap PASS: t/protocol_directnic.pl 1 - IPv4, good: recap PASS: t/protocol_directnic.pl 2 - IPv4, good: logs PASS: t/protocol_directnic.pl 3 - IPv4, failed: recap PASS: t/protocol_directnic.pl 4 - IPv4, failed: logs PASS: t/protocol_directnic.pl 5 - IPv4, bad: recap PASS: t/skip.pl 1 - use=web web='t/skip.pl webv4' PASS: t/protocol_dyndns2.pl 10 - IPv4, single host, nochg: logs PASS: t/protocol_dyndns2.pl 11 - IPv4, single host, bad: single update request PASS: t/protocol_dyndns2.pl 12 - IPv4, single host, bad: request path PASS: t/protocol_dyndns2.pl 13 - IPv4, single host, bad: request query PASS: t/protocol_dyndns2.pl 14 - IPv4, single host, bad: recap PASS: t/protocol_directnic.pl 6 - IPv4, bad: logs PASS: t/protocol_directnic.pl 7 - IPv4, unexpected response: recap PASS: t/protocol_directnic.pl 8 - IPv4, unexpected response: logs PASS: t/protocol_directnic.pl 9 - IPv4, no urlv4: recap PASS: t/is-and-extract-ipv4.pl 3 - is_ipv4() with char adjacent to valid address PASS: t/is-and-extract-ipv4.pl 4 - extract_ipv4() PASS: t/protocol_dnsexit2.pl 1 - both IPv4 and IPv6 are updated together PASS: t/skip.pl 2 - usev4=webv4 webv4='t/skip.pl webv4' PASS: t/protocol_directnic.pl 10 - IPv4, no urlv4: logs PASS: t/protocol_directnic.pl 11 - IPv6, good: recap PASS: t/use_web.pl 1 - use=web web= IPv4 PASS: t/skip.pl 3 - usev6=webv6 webv6='t/skip.pl webv6' PASS: t/use_web.pl 2 - use=web web= web-skip=skip IPv4 PASS: t/update_nics.pl 1 - legacy, fresh, use=web PASS: t/protocol_directnic.pl 12 - IPv6, good: logs PASS: t/protocol_directnic.pl 13 - IPv4 and IPv6, good: recap PASS: t/use_web.pl 3 - use=web web= IPv4 PASS: t/protocol_dnsexit2.pl 2 - zone defaults to host PASS: t/skip.pl 4 - use='t/skip.pl fw' PASS: t/protocol_dyndns2.pl 15 - IPv4, single host, bad: logs PASS: t/protocol_dyndns2.pl 16 - IPv4, single host, unexpected: single update request PASS: t/protocol_dyndns2.pl 17 - IPv4, single host, unexpected: request path PASS: t/protocol_dyndns2.pl 18 - IPv4, single host, unexpected: request query PASS: t/protocol_dyndns2.pl 19 - IPv4, single host, unexpected: recap PASS: t/use_web.pl 4 - use=web web= IPv4 PASS: t/use_web.pl 5 - use=web web= web-skip=skip2 IPv4 PASS: t/skip.pl 5 - usev4='t/skip.pl fw' PASS: t/use_web.pl 6 - usev4=webv4 webv4= IPv4 PASS: t/skip.pl 6 - no (unexpected) warnings (via done_testing) PASS: t/protocol_directnic.pl 14 - IPv4 and IPv6, good: logs PASS: t/protocol_directnic.pl 15 - IPv4 and IPv6, mixed success: recap PASS: t/is-and-extract-ipv4.pl 5 - extract_ipv4() of valid addr with adjacent non-word char PASS: t/is-and-extract-ipv4.pl 6 - no (unexpected) warnings (via done_testing) PASS: t/use_web.pl 7 - usev4=webv4 webv4= webv4-skip=skip IPv4 PASS: t/protocol_directnic.pl 16 - IPv4 and IPv6, mixed success: logs PASS: t/protocol_directnic.pl 17 - no (unexpected) warnings (via done_testing) PASS: t/use_web.pl 8 - usev4=webv4 webv4= IPv4 PASS: t/use_web.pl 9 - usev4=webv4 webv4= IPv4 PASS: t/protocol_dnsexit2.pl 3 - two hosts, different zones PASS: t/use_web.pl 10 - usev4=webv4 webv4= webv4-skip=skip2 IPv4 PASS: t/protocol_dyndns2.pl 20 - IPv4, single host, unexpected: logs PASS: t/protocol_dyndns2.pl 21 - IPv4, multiple hosts, multiple good: single update request PASS: t/protocol_dyndns2.pl 22 - IPv4, multiple hosts, multiple good: request path PASS: t/protocol_dyndns2.pl 23 - IPv4, multiple hosts, multiple good: request query PASS: t/protocol_dyndns2.pl 24 - IPv4, multiple hosts, multiple good: recap PASS: t/use_web.pl 11 - use=web web= IPv6 PASS: t/use_web.pl 12 - use=web web= web-skip=skip IPv6 PASS: t/update_nics.pl 2 - legacy, fresh, usev4=webv4 PASS: t/use_web.pl 13 - use=web web= IPv6 PASS: t/protocol_dnsexit2.pl 4 - two hosts, same zone PASS: t/use_web.pl 14 - use=web web= IPv6 PASS: t/use_web.pl 15 - use=web web= web-skip=skip2 IPv6 PASS: t/use_web.pl 16 - usev6=webv6 webv6= IPv6 PASS: t/protocol_dnsexit2.pl 5 - host outside of zone PASS: t/protocol_dnsexit2.pl 6 - no (unexpected) warnings (via done_testing) PASS: t/use_web.pl 17 - usev6=webv6 webv6= webv6-skip=skip IPv6 PASS: t/use_web.pl 18 - usev6=webv6 webv6= IPv6 PASS: t/protocol_dyndns2.pl 25 - IPv4, multiple hosts, multiple good: logs PASS: t/protocol_dyndns2.pl 26 - IPv4, multiple hosts, mixed success: single update request PASS: t/protocol_dyndns2.pl 27 - IPv4, multiple hosts, mixed success: request path PASS: t/protocol_dyndns2.pl 28 - IPv4, multiple hosts, mixed success: request query PASS: t/protocol_dyndns2.pl 29 - IPv4, multiple hosts, mixed success: recap PASS: t/use_web.pl 19 - usev6=webv6 webv6= IPv6 PASS: t/use_web.pl 20 - usev6=webv6 webv6= webv6-skip=skip2 IPv6 PASS: t/use_web.pl 21 - no (unexpected) warnings (via done_testing) PASS: t/update_nics.pl 3 - legacy, fresh, use=web (IPv6) PASS: t/protocol_dyndns2.pl 30 - IPv4, multiple hosts, mixed success: logs PASS: t/protocol_dyndns2.pl 31 - IPv6, single host, good: single update request PASS: t/protocol_dyndns2.pl 32 - IPv6, single host, good: request path PASS: t/protocol_dyndns2.pl 33 - IPv6, single host, good: request query PASS: t/protocol_dyndns2.pl 34 - IPv6, single host, good: recap PASS: t/update_nics.pl 4 - legacy, fresh, usev6=webv6 PASS: t/protocol_dyndns2.pl 35 - IPv6, single host, good: logs PASS: t/protocol_dyndns2.pl 36 - IPv4 and IPv6, single host, good: single update request PASS: t/protocol_dyndns2.pl 37 - IPv4 and IPv6, single host, good: request path PASS: t/protocol_dyndns2.pl 38 - IPv4 and IPv6, single host, good: request query PASS: t/protocol_dyndns2.pl 39 - IPv4 and IPv6, single host, good: recap PASS: t/protocol_dyndns2.pl 40 - IPv4 and IPv6, single host, good: logs PASS: t/protocol_dyndns2.pl 41 - excess status line: single update request PASS: t/protocol_dyndns2.pl 42 - excess status line: request path PASS: t/protocol_dyndns2.pl 43 - excess status line: request query PASS: t/protocol_dyndns2.pl 44 - excess status line: recap PASS: t/update_nics.pl 5 - legacy, fresh, usev4=webv4 usev6=webv6 PASS: t/protocol_dyndns2.pl 45 - excess status line: logs PASS: t/protocol_dyndns2.pl 46 - multiple hosts, single failure: single update request PASS: t/protocol_dyndns2.pl 47 - multiple hosts, single failure: request path PASS: t/protocol_dyndns2.pl 48 - multiple hosts, single failure: request query PASS: t/protocol_dyndns2.pl 49 - multiple hosts, single failure: recap PASS: t/update_nics.pl 6 - legacy, no change, not yet time, use=web PASS: t/protocol_dyndns2.pl 50 - multiple hosts, single failure: logs PASS: t/protocol_dyndns2.pl 51 - multiple hosts, single success: single update request PASS: t/protocol_dyndns2.pl 52 - multiple hosts, single success: request path PASS: t/protocol_dyndns2.pl 53 - multiple hosts, single success: request query PASS: t/protocol_dyndns2.pl 54 - multiple hosts, single success: recap PASS: t/protocol_dyndns2.pl 55 - multiple hosts, single success: logs PASS: t/protocol_dyndns2.pl 56 - multiple hosts, fewer results: single update request PASS: t/protocol_dyndns2.pl 57 - multiple hosts, fewer results: request path PASS: t/protocol_dyndns2.pl 58 - multiple hosts, fewer results: request query PASS: t/protocol_dyndns2.pl 59 - multiple hosts, fewer results: recap PASS: t/update_nics.pl 7 - legacy, no change, not yet time, usev4=webv4 PASS: t/protocol_dyndns2.pl 60 - multiple hosts, fewer results: logs PASS: t/protocol_dyndns2.pl 61 - no (unexpected) warnings (via done_testing) PASS: t/update_nics.pl 8 - legacy, min-interval elapsed but no change, use=web PASS: t/update_nics.pl 9 - legacy, min-interval elapsed but no change, usev4=webv4 PASS: t/update_nics.pl 10 - legacy, needs update, not yet time, use=web PASS: t/update_nics.pl 11 - legacy, needs update, not yet time, usev4=webv4 PASS: t/update_nics.pl 12 - legacy, min-interval elapsed, needs update, use=web PASS: t/update_nics.pl 13 - legacy, min-interval elapsed, needs update, usev4=webv4 PASS: t/update_nics.pl 14 - legacy, previous failed update, not yet time to retry, use=web PASS: t/update_nics.pl 15 - legacy, previous failed update, not yet time to retry, usev4=webv4 PASS: t/update_nics.pl 16 - legacy, previous failed update, time to retry, use=web PASS: t/update_nics.pl 17 - legacy, previous failed update, time to retry, usev4=webv4 PASS: t/update_nics.pl 18 - deduplicates identical IP discovery, use=web PASS: t/update_nics.pl 19 - deduplicates identical IP discovery, usev4=webv4 PASS: t/update_nics.pl 20 - deduplicates identical IP discovery, usev6=webv6 PASS: t/update_nics.pl 21 - no (unexpected) warnings (via done_testing) PASS: t/is-and-extract-ipv6.pl 3 - is_ipv6() with char adjacent to valid address PASS: t/is-and-extract-ipv6.pl 4 - extract_ipv6() PASS: t/is-and-extract-ipv6.pl 5 - extract_ipv6() of valid addr with adjacent non-word char PASS: t/is-and-extract-ipv6.pl 6 - interface config samples PASS: t/is-and-extract-ipv6.pl 7 - no (unexpected) warnings (via done_testing) ============================================================================ Testsuite summary for ddclient 4.0.0 ============================================================================ # TOTAL: 753 # PASS: 747 # SKIP: 6 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[2]: Leaving directory '/home/buildozer/aports/community/ddclient/src/ddclient-4.0.0' make[1]: Leaving directory '/home/buildozer/aports/community/ddclient/src/ddclient-4.0.0' >>> ddclient: Entering fakeroot... make[1]: Entering directory '/home/buildozer/aports/community/ddclient/src/ddclient-4.0.0' /bin/mkdir -p '/home/buildozer/aports/community/ddclient/pkg/ddclient/var'/cache/ddclient /bin/mkdir -p '/home/buildozer/aports/community/ddclient/pkg/ddclient/usr/bin' /bin/mkdir -p '/home/buildozer/aports/community/ddclient/pkg/ddclient/etc/ddclient/ddclient' /usr/bin/install -c -m 644 ddclient.conf '/home/buildozer/aports/community/ddclient/pkg/ddclient/etc/ddclient/ddclient' /usr/bin/install -c ddclient '/home/buildozer/aports/community/ddclient/pkg/ddclient/usr/bin' make[1]: Leaving directory '/home/buildozer/aports/community/ddclient/src/ddclient-4.0.0' >>> ddclient-openrc*: Running split function openrc... 'etc/init.d' -> '/home/buildozer/aports/community/ddclient/pkg/ddclient-openrc/etc/init.d' >>> ddclient-openrc*: Preparing subpackage ddclient-openrc... >>> ddclient-openrc*: Running postcheck for ddclient-openrc >>> ddclient-doc*: Running split function doc... 'usr/share/doc' -> '/home/buildozer/aports/community/ddclient/pkg/ddclient-doc/usr/share/doc' >>> ddclient-doc*: Preparing subpackage ddclient-doc... >>> ddclient-doc*: Running postcheck for ddclient-doc >>> ddclient*: Running postcheck for ddclient >>> ddclient*: Preparing package ddclient... >>> ddclient*: Script found. /bin/sh added as a dependency for ddclient-4.0.0-r0.apk >>> ddclient*: Adding .pre-install >>> ddclient-doc*: Tracing dependencies... >>> ddclient-doc*: Package size: 2.3 KB >>> ddclient-doc*: Compressing data... >>> ddclient-doc*: Create checksum... >>> ddclient-doc*: Create ddclient-doc-4.0.0-r0.apk >>> ddclient-openrc*: Tracing dependencies... >>> ddclient-openrc*: Package size: 584.0 B >>> ddclient-openrc*: Compressing data... >>> ddclient-openrc*: Create checksum... >>> ddclient-openrc*: Create ddclient-openrc-4.0.0-r0.apk >>> ddclient*: Tracing dependencies... curl net-tools perl perl-digest-sha1 /bin/sh >>> ddclient*: Package size: 331.8 KB >>> ddclient*: Compressing data... >>> ddclient*: Create checksum... >>> ddclient*: Create ddclient-4.0.0-r0.apk >>> ddclient: Build complete at Thu, 13 Feb 2025 09:49:02 +0000 elapsed time 0h 0m 15s >>> ddclient: Cleaning up srcdir >>> ddclient: Cleaning up pkgdir >>> ddclient: Uninstalling dependencies... (1/46) Purging .makedepends-ddclient (20250213.094848) (2/46) Purging net-tools (2.10-r3) (3/46) Purging mii-tool (2.10-r3) (4/46) Purging perl-digest-sha1 (2.13-r19) (5/46) Purging autoconf (2.72-r0) (6/46) Purging m4 (1.4.19-r3) (7/46) Purging automake (1.17-r0) (8/46) Purging perl-test-mockmodule (0.179.0-r0) (9/46) Purging perl-super (1.20190531-r3) (10/46) Purging perl-sub-identify (0.14-r11) (11/46) Purging perl-test-warnings (0.038-r0) (12/46) Purging perl-http-daemon (6.16-r2) (13/46) Purging perl-http-request-ascgi (1.2-r0) (14/46) Purging perl-class-accessor (0.51-r4) (15/46) Purging perl-plack (1.0051-r0) (16/46) Purging perl-file-sharedir (1.118-r1) (17/46) Purging perl-class-inspector (1.36-r3) (18/46) Purging perl-filesys-notify-simple (0.14-r2) (19/46) Purging perl-devel-stacktrace-ashtml (0.15-r4) (20/46) Purging perl-test-tcp (2.22-r3) (21/46) Purging perl-test-sharedfork (0.35-r3) (22/46) Purging perl-test-requires (0.11-r3) (23/46) Purging perl-try-tiny (0.32-r0) (24/46) Purging perl-apache-logformat-compiler (0.36-r3) (25/46) Purging perl-posix-strftime-compiler (0.46-r0) (26/46) Purging tzdata (2025a-r0) (27/46) Purging perl-http-message (7.00-r0) (28/46) Purging perl-clone (0.47-r0) (29/46) Purging perl-io-html (1.004-r1) (30/46) Purging perl-encode-locale (1.05-r5) (31/46) Purging perl-lwp-mediatypes (6.04-r3) (32/46) Purging perl-cookie-baker (0.12-r0) (33/46) Purging perl-uri (5.28-r0) (34/46) Purging perl-http-entity-parser (0.25-r2) (35/46) Purging perl-hash-multivalue (0.16-r4) (36/46) Purging perl-http-multipartparser (0.02-r3) (37/46) Purging perl-json-maybexs (1.004008-r0) (38/46) Purging perl-stream-buffered (0.03-r5) (39/46) Purging perl-www-form-urlencoded (0.26-r3) (40/46) Purging perl-http-headers-fast (0.22-r2) (41/46) Purging perl-http-date (6.06-r0) (42/46) Purging perl-devel-stacktrace (2.05-r0) (43/46) Purging git-perl (2.48.1-r0) (44/46) Purging perl-git (2.48.1-r0) (45/46) Purging perl-error (0.17029-r2) (46/46) Purging perl (5.40.1-r0) Executing busybox-1.37.0-r14.trigger OK: 278 MiB in 109 packages >>> ddclient: Updating the community/ppc64le repository index... >>> ddclient: Signing the index...