Commit graph

739 commits

Author SHA1 Message Date
Richard Hansen
cfcf5c1c04
Merge pull request #256 from rhansen/io-socket-inet
Import IO::Socket::INET
2020-07-14 17:35:24 -04:00
Richard Hansen
7d58f2d749 Import IO::Socket::INET
We've always required IO::Socket::INET but never explicitly included
it. For some reason that hasn't been a problem until now.

Fixes #255
2020-07-12 18:58:31 -04:00
Richard Hansen
5f1dacc3bd Eliminate unnecessary hashref
Pass the key-value pairs directly instead of via a hashref.
2020-07-11 21:39:48 -04:00
Richard Hansen
17069e3668 Clarify compatibility goal and core module support 2020-07-11 11:17:10 -04:00
Richard Hansen
7a21c1646c Sort the list of tests 2020-07-11 11:16:52 -04:00
Richard Hansen
c50ecfa9ee Merge pull request #198 from dkerr64/New-extract_ipv6-algorithm
New extract_ipv6 algorithm
2020-07-11 11:08:44 -04:00
David Kerr
29202f5bc1 New is_ipv6 and extract_ipv6 algorithms
Also add unit tests.
2020-07-11 11:04:47 -04:00
David Kerr
92c1294af9 Accept leading zeros in IPv4 addresses
Also add unit tests.
2020-07-11 11:04:33 -04:00
Sandro
f414493a06
Merge pull request #252 from rhansen/inet6
Skip IPv6 tests if IO::Socket::INET6 isn't available
2020-07-11 11:35:23 +02:00
Richard Hansen
a86f40ae9b Skip IPv6 tests if IO::Socket::INET6 isn't available
Fixes #251
2020-07-10 23:10:56 -04:00
Richard Hansen
ac7d8c7b6e
Merge pull request #249 from rhansen/mockmodule
Fix `write_cache` tests
2020-07-10 12:10:30 -04:00
Richard Hansen
d309732480 Add missing test dependency on Test::MockModule
This should have been done in 6ae5fe62d7
but I forgot.
2020-07-10 12:06:45 -04:00
Richard Hansen
bba1ecfe27 Switch from redefine to mock 2020-07-10 12:06:45 -04:00
Richard Hansen
173865bd75 Don't test writing to a read-only directory
root can always write to a read-only directory so the test was failing
on the CI runners (which run as root).
2020-07-10 12:06:45 -04:00
Richard Hansen
192a00ad64 Don't match against locale-dependent $! 2020-07-10 12:06:45 -04:00
Richard Hansen
4e1607c8f6 Enable autoflush on STDOUT and STDERR for tests
This prevents STDOUT lines from appearing out of order relative to
STDERR lines in the test log, which makes it much easier to understand
what's happening.

Devel::Autoflush is from https://metacpan.org/pod/Devel::Autoflush and
is licensed under the terms of the Apache 2.0 license.
2020-07-10 12:06:45 -04:00
Richard Hansen
4cee1e4c7d
Merge pull request #250 from Steve8291/patch-1
Adjust path to ddclient
2020-07-10 12:05:56 -04:00
Steve8291
6b7800380c Adjust path to ddclient
Installing with `make install` automatically places the ddclient
executable in `/usr/bin/ddclient`. This service file has the wrong
path and that causes systemd to be unable to start ddclient.
2020-07-10 12:04:21 -04:00
Richard Hansen
d0fe90ea2c
Merge pull request #229 from ddclient/repology-badge
Add repology.org to readme
2020-07-10 11:55:41 -04:00
Sandro
0b1cc726de Add repology.org to readme 2020-07-10 11:54:34 -04:00
Sandro
64ae58d49b
Merge pull request #240 from rhansen/geturl-unit-tests
Add `geturl` SSL tests
2020-07-08 20:38:06 +02:00
Richard Hansen
dd8e376784 Add geturl SSL tests
These don't test validation, only that IO::Socket::SSL is used.
2020-07-08 13:40:31 -04:00
Sandro
593206ad7d
Merge pull request #248 from rhansen/imports 2020-07-08 12:11:11 +02:00
Richard Hansen
6ff0362450 Get the AF_INET and friends constants from Socket
Apparently it is enough to simply import Socket or IO::Socket to use
AF_INET and friends, but all examples in official documentation show
them in the import list. Because I do not fully understand the
intricacies of Perl import logic, I do the same thing here, fully
aware that I might have joined a cargo cult. Regardless of its
correctness or necessity, listing the constants in the import list has
the advantage of making it clear why the `use` statement exists.

