diff options
author | Pavel Reichl <preichl@redhat.com> | 2015-09-12 09:09:35 -0400 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-09-22 14:51:22 +0200 |
commit | eeac17ebbe38f16deaa8599231cccfc97aaac85c (patch) | |
tree | 9b37ee15c8c3bf452ce6b2fff114d9371c45b785 /src/tests | |
parent | e6595222c41af84288d303e8d464ce45b1408ed3 (diff) | |
download | sssd-eeac17ebbe38f16deaa8599231cccfc97aaac85c.tar.gz sssd-eeac17ebbe38f16deaa8599231cccfc97aaac85c.tar.xz sssd-eeac17ebbe38f16deaa8599231cccfc97aaac85c.zip |
DDNS: execute nsupdate for single update of PTR rec
nsupdate fails definitely if any of update request fails when GSSAPI is used.
As tmp solution nsupdate is executed for each update.
Resolves:
https://fedorahosted.org/sssd/ticket/2783
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/cmocka/test_dyndns.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tests/cmocka/test_dyndns.c b/src/tests/cmocka/test_dyndns.c index bed7565f4..815acf696 100644 --- a/src/tests/cmocka/test_dyndns.c +++ b/src/tests/cmocka/test_dyndns.c @@ -201,6 +201,32 @@ void will_return_getifaddrs(const char *ifname, const char *straddr, } } +void dyndns_test_sss_iface_addr_get_misc(void **state) +{ + struct sss_iface_addr addrs[3]; + struct sockaddr_storage ss[3]; + + addrs[0].prev = NULL; + addrs[0].next = &addrs[1]; + addrs[0].addr = &ss[0]; + addrs[1].prev = &addrs[0]; + addrs[1].next = &addrs[2]; + addrs[1].addr = &ss[1]; + addrs[2].prev = &addrs[1]; + addrs[2].next = NULL; + addrs[2].addr = &ss[2]; + + assert_ptr_equal(sss_iface_addr_get_address(NULL), NULL); + assert_ptr_equal(sss_iface_addr_get_address(&addrs[0]), &ss[0]); + assert_ptr_equal(sss_iface_addr_get_address(&addrs[1]), &ss[1]); + assert_ptr_equal(sss_iface_addr_get_address(&addrs[2]), &ss[2]); + + assert_ptr_equal(sss_iface_addr_get_next(NULL), NULL); + assert_ptr_equal(sss_iface_addr_get_next(&addrs[0]), &addrs[1]); + assert_ptr_equal(sss_iface_addr_get_next(&addrs[1]), &addrs[2]); + assert_ptr_equal(sss_iface_addr_get_next(&addrs[2]), NULL); +} + void dyndns_test_get_ifaddr(void **state) { errno_t ret; @@ -703,6 +729,9 @@ int main(int argc, const char *argv[]) const struct CMUnitTest tests[] = { /* Utility functions unit test */ + cmocka_unit_test_setup_teardown(dyndns_test_sss_iface_addr_get_misc, + dyndns_test_simple_setup, + dyndns_test_teardown), cmocka_unit_test_setup_teardown(dyndns_test_get_ifaddr, dyndns_test_simple_setup, dyndns_test_teardown), |