/*
This file is part of GNUnet.
- Copyright (C) 2001, 2002, 2003, 2005, 2006, 2009 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2001, 2002, 2003, 2005, 2006, 2009 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
#define TESTSTRING "Hello World\0"
+
static int
testReadWrite ()
{
return 0;
}
+
static int
testOpenClose ()
{
static int ok;
+
static int
scan_callback (void *want, const char *filename)
{
return GNUNET_OK;
}
+
static int
testDirScan ()
{
if (GNUNET_OK !=
GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "entry"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_OK !=
GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "entry_more"))
+ {
+ GNUNET_break (0);
return 1;
+ }
GNUNET_DISK_directory_scan ("test", &scan_callback,
"test" DIR_SEPARATOR_STR "entry");
if (GNUNET_OK != GNUNET_DISK_directory_remove ("test"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (ok < 2)
+ {
+ GNUNET_break (0);
return 1;
+ }
return 0;
}
-static void
-iter_callback (void *cls, struct GNUNET_DISK_DirectoryIterator *di,
- const char *filename, const char *dirname)
+
+static int
+iter_callback (void *cls,
+ const char *filename)
{
int *i = cls;
-
+
(*i)++;
- GNUNET_DISK_directory_iterator_next (di, GNUNET_NO);
+ return GNUNET_OK;
}
-static void
-iter_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
- GNUNET_DISK_directory_iterator_start (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- "test", &iter_callback, cls);
-}
static int
testDirIter ()
i = 0;
if (GNUNET_OK != GNUNET_DISK_directory_create ("test/entry"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_OK != GNUNET_DISK_directory_create ("test/entry_many"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_OK != GNUNET_DISK_directory_create ("test/entry_more"))
+ {
+ GNUNET_break (0);
return 1;
- GNUNET_SCHEDULER_run (&iter_task, &i);
+ }
+ GNUNET_DISK_directory_scan ("test",
+ &iter_callback,
+ &i);
if (GNUNET_OK != GNUNET_DISK_directory_remove ("test"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (i < 3)
+ {
+ GNUNET_break (0);
return 1;
+ }
return 0;
}
return 0;
}
+
static int
testChangeOwner ()
{
return 0;
}
+
static int
testDirMani ()
{
if (GNUNET_OK != GNUNET_DISK_directory_create_for_file ("test/ing"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_NO != GNUNET_DISK_file_test ("test"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_NO != GNUNET_DISK_file_test ("test/ing"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_OK != GNUNET_DISK_directory_remove ("test"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_OK != GNUNET_DISK_directory_create ("test"))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_YES != GNUNET_DISK_directory_test ("test", GNUNET_YES))
+ {
+ GNUNET_break (0);
return 1;
+ }
if (GNUNET_OK != GNUNET_DISK_directory_remove ("test"))
+ {
+ GNUNET_break (0);
return 1;
-
-
+ }
return 0;
}
failureCount += testCanonicalize ();
failureCount += testChangeOwner ();
failureCount += testDirMani ();
- if (failureCount != 0)
+ if (0 != failureCount)
{
- FPRINTF (stderr, "\n%u TESTS FAILED!\n", failureCount);
+ FPRINTF (stderr,
+ "\n%u TESTS FAILED!\n",
+ failureCount);
return -1;
}
return 0;