access_tc.c 848 B

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