X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_disk.c;h=7fc8618ce8c2bb6d0ae45ab56ba913a3c13e1295;hb=72c8645af31896829b674b575c5375706f362a30;hp=dd41c53c02d851a309af6fd1fd3efcd54f1ccb6f;hpb=af0734675260188d113f83e4197a647b55384804;p=oweals%2Fgnunet.git diff --git a/src/util/test_disk.c b/src/util/test_disk.c index dd41c53c0..7fc8618ce 100644 --- a/src/util/test_disk.c +++ b/src/util/test_disk.c @@ -4,7 +4,7 @@ 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,43 +36,42 @@ 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; ret = GNUNET_DISK_fn_read (".testfile", tmp, sizeof (tmp) - 1); if (ret < 0) - { - fprintf (stderr, - "Error reading file `%s' in testReadWrite\n", ".testfile"); - return 1; - } + { + FPRINTF (stderr, "Error reading file `%s' in testReadWrite\n", ".testfile"); + return 1; + } tmp[ret] = '\0'; if (0 != memcmp (tmp, TESTSTRING, strlen (TESTSTRING) + 1)) - { - fprintf (stderr, - "Error in testReadWrite: *%s* != *%s* for file %s\n", - tmp, TESTSTRING, ".testfile"); - return 1; - } + { + FPRINTF (stderr, "Error in testReadWrite: *%s* != *%s* for file %s\n", tmp, + TESTSTRING, ".testfile"); + return 1; + } GNUNET_DISK_file_copy (".testfile", ".testfile2"); memset (tmp, 0, sizeof (tmp)); ret = GNUNET_DISK_fn_read (".testfile2", tmp, sizeof (tmp) - 1); if (ret < 0) - { - fprintf (stderr, - "Error reading file `%s' in testReadWrite\n", ".testfile2"); - return 1; - } + { + FPRINTF (stderr, "Error reading file `%s' in testReadWrite\n", + ".testfile2"); + return 1; + } tmp[ret] = '\0'; if (0 != memcmp (tmp, TESTSTRING, strlen (TESTSTRING) + 1)) - { - fprintf (stderr, - "Error in testReadWrite: *%s* != *%s* for file %s\n", - tmp, TESTSTRING, ".testfile2"); - return 1; - } + { + FPRINTF (stderr, "Error in testReadWrite: *%s* != *%s* for file %s\n", tmp, + TESTSTRING, ".testfile2"); + return 1; + } GNUNET_break (0 == UNLINK (".testfile")); GNUNET_break (0 == UNLINK (".testfile2")); @@ -87,39 +86,21 @@ testOpenClose () { 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); + 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)); + GNUNET_DISK_file_size (".testfile", &size, GNUNET_NO, GNUNET_YES)); if (size != 5) return 1; GNUNET_break (0 == UNLINK (".testfile")); - /* test that avail goes down as we fill the disk... */ - GNUNET_log_skip (1, GNUNET_NO); - avail = GNUNET_DISK_get_blocks_available (".testfile"); - 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 != GNUNET_DISK_file_write (fh, "HelloWorld123456", 16)) - { - GNUNET_DISK_file_close (fh); - GNUNET_break (0 == UNLINK (".testfile")); - return 1; - } - GNUNET_DISK_file_close (fh); - GNUNET_break (0 == UNLINK (".testfile")); - return 0; } @@ -136,11 +117,14 @@ scan_callback (void *want, const char *filename) static int testDirScan () { - if (GNUNET_OK != GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "entry")) + if (GNUNET_OK != + GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "entry")) return 1; - if (GNUNET_OK != GNUNET_DISK_directory_create ("test" DIR_SEPARATOR_STR "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" DIR_SEPARATOR_STR "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) @@ -149,11 +133,11 @@ testDirScan () } static void -iter_callback (void *cls, - struct GNUNET_DISK_DirectoryIterator *di, +iter_callback (void *cls, struct GNUNET_DISK_DirectoryIterator *di, const char *filename, const char *dirname) { int *i = cls; + (*i)++; GNUNET_DISK_directory_iterator_next (di, GNUNET_NO); } @@ -161,8 +145,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,13 +180,14 @@ 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_DISK_directory_remove ("/tmp/a"); + GNUNET_break (GNUNET_OK == + GNUNET_DISK_directory_remove ("/tmp/test-gnunet-disk-a")); return ret; } @@ -211,12 +195,13 @@ static int testCanonicalize () { char *fn = GNUNET_strdup ("ab?><|cd*ef:/g\""); + GNUNET_DISK_filename_canonicalize (fn); if (0 != strcmp (fn, "ab____cd_ef__g_")) - { - GNUNET_free (fn); - return 1; - } + { + GNUNET_free (fn); + return 1; + } GNUNET_free (fn); return 0; } @@ -243,7 +228,7 @@ testDirMani () return 1; if (GNUNET_OK != GNUNET_DISK_directory_create ("test")) return 1; - if (GNUNET_YES != GNUNET_DISK_directory_test ("test")) + if (GNUNET_YES != GNUNET_DISK_directory_test ("test", GNUNET_YES)) return 1; if (GNUNET_OK != GNUNET_DISK_directory_remove ("test")) return 1; @@ -268,9 +253,9 @@ main (int argc, char *argv[]) failureCount += testChangeOwner (); failureCount += testDirMani (); if (failureCount != 0) - { - fprintf (stderr, "\n%u TESTS FAILED!\n", failureCount); - return -1; - } + { + FPRINTF (stderr, "\n%u TESTS FAILED!\n", failureCount); + return -1; + } return 0; } /* end of main */