aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api_test.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-09-05 10:50:56 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-09-05 10:50:56 +0000
commit270a6392703fe1cb99f69ed8a35c1be0c864b11f (patch)
tree1c65d01fefab939684c58757880987d2a00fd060 /src/testbed/test_testbed_api_test.c
parentc09edda8e8071c6e5ca6b76e7c75a7b8402010ed (diff)
downloadgnunet-270a6392703fe1cb99f69ed8a35c1be0c864b11f.tar.gz
gnunet-270a6392703fe1cb99f69ed8a35c1be0c864b11f.zip
changed testbed API to include convenience callbacks
Diffstat (limited to 'src/testbed/test_testbed_api_test.c')
-rw-r--r--src/testbed/test_testbed_api_test.c64
1 files changed, 48 insertions, 16 deletions
diff --git a/src/testbed/test_testbed_api_test.c b/src/testbed/test_testbed_api_test.c
index 43a5628ad..f552d1a78 100644
--- a/src/testbed/test_testbed_api_test.c
+++ b/src/testbed/test_testbed_api_test.c
@@ -63,6 +63,52 @@ do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc)
63 63
64 64
65/** 65/**
66 * Callback to be called when the requested peer information is available
67 *
68 * @param cb_cls the closure from GNUNET_TETSBED_peer_get_information()
69 * @param op the operation this callback corresponds to
70 * @param pinfo the result; will be NULL if the operation has failed
71 * @param emsg error message if the operation has failed; will be NULL if the
72 * operation is successfull
73 */
74static void
75peerinfo_cb (void *cb_cls, struct GNUNET_TESTBED_Operation *op_,
76 const struct GNUNET_TESTBED_PeerInformation *pinfo,
77 const char *emsg)
78{
79 GNUNET_assert (op == op_);
80 GNUNET_assert (NULL == cb_cls);
81 GNUNET_assert (NULL == emsg);
82 GNUNET_assert (GNUNET_TESTBED_PIT_IDENTITY == pinfo->pit);
83 GNUNET_assert (NULL != pinfo->result.id);
84 GNUNET_TESTBED_operation_done (op);
85 result = GNUNET_OK;
86 GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
87}
88
89
90/**
91 * Callback to be called when an operation is completed
92 *
93 * @param cls the callback closure from functions generating an operation
94 * @param op the operation that has been finished
95 * @param emsg error message in case the operation has failed; will be NULL if
96 * operation has executed successfully.
97 */
98static void
99op_comp_cb (void *cls, struct GNUNET_TESTBED_Operation *op_, const char *emsg)
100{
101 GNUNET_assert (NULL == cls);
102 GNUNET_assert (op == op_);
103 GNUNET_assert (NULL == emsg);
104 GNUNET_TESTBED_operation_done (op);
105 op = GNUNET_TESTBED_peer_get_information (peers[0],
106 GNUNET_TESTBED_PIT_IDENTITY,
107 &peerinfo_cb, NULL);
108}
109
110
111/**
66 * Controller event callback 112 * Controller event callback
67 * 113 *
68 * @param cls NULL 114 * @param cls NULL
@@ -76,21 +122,7 @@ controller_event_cb (void *cls,
76 { 122 {
77 case GNUNET_TESTBED_ET_CONNECT: 123 case GNUNET_TESTBED_ET_CONNECT:
78 GNUNET_assert (event->details.peer_connect.peer1 == peers[0]); 124 GNUNET_assert (event->details.peer_connect.peer1 == peers[0]);
79 GNUNET_assert (event->details.peer_connect.peer2 == peers[1]); 125 GNUNET_assert (event->details.peer_connect.peer2 == peers[1]);
80 GNUNET_TESTBED_operation_done (op);
81 op = GNUNET_TESTBED_peer_get_information (peers[0],
82 GNUNET_TESTBED_PIT_IDENTITY);
83 break;
84 case GNUNET_TESTBED_ET_OPERATION_FINISHED:
85 GNUNET_assert (event->details.operation_finished.operation == op);
86 GNUNET_assert (NULL == event->details.operation_finished.op_cls);
87 GNUNET_assert (NULL == event->details.operation_finished.emsg);
88 GNUNET_assert (GNUNET_TESTBED_PIT_IDENTITY ==
89 event->details.operation_finished.pit);
90 GNUNET_assert (NULL != event->details.operation_finished.op_result.pid);
91 GNUNET_TESTBED_operation_done (op);
92 result = GNUNET_OK;
93 GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
94 break; 126 break;
95 default: 127 default:
96 GNUNET_assert (0); 128 GNUNET_assert (0);
@@ -117,7 +149,7 @@ test_master (void *cls, unsigned int num_peers,
117 for (peer = 0; peer < num_peers; peer++) 149 for (peer = 0; peer < num_peers; peer++)
118 GNUNET_assert (NULL != peers_[peer]); 150 GNUNET_assert (NULL != peers_[peer]);
119 peers = peers_; 151 peers = peers_;
120 op = GNUNET_TESTBED_overlay_connect (NULL, peers[0], peers[1]); 152 op = GNUNET_TESTBED_overlay_connect (NULL, &op_comp_cb, NULL, peers[0], peers[1]);
121} 153}
122 154
123 155