I chose to import the constants from Socket instead of IO::Socket
because that module's documentation explicitly documents the
constants.
2020-07-07 20:55:32 -04:00
Richard Hansen
3b931fb0a6 Add autoconf checks for all used core modules 2020-07-07 16:28:22 -04:00
Sandro
ca1b519444
Merge pull request #238 from rhansen/parse_assignments-subtest
Use `subtest` to group related tests
2020-07-07 20:28:57 +02:00
Richard Hansen
199e9125a4 Use subtest to group related tests
This reduces the output of `make check`, making it easier to zero in
on results of interest.
2020-07-07 13:01:15 -04:00
Richard Hansen
94aaff67cd Add Test::Simple v1.302175 to t/lib
The version of Test::More available in CentOS/RHEL 6 doesn't include
`subtest`, which we want to use. We can revert this commit once we
drop support for CentOS/RHEL 6.

The code is licensed under the same terms as Perl 5 itself:
https://github.com/Test-More/test-more/blob/v1.302175/LICENSE
2020-07-07 13:01:13 -04:00
Sandro
ee4191f865
Merge pull request #225 from reetp/master
Add DinaHosting
2020-07-07 10:15:32 +02:00
Sandro
f0c583890a
Merge pull request #246 from rhansen/unwrap
Unwrap unnecessarily wrapped lines
2020-07-07 10:11:37 +02:00
Sandro
b0b04aa278
Merge pull request #247 from rhansen/parse_assignments
Simplify `parse_assignments`
2020-07-07 10:11:21 +02:00
Sandro
eac5d25e47
Merge pull request #245 from rhansen/continue-on-failure
Don't skip updates to remaining hosts if one host fails
2020-07-07 10:10:42 +02:00
Sandro
9d7af91bf4
Merge pull request #242 from rhansen/mkdir-var-cache 2020-07-07 10:09:47 +02:00
Sandro
666fc293fb
Merge pull request #243 from rhansen/delete-fw-debug
Delete out-of-place debug messages
2020-07-07 10:08:49 +02:00
Sandro
44c92d9992
Merge pull request #244 from rhansen/truthiness
Test for definedness or emptiness, not truthiness
2020-07-07 10:05:59 +02:00
Richard Hansen
71acd749a1 Simplify parse_assignments 2020-07-07 00:10:33 -04:00
Richard Hansen
c3de24bb49 Unwrap unnecessarily wrapped lines 2020-07-07 00:09:44 -04:00
Richard Hansen
bdf8835904 Don't skip updates to remaining hosts if one host fails 2020-07-07 00:08:56 -04:00
Richard Hansen
ee8e1e8844 Don't abort if unable to write the cache file 2020-07-07 00:04:33 -04:00
Richard Hansen
6ae5fe62d7 Create /var/cache/ddclient if it doesn't exist
Fixes #76
2020-07-07 00:04:33 -04:00
Richard Hansen
df3c777e11 Delete out-of-place debug messages
Neither `opt('fw')` nor `$globals{'fw'}` are used in `geturl` so
delete the debug messages showing their values.
2020-07-07 00:03:56 -04:00
John Crisp
e2c3f9dd04 Add support for dinahosting
Fixes #203
2020-07-07 00:00:45 -04:00
Richard Hansen
231306395a Test for definedness or emptiness, not truthiness
Use `//` or `eq ''` for tests to avoid treating the string `'0'` as
false.
2020-07-06 23:58:51 -04:00
Richard Hansen
4670955cb6
Merge pull request #241 from rhansen/get_ip-ssl
Fix detection of `get_ip` caller
2020-07-06 23:56:47 -04:00
Richard Hansen
03dffae74e Honor the ssl option for the web URL 2020-07-06 20:20:01 -04:00
Richard Hansen
7921c53605 Explicitly tell geturl to ignore the global ssl option
Changing behavior based on the identity of the caller is fragile and
makes the code difficult to understand.
2020-07-06 20:19:27 -04:00
Richard Hansen
2e5db5af44 Fix detection of get_ip caller
This was broken in f6f920eb39.
2020-07-06 17:14:08 -04:00
Richard Hansen
4eae0d39a9
Merge pull request #239 from rhansen/perl-core
CentOS/RHEL/Fedora CI improvements
2020-07-06 16:44:28 -04:00
Richard Hansen
f11fef5c50 Install modules for testing on CentOS/RHEL/Fedora 2020-07-06 16:33:26 -04:00
Richard Hansen
1b63ae50c9 Colorize test results 2020-07-06 15:59:30 -04:00