asserts
[oweals/gnunet.git] / src / util / test_disk.c
index 0d385afa714db41076e1842226f57495e3471898..f06ffacaf02647cadafc0c092875d40a6b13f033 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2001, 2002, 2003, 2005, 2006 Christian Grothoff (and other contributing authors)
+     (C) 2001, 2002, 2003, 2005, 2006, 2009 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -36,13 +36,15 @@ testReadWrite ()
   char tmp[100 + 1];
   int ret;
 
-  if (GNUNET_OK !=
-      GNUNET_DISK_file_write (".testfile", TESTSTRING, strlen (TESTSTRING),
-                              "644"))
+  if (strlen (TESTSTRING) !=
+      GNUNET_DISK_fn_write (".testfile", TESTSTRING,
+                            strlen (TESTSTRING),
+                            GNUNET_DISK_PERM_USER_READ |
+                            GNUNET_DISK_PERM_USER_WRITE))
     return 1;
   if (GNUNET_OK != GNUNET_DISK_file_test (".testfile"))
     return 1;
-  ret = GNUNET_DISK_file_read (".testfile", sizeof (tmp) - 1, tmp);
+  ret = GNUNET_DISK_fn_read (".testfile", tmp, sizeof (tmp) - 1);
   if (ret < 0)
     {
       fprintf (stderr,
@@ -59,7 +61,7 @@ testReadWrite ()
     }
   GNUNET_DISK_file_copy (".testfile", ".testfile2");
   memset (tmp, 0, sizeof (tmp));
-  ret = GNUNET_DISK_file_read (".testfile2", sizeof (tmp) - 1, tmp);
+  ret = GNUNET_DISK_fn_read (".testfile2", tmp, sizeof (tmp) - 1);
   if (ret < 0)
     {
       fprintf (stderr,
@@ -86,15 +88,17 @@ testReadWrite ()
 static int
 testOpenClose ()
 {
-  int fd;
-  unsigned long long size;
+  struct GNUNET_DISK_FileHandle *fh;
+  uint64_t size;
   long avail;
 
-  fd = GNUNET_DISK_file_open (".testfile",
-                              O_RDWR | O_CREAT, S_IWUSR | S_IRUSR);
-  GNUNET_assert (-1 != fd);
-  GNUNET_break (5 == WRITE (fd, "Hello", 5));
-  GNUNET_DISK_file_close (".testfile", fd);
+  fh = GNUNET_DISK_file_open (".testfile", GNUNET_DISK_OPEN_READWRITE
+                              | GNUNET_DISK_OPEN_CREATE,
+                              GNUNET_DISK_PERM_USER_READ |
+                              GNUNET_DISK_PERM_USER_WRITE);
+  GNUNET_assert (GNUNET_NO == GNUNET_DISK_handle_invalid (fh));
+  GNUNET_break (5 == GNUNET_DISK_file_write (fh, "Hello", 5));
+  GNUNET_DISK_file_close (fh);
   GNUNET_break (GNUNET_OK ==
                 GNUNET_DISK_file_size (".testfile", &size, GNUNET_NO));
   if (size != 5)
@@ -102,21 +106,23 @@ testOpenClose ()
   GNUNET_break (0 == UNLINK (".testfile"));
 
   /* test that avail goes down as we fill the disk... */
-  GNUNET_log_skip (1);
+  GNUNET_log_skip (1, GNUNET_NO);
   avail = GNUNET_DISK_get_blocks_available (".testfile");
-  GNUNET_log_skip (0);
-  fd = GNUNET_DISK_file_open (".testfile",
-                              O_RDWR | O_CREAT, S_IWUSR | S_IRUSR);
-  GNUNET_assert (-1 != fd);
+  GNUNET_log_skip (0, GNUNET_NO);
+  fh = GNUNET_DISK_file_open (".testfile", GNUNET_DISK_OPEN_READWRITE
+                              | GNUNET_DISK_OPEN_CREATE,
+                              GNUNET_DISK_PERM_USER_WRITE |
+                              GNUNET_DISK_PERM_USER_READ);
+  GNUNET_assert (GNUNET_NO == GNUNET_DISK_handle_invalid (fh));
   while ((avail == GNUNET_DISK_get_blocks_available (".testfile")) &&
          (avail != -1))
-    if (16 != WRITE (fd, "HelloWorld123456", 16))
+    if (16 != GNUNET_DISK_file_write (fh, "HelloWorld123456", 16))
       {
-        GNUNET_DISK_file_close (".testfile", fd);
+        GNUNET_DISK_file_close (fh);
         GNUNET_break (0 == UNLINK (".testfile"));
         return 1;
       }
-  GNUNET_DISK_file_close (".testfile", fd);
+  GNUNET_DISK_file_close (fh);
   GNUNET_break (0 == UNLINK (".testfile"));
 
   return 0;
@@ -135,11 +141,14 @@ scan_callback (void *want, const char *filename)
 static int
 testDirScan ()
 {
-  if (GNUNET_OK != GNUNET_DISK_directory_create ("test/entry"))
+  if (GNUNET_OK !=
+      GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "entry"))
     return 1;
-  if (GNUNET_OK != GNUNET_DISK_directory_create ("test/entry_more"))
+  if (GNUNET_OK !=
+      GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "entry_more"))
     return 1;
-  GNUNET_DISK_directory_scan ("test", &scan_callback, "test/entry");
+  GNUNET_DISK_directory_scan ("test", &scan_callback,
+                              "test" DIR_SEPARATOR_STR "entry");
   if (GNUNET_OK != GNUNET_DISK_directory_remove ("test"))
     return 1;
   if (ok < 2)
@@ -196,12 +205,13 @@ testGetHome ()
   cfg = GNUNET_CONFIGURATION_create ();
   GNUNET_assert (cfg != NULL);
   GNUNET_CONFIGURATION_set_value_string (cfg, "service", "HOME",
-                                         "/tmp/a/b/c");
+                                         "/tmp/test-gnunet-disk-a/b/c");
   fn = GNUNET_DISK_get_home_filename (cfg, "service", "d", "e", NULL);
   GNUNET_assert (fn != NULL);
   GNUNET_CONFIGURATION_destroy (cfg);
-  ret = strcmp ("/tmp/a/b/c/d/e", fn);
+  ret = strcmp ("/tmp/test-gnunet-disk-a/b/c/d/e", fn);
   GNUNET_free (fn);
+  GNUNET_break (GNUNET_OK == GNUNET_DISK_directory_remove ("/tmp/test-gnunet-disk-a"));
   return ret;
 }
 
@@ -222,7 +232,7 @@ testCanonicalize ()
 static int
 testChangeOwner ()
 {
-  GNUNET_log_skip (1);
+  GNUNET_log_skip (1, GNUNET_NO);
   if (GNUNET_OK == GNUNET_DISK_file_change_owner ("/dev/null", "unknownuser"))
     return 1;
   return 0;