dir.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include <config.h>
  2. #include <glib.h>
  3. #include <string.h>
  4. #include <stdio.h>
  5. #ifdef HAVE_UNISTD_H
  6. #include <unistd.h>
  7. #endif
  8. #ifdef G_OS_UNIX
  9. #include <pthread.h>
  10. #endif
  11. #include "test.h"
  12. /* This test is just to be used with valgrind */
  13. RESULT
  14. test_dir ()
  15. {
  16. GDir *dir;
  17. GError *error;
  18. const gchar *name;
  19. /*
  20. dir = g_dir_open (NULL, 0, NULL);
  21. */
  22. dir = g_dir_open ("", 0, NULL);
  23. if (dir != NULL)
  24. return FAILED ("1 Should be an error");
  25. dir = g_dir_open ("", 9, NULL);
  26. if (dir != NULL)
  27. return FAILED ("2 Should be an error");
  28. error = NULL;
  29. dir = g_dir_open (".ljasdslakjd", 9, &error);
  30. if (dir != NULL)
  31. return FAILED ("3 opendir should fail");
  32. if (error == NULL)
  33. return FAILED ("4 got no error");
  34. g_error_free (error);
  35. error = NULL;
  36. dir = g_dir_open (g_get_tmp_dir (), 9, &error);
  37. if (dir == NULL)
  38. return FAILED ("5 opendir should succeed");
  39. if (error != NULL)
  40. return FAILED ("6 got an error");
  41. name = NULL;
  42. name = g_dir_read_name (dir);
  43. if (name == NULL)
  44. return FAILED ("7 didn't read a file name");
  45. while ((name = g_dir_read_name (dir)) != NULL) {
  46. if (strcmp (name, ".") == 0)
  47. return FAILED (". directory found");
  48. if (strcmp (name, "..") == 0)
  49. return FAILED (".. directory found");
  50. }
  51. g_dir_close (dir);
  52. return OK;
  53. }
  54. static Test dir_tests [] = {
  55. {"g_dir_*", test_dir},
  56. {NULL, NULL}
  57. };
  58. DEFINE_TEST_GROUP_INIT(dir_tests_init, dir_tests)