/*
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
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,
}
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,
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)
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;
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)
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;
}
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;