Added path testcase
authorBart Polot <bart@net.in.tum.de>
Tue, 20 Sep 2011 12:09:08 +0000 (12:09 +0000)
committerBart Polot <bart@net.in.tum.de>
Tue, 20 Sep 2011 12:09:08 +0000 (12:09 +0000)
src/mesh/Makefile.am
src/mesh/test_mesh_path.conf [new file with mode: 0644]
src/mesh/test_mesh_path_api.c [new file with mode: 0644]

index c9960bdecbed943abd871eaea6ec59acc3d03b28..26f4de7a56c9657f0a1d3bb1c50b3ccc345c4924 100644 (file)
@@ -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 (file)
index 0000000..a23b07b
--- /dev/null
@@ -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 (file)
index 0000000..d14d159
--- /dev/null
@@ -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;
+}