From 73e047c74d351257f8b6cf0815a56ff650520cc1 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Tue, 20 Sep 2011 12:09:08 +0000 Subject: [PATCH] Added path testcase --- src/mesh/Makefile.am | 24 ++++++++--- src/mesh/test_mesh_path.conf | 67 ++++++++++++++++++++++++++++++ src/mesh/test_mesh_path_api.c | 76 +++++++++++++++++++++++++++++++++++ 3 files changed, 162 insertions(+), 5 deletions(-) create mode 100644 src/mesh/test_mesh_path.conf create mode 100644 src/mesh/test_mesh_path_api.c diff --git a/src/mesh/Makefile.am b/src/mesh/Makefile.am index c9960bdec..26f4de7a5 100644 --- a/src/mesh/Makefile.am +++ b/src/mesh/Makefile.am @@ -30,12 +30,14 @@ libgnunetmesh_la_LDFLAGS = \ gnunet_service_mesh_SOURCES = \ gnunet-service-mesh.c mesh_tunnel_tree.c - gnunet_service_mesh_LDADD = \ $(top_builddir)/src/core/libgnunetcore.la\ $(top_builddir)/src/dht/libgnunetdht.la \ $(top_builddir)/src/util/libgnunetutil.la - + gnunet_service_mesh_DEPENDENCIES = \ + $(top_builddir)/src/core/libgnunetcore.la\ + $(top_builddir)/src/dht/libgnunetdht.la \ + $(top_builddir)/src/util/libgnunetutil.la libgnunetmeshnew_la_SOURCES = \ mesh_api_new.c mesh.h @@ -48,6 +50,7 @@ libgnunetmeshnew_la_LDFLAGS = \ check_PROGRAMS = \ test_mesh_api \ + test_mesh_path_api \ test_mesh_local_1 \ test_mesh_local_2 \ test_mesh_small @@ -58,7 +61,17 @@ test_mesh_api_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la \ $(top_builddir)/src/mesh/libgnunetmeshnew.la test_mesh_api_DEPENDENCIES = \ - libgnunetmeshnew.la + libgnunetmeshnew.la \ + $(top_builddir)/src/util/libgnunetutil.la + +test_mesh_path_api_SOURCES = \ + test_mesh_path_api.c +test_mesh_path_api_LDADD = \ + $(top_builddir)/src/util/libgnunetutil.la \ + $(top_builddir)/src/dht/libgnunetdht.la +test_mesh_path_api_DEPENDENCIES = \ + libgnunetmeshnew.la \ + $(top_builddir)/src/dht/libgnunetdht.la test_mesh_local_1_SOURCES = \ test_mesh_local_1.c @@ -87,9 +100,10 @@ test_mesh_small_DEPENDENCIES = \ if ENABLE_TEST_RUN if HAVE_EXPERIMENTAL -TESTS = test_mesh_api test_mesh_local_1 test_mesh_local_2 +TESTS = test_mesh_api test_mesh_path_api test_mesh_local_1 test_mesh_local_2 endif endif EXTRA_DIST = \ - test_mesh.conf \ No newline at end of file + test_mesh.conf \ + test_mesh_path.conf \ No newline at end of file diff --git a/src/mesh/test_mesh_path.conf b/src/mesh/test_mesh_path.conf new file mode 100644 index 000000000..a23b07b41 --- /dev/null +++ b/src/mesh/test_mesh_path.conf @@ -0,0 +1,67 @@ +[fs] +AUTOSTART = NO + +[resolver] +AUTOSTART = NO + +[mesh] +DEBUG = YES +AUTOSTART = YES +ACCEPT_FROM = 127.0.0.1; +HOSTNAME = localhost +PORT = 10511 +PREFIX = valgrind --leak-check=full +# PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args + +[dht] +DEBUG = NO +AUTOSTART = YES +ACCEPT_FROM6 = ::1; +ACCEPT_FROM = 127.0.0.1; +HOSTNAME = localhost +PORT = 2100 + +[block] +plugins = dht test + +[dhtcache] +QUOTA = 1000000 +DATABASE = sqlite + +[transport] +PLUGINS = tcp +DEBUG = NO +ACCEPT_FROM6 = ::1; +ACCEPT_FROM = 127.0.0.1; +NEIGHBOUR_LIMIT = 50 +PORT = 12365 + +[core] +TOTAL_QUOTA_OUT = 3932160 +TOTAL_QUOTA_IN = 3932160 +PORT = 12092 + +[arm] +DEFAULTSERVICES = core +PORT = 12366 +DEBUG = NO + +[transport-tcp] +TIMEOUT = 300000 +PORT = 12368 + +[TESTING] +WEAKRANDOM = YES + +[gnunetd] +HOSTKEY = $SERVICEHOME/.hostkey + +[PATHS] +DEFAULTCONFIG = test_mesh.conf +SERVICEHOME = /tmp/test-mesh/ + +[dns] +AUTOSTART = NO + +[nse] +AUTOSTART = NO diff --git a/src/mesh/test_mesh_path_api.c b/src/mesh/test_mesh_path_api.c new file mode 100644 index 000000000..d14d15958 --- /dev/null +++ b/src/mesh/test_mesh_path_api.c @@ -0,0 +1,76 @@ +/* + This file is part of GNUnet. + (C) 2011 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 mesh/test_mesh_path.c + * @brief test mesh path: test of path management api + * @author Bartlomiej Polot + */ + +#include "platform.h" +#include "gnunet_common.h" +#include "gnunet_util_lib.h" +#include "gnunet_dht_service.h" +#include "gnunet_mesh_service_new.h" +#include "mesh.h" +#include "mesh_tunnel_tree.h" + +#define VERBOSE 1 + +/** + * Convert an integer int oa peer identity + */ +static struct GNUNET_PeerIdentity * +get_pi (uint32_t id) +{ + struct GNUNET_PeerIdentity *pi; + + pi = GNUNET_malloc(sizeof(struct GNUNET_PeerIdentity)); + pi->hashPubKey.bits[0] = id; + return pi; +} + +int +main (int argc, char *argv[]) +{ + struct GNUNET_PeerIdentity* pi; +// struct MeshTunnel *t; + int result; + + GNUNET_log_setup ("test_mesh_api_path", +#if VERBOSE + "DEBUG", +#else + "WARNING", +#endif + NULL); + pi = get_pi(1); + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Peer 1: %s\n", GNUNET_h2s(&pi->hashPubKey)); + + result = GNUNET_OK; + + if (GNUNET_SYSERR == result) + { + GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "test failed\n"); + return 1; + } + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test ok\n"); + return 0; +} -- 2.25.1