summaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorPavel Reichl <preichl@redhat.com>2015-09-12 09:09:35 -0400
committerJakub Hrozek <jhrozek@redhat.com>2015-09-22 14:51:22 +0200
commiteeac17ebbe38f16deaa8599231cccfc97aaac85c (patch)
tree9b37ee15c8c3bf452ce6b2fff114d9371c45b785 /src/tests
parente6595222c41af84288d303e8d464ce45b1408ed3 (diff)
downloadsssd-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.c29
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),