From: Christian Grothoff Date: Sun, 15 Jul 2012 15:04:45 +0000 (+0000) Subject: -moving block test to resolve cyclic dependency X-Git-Tag: initial-import-from-subversion-38251~12476 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=428fb513ef4353f382a5e1b35e838af1fed59058;p=oweals%2Fgnunet.git -moving block test to resolve cyclic dependency --- diff --git a/src/block/Makefile.am b/src/block/Makefile.am index a949833f9..d0a5ae752 100644 --- a/src/block/Makefile.am +++ b/src/block/Makefile.am @@ -49,15 +49,3 @@ libgnunetblock_la_DEPENDENCIES = \ libgnunetblock_la_LDFLAGS = \ $(GN_LIB_LDFLAGS) \ -version-info 0:0:0 - -check_PROGRAMS = \ - test_block - -#TESTS = $(check_PROGRAMS) - -test_block_SOURCES = \ - test_block.c -test_block_LDADD = \ - $(top_builddir)/src/block/libgnunetblock.la \ - $(top_builddir)/src/util/libgnunetutil.la - diff --git a/src/block/test_block.c b/src/block/test_block.c deleted file mode 100644 index 5e2b34696..000000000 --- a/src/block/test_block.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - This file is part of GNUnet - (C) 2010 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 3, or (at your - option) any later version. - - GNUnet is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ -/** - * @file block/test_block.c - * @brief test for block.c - * @author Christian Grothoff - */ -#include "platform.h" -#include "gnunet_block_lib.h" - -#define DEBUG GNUNET_EXTRA_LOGGING - -#define VERBOSE GNUNET_NO - -static int -test_fs (struct GNUNET_BLOCK_Context *ctx) -{ - struct GNUNET_HashCode key; - char block[4]; - - memset (block, 1, sizeof (block)); - if (GNUNET_OK != - GNUNET_BLOCK_get_key (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, block, - sizeof (block), &key)) - return 1; - if (GNUNET_BLOCK_EVALUATION_OK_LAST != - GNUNET_BLOCK_evaluate (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, &key, NULL, 0, - NULL, 0, block, sizeof (block))) - return 2; - if (GNUNET_BLOCK_EVALUATION_REQUEST_VALID != - GNUNET_BLOCK_evaluate (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, &key, NULL, 0, - NULL, 0, NULL, 0)) - return 4; - GNUNET_log_skip (1, GNUNET_NO); - if (GNUNET_BLOCK_EVALUATION_REQUEST_INVALID != - GNUNET_BLOCK_evaluate (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, &key, NULL, 0, - "bogus", 5, NULL, 0)) - return 8; - GNUNET_log_skip (0, GNUNET_YES); - return 0; -} - -int -main (int argc, char *argv[]) -{ - int ret; - struct GNUNET_BLOCK_Context *ctx; - struct GNUNET_CONFIGURATION_Handle *cfg; - - GNUNET_log_setup ("test-block", "WARNING", NULL); - cfg = GNUNET_CONFIGURATION_create (); - GNUNET_CONFIGURATION_set_value_string (cfg, "block", "PLUGINS", "fs"); - ctx = GNUNET_BLOCK_context_create (cfg); - ret = test_fs (ctx); - GNUNET_BLOCK_context_destroy (ctx); - GNUNET_CONFIGURATION_destroy (cfg); - if (ret != 0) - FPRINTF (stderr, "Tests failed: %d\n", ret); - return ret; -} diff --git a/src/fs/Makefile.am b/src/fs/Makefile.am index 9615b67cd..43d60d6f2 100644 --- a/src/fs/Makefile.am +++ b/src/fs/Makefile.am @@ -205,6 +205,7 @@ if HAVE_BENCHMARKS endif check_PROGRAMS = \ + test_plugin_block_fs \ test_fs_directory \ test_fs_download \ test_fs_download_indexed \ @@ -228,6 +229,11 @@ check_PROGRAMS = \ test_gnunet_service_fs_p2p \ $(FS_BENCHMARKS) +test_plugin_block_fs_SOURCES = \ + test_plugin_block_fs.c +test_plugin_block_fs_LDADD = \ + $(top_builddir)/src/block/libgnunetblock.la \ + $(top_builddir)/src/util/libgnunetutil.la if HAVE_PYTHON check_SCRIPTS = \ diff --git a/src/fs/test_plugin_block_fs.c b/src/fs/test_plugin_block_fs.c new file mode 100644 index 000000000..a9f5ce3f0 --- /dev/null +++ b/src/fs/test_plugin_block_fs.c @@ -0,0 +1,77 @@ +/* + This file is part of GNUnet + (C) 2010, 2012 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 3, or (at your + option) any later version. + + GNUnet is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNUnet; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ +/** + * @file fs/test_plugin_block_fs.c + * @brief test for plugin_block_fs.c + * @author Christian Grothoff + */ +#include "platform.h" +#include "gnunet_block_lib.h" + + +static int +test_fs (struct GNUNET_BLOCK_Context *ctx) +{ + struct GNUNET_HashCode key; + char block[4]; + + memset (block, 1, sizeof (block)); + if (GNUNET_OK != + GNUNET_BLOCK_get_key (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, block, + sizeof (block), &key)) + return 1; + if (GNUNET_BLOCK_EVALUATION_OK_LAST != + GNUNET_BLOCK_evaluate (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, &key, NULL, 0, + NULL, 0, block, sizeof (block))) + return 2; + if (GNUNET_BLOCK_EVALUATION_REQUEST_VALID != + GNUNET_BLOCK_evaluate (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, &key, NULL, 0, + NULL, 0, NULL, 0)) + return 4; + GNUNET_log_skip (1, GNUNET_NO); + if (GNUNET_BLOCK_EVALUATION_REQUEST_INVALID != + GNUNET_BLOCK_evaluate (ctx, GNUNET_BLOCK_TYPE_FS_DBLOCK, &key, NULL, 0, + "bogus", 5, NULL, 0)) + return 8; + GNUNET_log_skip (0, GNUNET_YES); + return 0; +} + + +int +main (int argc, char *argv[]) +{ + int ret; + struct GNUNET_BLOCK_Context *ctx; + struct GNUNET_CONFIGURATION_Handle *cfg; + + GNUNET_log_setup ("test-block", "WARNING", NULL); + cfg = GNUNET_CONFIGURATION_create (); + GNUNET_CONFIGURATION_set_value_string (cfg, "block", "PLUGINS", "fs"); + ctx = GNUNET_BLOCK_context_create (cfg); + ret = test_fs (ctx); + GNUNET_BLOCK_context_destroy (ctx); + GNUNET_CONFIGURATION_destroy (cfg); + if (ret != 0) + FPRINTF (stderr, "Tests failed: %d\n", ret); + return ret; +} + +/* end of test_plugin_block_fs.c */