]> git.saurik.com Git - apple/xnu.git/blob - tests/dev_zero.c
xnu-7195.101.1.tar.gz
[apple/xnu.git] / tests / dev_zero.c
1 #include <stdio.h>
2 #include <fcntl.h>
3 #include <util.h>
4 #include <unistd.h>
5 #include <darwintest.h>
6
7 T_DECL(dev_zero,
8 "test reading from /dev/zero",
9 T_META_ASROOT(false))
10 {
11 int dev = opendev("/dev/zero", O_RDONLY, NULL, NULL);
12 char buffer[100];
13
14 for (int i = 0; i < 100; i++) {
15 buffer[i] = 0xff;
16 }
17
18 int rd_sz = read(dev, buffer, sizeof(buffer));
19
20 T_EXPECT_EQ(rd_sz, 100, "read from /dev/zero failed");
21
22 for (int i = 0; i < 100; i++) {
23 if (buffer[i]) {
24 T_FAIL("Unexpected non-zero character read from /dev/zero");
25 }
26 }
27
28 close(dev);
29 }