1 #include <stdio.h>
2 #include <unistd.h>
3 #include <stdlib.h>
4 #include <sys/stat.h>
5 
6 #define ACCESS_DIR "./access_dir"
7 
8 #include <utest.h>
access_entry(void)9 static int access_entry(void)
10 {
11     int i = 0;
12 
13     /* file/dir that not exist*/
14     char *files[] =
15     {
16         "/usr/local/nginx/conf/nginx.conf",
17         "./a.out",
18         "/usr/include/libgen.h",
19         "/ff/last",
20         NULL
21     };
22 
23     for (i = 0; files[i] != NULL; i++)
24     {
25         /* mode=0: file/dir exist or not */
26         uassert_int_not_equal(access(files[i], 0), 0);
27     }
28 
29     mkdir(ACCESS_DIR, 0x777);
30     uassert_int_equal(access(ACCESS_DIR, 0), 0);
31     return 0;
32 }
33 
test_access(void)34 static void test_access(void)
35 {
36     uassert_int_equal(access_entry(), 0);
37 }
38 
testcase(void)39 static void testcase(void)
40 {
41     UTEST_UNIT_RUN(test_access);
42 }
43 UTEST_TC_EXPORT(testcase, "posix.unistd_h.access_tc.c", RT_NULL, RT_NULL, 10);
44 
45