summaryrefslogtreecommitdiffstats
path: root/src/tests/util-tests.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-12-08 17:39:57 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-01-15 10:33:01 +0100
commitf3d91181d4ee9da3f8bbf4ddf8782951c0ae46c1 (patch)
treebac7a56e6bf8d336437396d937f01ed1d04ebd11 /src/tests/util-tests.c
parent0e8a48e38e467b05951d2719956f8c0d5aed76b3 (diff)
downloadsssd-f3d91181d4ee9da3f8bbf4ddf8782951c0ae46c1.tar.gz
sssd-f3d91181d4ee9da3f8bbf4ddf8782951c0ae46c1.tar.xz
sssd-f3d91181d4ee9da3f8bbf4ddf8782951c0ae46c1.zip
UTIL: Unify the fd_nonblocking implementation
The responder and child_common modules each had their own implementation. Unify it instead and add a unit test. Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src/tests/util-tests.c')
-rw-r--r--src/tests/util-tests.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c
index 08e8b8d26..94015d8e1 100644
--- a/src/tests/util-tests.c
+++ b/src/tests/util-tests.c
@@ -407,6 +407,26 @@ START_TEST(test_sss_filter_sanitize)
}
END_TEST
+START_TEST(test_fd_nonblocking)
+{
+ int fd;
+ int flags;
+ errno_t ret;
+
+ fd = open("/dev/null", O_RDONLY);
+ fail_unless(fd > 0);
+
+ flags = fcntl(fd, F_GETFL, 0);
+ fail_if(flags & O_NONBLOCK);
+
+ ret = sss_fd_nonblocking(fd);
+ fail_unless(ret == EOK);
+ flags = fcntl(fd, F_GETFL, 0);
+ fail_unless(flags & O_NONBLOCK);
+ close(fd);
+}
+END_TEST
+
START_TEST(test_size_t_overflow)
{
fail_unless(!SIZE_T_OVERFLOW(1, 1), "unexpected overflow");
@@ -1020,6 +1040,7 @@ Suite *util_suite(void)
tcase_add_test (tc_util, test_check_ipv6_addr);
tcase_add_test (tc_util, test_is_host_in_domain);
tcase_add_test (tc_util, test_known_service);
+ tcase_add_test (tc_util, test_fd_nonblocking);
tcase_set_timeout(tc_util, 60);
TCase *tc_utf8 = tcase_create("utf8");