mirror of
https://github.com/systemd/systemd.git
synced 2026-08-03 14:40:31 +00:00
tests: add test for fdset_iterate
This commit is contained in:
committed by
Lennart Poettering
parent
0709b74374
commit
d7aeffea14
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user