WiP
[oweals/gnunet.git] / src / util / test_disk.c
index e305889d86f6b371100e75fde1b6bacbf4765785..fb79e7cd8641c271fd51e835a594141b2cc7507a 100644 (file)
@@ -1,10 +1,10 @@
 /*
      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
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
@@ -36,8 +36,11 @@ testReadWrite ()
   char tmp[100 + 1];
   int ret;
 
-  if (GNUNET_OK != GNUNET_DISK_fn_write (".testfile", TESTSTRING, strlen (
-      TESTSTRING), GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE))
+  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;
@@ -85,16 +88,17 @@ testReadWrite ()
 static int
 testOpenClose ()
 {
-  struct GNUNET_IO_Handle *fh;
-  unsigned long long size;
+  struct GNUNET_DISK_FileHandle *fh;
+  uint64_t size;
   long avail;
 
   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_IO_handle_invalid (fh));
+                              | 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_DISK_file_close (fh);
   GNUNET_break (GNUNET_OK ==
                 GNUNET_DISK_file_size (".testfile", &size, GNUNET_NO));
   if (size != 5)
@@ -102,22 +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);
+  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_IO_handle_invalid (fh));
+                              | 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 != GNUNET_DISK_file_write (fh, "HelloWorld123456", 16))
       {
-        GNUNET_DISK_file_close (&fh);
+        GNUNET_DISK_file_close (fh);
         GNUNET_break (0 == UNLINK (".testfile"));
         return 1;
       }
-  GNUNET_DISK_file_close (&fh);
+  GNUNET_DISK_file_close (fh);
   GNUNET_break (0 == UNLINK (".testfile"));
 
   return 0;
@@ -136,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)
@@ -161,8 +169,7 @@ iter_callback (void *cls,
 static void
 iter_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
-  GNUNET_DISK_directory_iterator_start (tc->sched,
-                                        GNUNET_SCHEDULER_PRIORITY_DEFAULT,
+  GNUNET_DISK_directory_iterator_start (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
                                         "test", &iter_callback, cls);
 }
 
@@ -197,12 +204,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;
 }
 
@@ -223,7 +231,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;