Changes user includes to <library/header.h> (XCC)
[akaros.git] / user / utest / file-posix.c
1 #define _LARGEFILE64_SOURCE /* needed to use lseek64 */
2
3 #include <stdio.h> 
4 #include <sys/types.h>
5 #include <sys/stat.h>
6 #include <fcntl.h>
7 #include <parlib/arch/arch.h>
8 #include <unistd.h>
9 #include <errno.h>
10 #include <dirent.h>
11 #include <stdlib.h>
12 #include <string.h>
13
14 #include <utest/utest.h>
15
16 TEST_SUITE("FILE POSIX");
17
18 /* <--- Begin definition of test cases ---> */
19
20 bool test_openat(void)
21 {
22         int dfd = open("/dir1", O_RDONLY);
23         if (dfd < 0) {
24                 perror("open dir1");
25                 return FALSE;
26         }
27         int ffd = openat(dfd, "f1.txt", O_RDWR);
28         if (ffd < 0) {
29                 perror("open f1.txt");
30                 close(dfd);
31                 return FALSE;
32         }
33         close(ffd);
34         close(dfd);
35         return TRUE;
36 }
37
38 /* <--- End definition of test cases ---> */
39
40 struct utest utests[] = {
41         UTEST_REG(openat),
42 };
43 int num_utests = sizeof(utests) / sizeof(struct utest);
44
45 int main(int argc, char *argv[])
46 {
47         // Run test suite passing it all the args as whitelist of what tests to run.
48         char **whitelist = &argv[1];
49         int whitelist_len = argc - 1;
50         RUN_TEST_SUITE(utests, num_utests, whitelist, whitelist_len);
51 }