gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r23548 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r23548 - gnunet/src/testbed
Date: Sat, 1 Sep 2012 17:42:42 +0200

Author: harsha
Date: 2012-09-01 17:42:42 +0200 (Sat, 01 Sep 2012)
New Revision: 23548

Added:
   gnunet/src/testbed/test_testbed_api_test.c
Modified:
   gnunet/src/testbed/
   gnunet/src/testbed/Makefile.am
   gnunet/src/testbed/test_testbed_api_testbed_run.c
   gnunet/src/testbed/testbed_api_test.c
   gnunet/src/testbed/testbed_api_testbed.c
Log:
tests for testbed_test_run and some fixes

Index: gnunet/src/testbed
===================================================================
--- gnunet/src/testbed  2012-09-01 13:57:34 UTC (rev 23547)
+++ gnunet/src/testbed  2012-09-01 15:42:42 UTC (rev 23548)

Property changes on: gnunet/src/testbed
___________________________________________________________________
Modified: svn:ignore
## -10,4 +10,5 ##
 test_testbed_api_operations
 test_testbed_api_controllerlink
 test_testbed_api_testbed_run
+test_testbed_api_test
 test_gnunet_helper_testbed
Modified: gnunet/src/testbed/Makefile.am
===================================================================
--- gnunet/src/testbed/Makefile.am      2012-09-01 13:57:34 UTC (rev 23547)
+++ gnunet/src/testbed/Makefile.am      2012-09-01 15:42:42 UTC (rev 23548)
@@ -74,6 +74,7 @@
  test_testbed_api \
  test_testbed_api_operations \
  test_testbed_api_testbed_run \
+ test_testbed_api_test \
  test_gnunet_helper_testbed
 
 if ENABLE_TEST_RUN
@@ -126,6 +127,12 @@
  $(top_builddir)/src/util/libgnunetutil.la \
  libgnunettestbed.la
 
+test_testbed_api_test_SOURCES = \
+ test_testbed_api_test.c
+test_testbed_api_test_LDADD = \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ libgnunettestbed.la
+
 test_gnunet_helper_testbed_SOURCES = \
  test_gnunet_helper_testbed.c
 test_gnunet_helper_testbed_LDADD = \

Added: gnunet/src/testbed/test_testbed_api_test.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_test.c                          (rev 0)
+++ gnunet/src/testbed/test_testbed_api_test.c  2012-09-01 15:42:42 UTC (rev 
23548)
@@ -0,0 +1,93 @@
+/*
+  This file is part of GNUnet
+  (C) 2008--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 src/testbed/test_testbed_api_test.c
+ * @brief testing cases for testing high level testbed api helper functions
+ * @author Sree Harsha Totakura <address@hidden>
+ */
+
+#include "platform.h"
+#include "gnunet_common.h"
+#include "gnunet_testbed_service.h"
+
+/**
+ * Number of peers we want to start
+ */
+#define NUM_PEERS 25
+
+/**
+ * Testing result
+ */
+static int result;
+
+
+/**
+ * Shutdown nicely
+ *
+ * @param cls NULL
+ * @param tc the task context
+ */
+static void
+do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  GNUNET_SCHEDULER_shutdown ();
+}
+
+
+/**
+ * Signature of a main function for a testcase.
+ *
+ * @param cls closure
+ * @param num_peers number of peers in 'peers'
+ * @param peers handle to peers run in the testbed
+ */
+static void
+test_master (void *cls, unsigned int num_peers,
+             struct GNUNET_TESTBED_Peer **peers)
+{
+  unsigned int peer;
+
+  GNUNET_assert (NULL == cls);
+  GNUNET_assert (NUM_PEERS == num_peers);
+  GNUNET_assert (NULL != peers);
+  for (peer = 0; peer < num_peers; peer++)
+    GNUNET_assert (NULL != peers[peer]);
+  result = GNUNET_OK;
+  /* Artificial delay for shutdown */
+  GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &do_shutdown, NULL);
+}
+
+
+/**
+ * Main function
+ */
+int
+main (int argc, char **argv)
+{
+  result = GNUNET_SYSERR;
+  GNUNET_TESTBED_test_run ("test_testbed_api_test", "test_testbed_api.conf",
+                           NUM_PEERS, &test_master, NULL);
+  if (GNUNET_OK != result)
+    return 1;
+  return 0;
+}
+
+/* end of test_testbed_api_test.c */

