tests: add test for fdset_iterate

This commit is contained in:
Ronny Chevalier
2014-08-16 14:19:08 +02:00
committed by Lennart Poettering
parent 0709b74374
commit d7aeffea14

View File

@@ -126,12 +126,41 @@ static void test_fdset_remove(void) {
unlink(name);
}
static void test_fdset_iterate(void) {
int fd = -1;
FDSet *fdset = NULL;
char name[] = "/tmp/test-fdset_iterate.XXXXXX";
Iterator i;
int c = 0;
int a;
fd = mkostemp_safe(name, O_RDWR|O_CLOEXEC);
assert_se(fd >= 0);
fdset = fdset_new();
assert_se(fdset);
assert_se(fdset_put(fdset, fd) >= 0);
assert_se(fdset_put(fdset, fd) >= 0);
assert_se(fdset_put(fdset, fd) >= 0);
FDSET_FOREACH(a, fdset, i) {
c++;
assert_se(a == fd);
}
assert_se(c == 1);
fdset_free(fdset);
unlink(name);
}
int main(int argc, char *argv[]) {
test_fdset_new_fill();
test_fdset_put_dup();
test_fdset_cloexec();
test_fdset_close_others();
test_fdset_remove();
test_fdset_iterate();
return 0;
}