Modified: gnunet/src/testbed/test_testbed_api_testbed_run.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_testbed_run.c   2012-09-01 13:57:34 UTC 
(rev 23547)
+++ gnunet/src/testbed/test_testbed_api_testbed_run.c   2012-09-01 15:42:42 UTC 
(rev 23548)
@@ -1,22 +1,22 @@
 /*
-      This file is part of GNUnet
-      (C) 2008--2012 Christian Grothoff (and other contributing authors)
+  This file is part of GNUnet
+  (C) 2008--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 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.
+  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.
- */
+  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 testbed/test_testbed_api_testbed_run.c
@@ -191,3 +191,5 @@
     return 1;
   return 0;
 }
+
+/* end of test_testbed_api_testbed_run.c */

Modified: gnunet/src/testbed/testbed_api_test.c
===================================================================
--- gnunet/src/testbed/testbed_api_test.c       2012-09-01 13:57:34 UTC (rev 
23547)
+++ gnunet/src/testbed/testbed_api_test.c       2012-09-01 15:42:42 UTC (rev 
23548)
@@ -42,7 +42,7 @@
    * Closure for test master
    */
   void *test_master_cls;
-  
+
   /**
    * Number of peers to start
    */
@@ -76,7 +76,7 @@
     return;
   GNUNET_assert (GNUNET_TESTBED_ET_PEER_START == event->type);
   GNUNET_assert (NULL == rc->peers[rc->peer_cnt]);
-  GNUNET_assert (NULL != event->details.peer_start.peer);  
+  GNUNET_assert (NULL != event->details.peer_start.peer);
   rc->peers[rc->peer_cnt++] = event->details.peer_start.peer;
 }
 
@@ -91,7 +91,7 @@
 master_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct TestRunContext *rc = cls;
-  
+
   GNUNET_assert (rc->peer_cnt == rc->num_peers);
   rc->test_master (rc->test_master_cls, rc->num_peers, rc->peers);
 }
@@ -111,8 +111,8 @@
 {
   struct TestRunContext *rc = cls;
 
-  GNUNET_TESTBED_run (NULL, config, rc->num_peers, 0, &controller_event_cb,
-                      rc, &master_task, rc);
+  GNUNET_TESTBED_run (NULL, config, rc->num_peers, 0, &controller_event_cb, rc,
+                      &master_task, rc);
 }
 
 
@@ -155,7 +155,7 @@
     GNUNET_GETOPT_OPTION_END
   };
   struct TestRunContext *rc;
-  
+
   argv2[0] = GNUNET_strdup (testname);
   argv2[2] = GNUNET_strdup (cfg_filename);
   GNUNET_assert (NULL != test_master);
@@ -163,14 +163,12 @@
                       (num_peers * sizeof (struct GNUNET_TESTBED_Peer *)));
   rc->test_master = test_master;
   rc->test_master_cls = test_master_cls;
-  rc->num_peers = rc->num_peers;
+  rc->num_peers = num_peers;
   (void) GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2,
-                             "testname", "nohelp", options, &run, rc);
+                             testname, "nohelp", options, &run, rc);
   GNUNET_free (rc);
   GNUNET_free (argv2[0]);
   GNUNET_free (argv2[2]);
 }
 
-
-
 /* end of testbed_api_test.c */

Modified: gnunet/src/testbed/testbed_api_testbed.c
===================================================================
--- gnunet/src/testbed/testbed_api_testbed.c    2012-09-01 13:57:34 UTC (rev 
23547)
+++ gnunet/src/testbed/testbed_api_testbed.c    2012-09-01 15:42:42 UTC (rev 
23548)
@@ -481,6 +481,8 @@
   struct RunContext *rc;
 
   event_mask |= (1LL << GNUNET_TESTBED_ET_PEER_START);
+  event_mask |= (1LL << GNUNET_TESTBED_ET_PEER_STOP);
+  event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED);
   rc = GNUNET_malloc (sizeof (struct RunContext));
   GNUNET_break (NULL == host_filename); /* Currently we do not support host
                                          * files */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]