From 6dd7f66c1a0665a3888a9e4b5e0cc9c7f0b9c996 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Fri, 27 Sep 2013 15:34:31 +0000 Subject: [PATCH] -cleanup --- src/gns/test_gns_dht_default.conf | 87 --- src/gns/test_gns_dht_delegated_lookup.c | 371 ------------- src/gns/test_gns_dht_three_peers.c | 675 ------------------------ 3 files changed, 1133 deletions(-) delete mode 100644 src/gns/test_gns_dht_default.conf delete mode 100644 src/gns/test_gns_dht_delegated_lookup.c delete mode 100644 src/gns/test_gns_dht_three_peers.c diff --git a/src/gns/test_gns_dht_default.conf b/src/gns/test_gns_dht_default.conf deleted file mode 100644 index 897109e90..000000000 --- a/src/gns/test_gns_dht_default.conf +++ /dev/null @@ -1,87 +0,0 @@ -@INLINE@ test_gns_defaults.conf -[PATHS] -SERVICEHOME = /tmp/test-gnunet-gns-dht/ - -[transport-tcp] -PORT = 22568 - -[dht] -UNIXPATH = /tmp/gnunet-service-dht.sock -AUTOSTART = YES -ACCEPT_FROM6 = ::1; -ACCEPT_FROM = 127.0.0.1; -HOSTNAME = localhost -PORT = 2102 -BINARY = gnunet-service-dht - -[dhtcache] -QUOTA = 1 MB -DATABASE = heap - -[arm] -PORT = 22566 -DEFAULTSERVICES = core dht namestore gns -UNIXPATH = /tmp/gnunet-default-service-arm.sock - -[statistics] -PORT = 22567 -UNIXPATH = /tmp/gnunet-default-service-statistics.sock - -[resolver] -PORT = 22564 -UNIXPATH = /tmp/gnunet-default-service-resolver.sock - -[peerinfo] -PORT = 22569 -UNIXPATH = /tmp/gnunet-default-service-peerinfo.sock - -[transport] -PORT = 22565 -UNIXPATH = /tmp/gnunet-default-service-transport.sock - -[core] -PORT = 22570 -UNIXPATH = /tmp/gnunet-default-service-core.sock -USE_EPHEMERAL_KEYS = NO - -[ats] -PORT = 22571 -UNIXPATH = /tmp/gnunet-default-service-ats.sock - -[dns] -UNIXPATH = /tmp/gnunet-default-service-dns.sock -PORT = 22369 -AUTOSTART = YES -DNS_EXIT = 8.8.8.8 - -[gns] -PORT = 22370 -#PREFIX = valgrind -v --leak-check=full --track-origins=yes -AUTOSTART = YES -BINARY = gnunet-service-gns -ZONEKEY = $SERVICEHOME/.hostkey -HIJACK_DNS = NO -UNIXPATH = /tmp/gnunet-service-gns-default.sock -HOME = $SERVICEHOME -AUTO_IMPORT_PKEY = NO -MAX_PARALLEL_BACKGROUND_QUERIES = 10 -DEFAULT_LOOKUP_TIMEOUT = 10 s -RECORD_PUT_INTERVAL = 2 s - -[namestore] -PORT = 22371 -AUTOSTART = YES -UNIXPATH = /tmp/gnunet-service-namestore-default.sock -UNIX_MATCH_UID = YES -UNIX_MATCH_GID = YES -HOSTNAME = localhost -HOME = $SERVICEHOME -BINARY = gnunet-service-namestore -ACCEPT_FROM = 127.0.0.1; -ACCEPT_FROM6 = ::1; -DATABASE = sqlite -ZONEFILE_DIRECTORY = $SERVICEHOME - -[namestore-sqlite] -FILENAME = $SERVICEHOME/sqlite-default.db - diff --git a/src/gns/test_gns_dht_delegated_lookup.c b/src/gns/test_gns_dht_delegated_lookup.c deleted file mode 100644 index 2950f896a..000000000 --- a/src/gns/test_gns_dht_delegated_lookup.c +++ /dev/null @@ -1,371 +0,0 @@ -/* - This file is part of GNUnet. - (C) 2009 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 gns/test_gns_dht_delegated_lookup.c - * @brief test for record lookup via DHT - * - */ -#include "platform.h" -#include "gnunet_testing_lib.h" -#include "gnunet_core_service.h" -#include "block_gns.h" -#include "gnunet_signatures.h" -#include "gnunet_namestore_service.h" -#include "../namestore/namestore.h" -#include "gnunet_dnsparser_lib.h" -#include "gnunet_dht_service.h" -#include "gnunet_gns_service.h" - -/* Timeout for entire testcase */ -#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 20) - -/* Timeout for entire testcase */ -#define DHT_DELAY GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 10) - -/* test records to resolve */ -#define TEST_DOMAIN "www.bob.gnu" -#define TEST_IP "127.0.0.1" -#define TEST_RECORD_NAME "www" - -#define TEST_AUTHORITY_NAME "bob" - -#define DHT_OPERATION_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1) - -#define KEYFILE_BOB "../namestore/zonefiles/HGU0A0VCU334DN7F2I9UIUMVQMM7JMSD142LIMNUGTTV9R0CF4EG.zkey" - -/* Task handle to use to schedule test failure */ -static GNUNET_SCHEDULER_TaskIdentifier die_task; -static GNUNET_SCHEDULER_TaskIdentifier wait_task; - -/* Global return value (0 for success, anything else for failure) */ -static int ok; - -static struct GNUNET_NAMESTORE_Handle *namestore_handle; - -static struct GNUNET_GNS_Handle *gns_handle; - -static struct GNUNET_DHT_Handle *dht_handle; - -static const struct GNUNET_CONFIGURATION_Handle *cfg; - -static struct GNUNET_CRYPTO_EccPublicSignKey alice_pkey; -static struct GNUNET_CRYPTO_EccPublicSignKey bob_pkey; -static struct GNUNET_CRYPTO_EccPrivateKey *alice_key; -static struct GNUNET_CRYPTO_EccPrivateKey *bob_key; - - -/** - * Check if the get_handle is being used, if so stop the request. Either - * way, schedule the end_badly_cont function which actually shuts down the - * test. - */ -static void -end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - die_task = GNUNET_SCHEDULER_NO_TASK; - if (NULL != gns_handle) - { - GNUNET_GNS_disconnect (gns_handle); - gns_handle = NULL; - } - - if (NULL != dht_handle) - { - GNUNET_DHT_disconnect (dht_handle); - dht_handle = NULL; - } - - if (NULL != namestore_handle) - { - GNUNET_NAMESTORE_disconnect (namestore_handle); - namestore_handle = NULL; - } - GNUNET_break (0); - GNUNET_SCHEDULER_shutdown (); - ok = 1; -} - - -static void -end_badly_now () -{ - - if (GNUNET_SCHEDULER_NO_TASK != wait_task) - { - GNUNET_SCHEDULER_cancel (wait_task); - wait_task = GNUNET_SCHEDULER_NO_TASK; - } - GNUNET_SCHEDULER_cancel (die_task); - die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); -} - - -static void -shutdown_task (void *cls, - const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - GNUNET_GNS_disconnect(gns_handle); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Shutting down peer!\n"); - GNUNET_SCHEDULER_shutdown (); -} - - -static void -on_lookup_result(void *cls, uint32_t rd_count, - const struct GNUNET_NAMESTORE_RecordData *rd) -{ - struct in_addr a; - int i; - char* addr; - - if (GNUNET_SCHEDULER_NO_TASK != die_task) - { - GNUNET_SCHEDULER_cancel (die_task); - die_task = GNUNET_SCHEDULER_NO_TASK; - } - - GNUNET_NAMESTORE_disconnect (namestore_handle); - namestore_handle = NULL; - if (rd_count == 0) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Lookup failed, rp_filtering?\n"); - ok = 2; - } - else - { - ok = 1; - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "name: %s\n", (char*)cls); - for (i=0; isignature = *sig; - nrb->public_key = bob_pkey; - nrb->rd_count = htonl(1); - memset(&nrb[1], 0, strlen(TEST_RECORD_NAME) + 1); - strcpy((char*)&nrb[1], TEST_RECORD_NAME); - nrb_data = (char*)&nrb[1]; - nrb_data += strlen(TEST_RECORD_NAME) + 1; - - if (-1 == GNUNET_NAMESTORE_records_serialize (1, - &rd, - rd_payload_length, - nrb_data)) - { - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Record serialization failed!\n"); - ok = 3; - GNUNET_free (nrb); - GNUNET_free (web); - end_badly_now (); - return; - } - GNUNET_CRYPTO_short_hash(TEST_RECORD_NAME, strlen(TEST_RECORD_NAME), &name_hash); - GNUNET_CRYPTO_short_hash(&bob_pkey, - sizeof(struct GNUNET_CRYPTO_EccPublicSignKey), - &zone_hash); - GNUNET_CRYPTO_short_hash_double(&zone_hash, &zone_hash_double); - GNUNET_CRYPTO_short_hash_double(&name_hash, &name_hash_double); - GNUNET_CRYPTO_hash_xor(&zone_hash_double, &name_hash_double, &xor_hash); - - rd_payload_length += sizeof(struct GNSNameRecordBlock) + - strlen(TEST_RECORD_NAME) + 1; - GNUNET_DHT_put (dht_handle, &xor_hash, - 0, - GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE, - GNUNET_BLOCK_TYPE_GNS_NAMERECORD, - rd_payload_length, - (char*)nrb, - GNUNET_TIME_UNIT_FOREVER_ABS, - DHT_OPERATION_TIMEOUT, - NULL, - NULL); - GNUNET_free (web); - GNUNET_free (nrb); - GNUNET_free (sig); - if (GNUNET_SCHEDULER_NO_TASK != die_task) - { - GNUNET_SCHEDULER_cancel (die_task); - die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); - } - wait_task = GNUNET_SCHEDULER_add_delayed(DHT_DELAY, &commence_testing, NULL); -} - - -static void -do_check (void *cls, - const struct GNUNET_CONFIGURATION_Handle *ccfg, - struct GNUNET_TESTING_Peer *peer) -{ - char* alice_keyfile; - struct GNUNET_CRYPTO_ShortHashCode bob_hash; - - cfg = ccfg; - die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); - - /* put records into namestore */ - namestore_handle = GNUNET_NAMESTORE_connect(cfg); - if (NULL == namestore_handle) - { - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to namestore\n"); - end_badly_now (); - return; - } - - /* dht */ - dht_handle = GNUNET_DHT_connect(cfg, 1); - if (NULL == dht_handle) - { - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to dht\n"); - end_badly_now (); - return; - } - - if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns", - "ZONEKEY", - &alice_keyfile)) - { - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n"); - end_badly_now (); - return; - } - - alice_key = GNUNET_CRYPTO_ecc_key_create_from_file (alice_keyfile); - bob_key = GNUNET_CRYPTO_ecc_key_create_from_file (KEYFILE_BOB); - - GNUNET_free(alice_keyfile); - - GNUNET_CRYPTO_ecc_key_get_public_for_signature (alice_key, &alice_pkey); - GNUNET_CRYPTO_ecc_key_get_public_for_signature (bob_key, &bob_pkey); - GNUNET_CRYPTO_short_hash(&bob_pkey, sizeof(bob_pkey), &bob_hash); - - struct GNUNET_NAMESTORE_RecordData rd; - rd.expiration_time = UINT64_MAX; - rd.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode); - rd.data = &bob_hash; - rd.record_type = GNUNET_NAMESTORE_TYPE_PKEY; - rd.flags = GNUNET_NAMESTORE_RF_NONE; - - GNUNET_NAMESTORE_record_put_by_authority (namestore_handle, - alice_key, - TEST_AUTHORITY_NAME, - 1, &rd, - &put_dht, - NULL); -} - - -int -main (int argc, char *argv[]) -{ - ok = 1; - - GNUNET_log_setup ("test-gns-dht-delegated-lookup", - "WARNING", - NULL); - GNUNET_TESTING_peer_run ("test-gns-dht-delegated-lookup", "test_gns_simple_lookup.conf", &do_check, NULL); - return ok; -} - - -/* end of test_gns_dht_delegated_lookup.c */ diff --git a/src/gns/test_gns_dht_three_peers.c b/src/gns/test_gns_dht_three_peers.c deleted file mode 100644 index 688e355ed..000000000 --- a/src/gns/test_gns_dht_three_peers.c +++ /dev/null @@ -1,675 +0,0 @@ -/* - This file is part of GNUnet. - (C) 2009 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 gns/test_gns_dht_threepeer.c - * @brief tests dht lookup over 3 peers - * - * topology: - * alice <----> bob <-----> dave - * - * alice queries for www.buddy.bob.gnu - * - */ -#include "platform.h" -#include "gnunet_common.h" -#include "gnunet_disk_lib.h" -#include "gnunet_testing_lib.h" -#include "gnunet_testbed_service.h" -#include "gnunet_core_service.h" -#include "gnunet_dht_service.h" -#include "block_dns.h" -#include "gnunet_signatures.h" -#include "gnunet_namestore_service.h" -#include "gnunet_dnsparser_lib.h" -#include "gnunet_gns_service.h" - -#define ZONE_PUT_WAIT_TIME GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 10) - -#define TEST_DOMAIN "www.buddy.bob.gnu" -#define TEST_IP "1.1.1.1" -#define TEST_DAVE_PSEU "hagbard" - - -/* Timeout for entire testcase */ -#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60) -#define SETUP_TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60) - -/* Global return value (0 for success, anything else for failure) */ -static int ok; - -/* Task handle to use to schedule test failure */ -static GNUNET_SCHEDULER_TaskIdentifier die_task; - -static GNUNET_SCHEDULER_TaskIdentifier wait_task; - -static GNUNET_SCHEDULER_TaskIdentifier setup_task; - -static struct GNUNET_CRYPTO_ShortHashCode dave_hash; - -static struct GNUNET_CRYPTO_ShortHashCode bob_hash; - -static struct GNUNET_TESTBED_Peer **cpeers; - -static struct GNUNET_GNS_Handle *gh; -static struct GNUNET_GNS_LookupRequest *lookup_handle; - -static struct GNUNET_TESTBED_Operation *get_cfg_ops[3]; -static struct GNUNET_TESTBED_Operation *topology_op; -static struct GNUNET_CONFIGURATION_Handle *cfg_handles[3]; -static struct GNUNET_NAMESTORE_Handle *nh[3]; - -static int dave_is_setup; -static int bob_is_setup; -static int alice_is_setup; - -/** - * Check if the get_handle is being used, if so stop the request. Either - * way, schedule the end_badly_cont function which actually shuts down the - * test. - */ -static void -end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - die_task = GNUNET_SCHEDULER_NO_TASK; - int c; - - if (GNUNET_SCHEDULER_NO_TASK != wait_task) - { - GNUNET_SCHEDULER_cancel (wait_task); - wait_task = GNUNET_SCHEDULER_NO_TASK; - } - - for (c = 0; c < 3; c++) - { - if (NULL != nh[c]) - { - GNUNET_NAMESTORE_disconnect(nh[c]); - nh[c] = NULL; - } - - if (NULL != get_cfg_ops[c]) - { - GNUNET_TESTBED_operation_done(get_cfg_ops[c]); - get_cfg_ops[c] = NULL; - } - if (NULL != cfg_handles[c]) - { - GNUNET_CONFIGURATION_destroy (cfg_handles[c]); - cfg_handles[c] = NULL; - } - } - if (NULL != topology_op) - { - GNUNET_TESTBED_operation_done (topology_op); - topology_op = NULL; - } - if (NULL != lookup_handle) - { - GNUNET_GNS_cancel_lookup_request (lookup_handle); - lookup_handle = NULL; - } - if (NULL != gh) - { - GNUNET_GNS_disconnect(gh); - gh = NULL; - } - - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test failed \n"); - GNUNET_SCHEDULER_shutdown (); - ok = 1; -} - -static void -end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Finished\n"); - int c; - if (GNUNET_SCHEDULER_NO_TASK != die_task) - { - GNUNET_SCHEDULER_cancel (die_task); - die_task = GNUNET_SCHEDULER_NO_TASK; - } - - for (c = 0; c < 3; c++) - { - if (NULL != nh[c]) - { - GNUNET_NAMESTORE_disconnect(nh[c]); - nh[c] = NULL; - } - if (NULL != cfg_handles[c]) - { - GNUNET_CONFIGURATION_destroy (cfg_handles[c]); - cfg_handles[c] = NULL; - } - } - - if (NULL != gh) - { - GNUNET_GNS_disconnect(gh); - gh = NULL; - } - - if (0 == ok) - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test ended successful\n"); - else - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test failed\n"); - GNUNET_SCHEDULER_shutdown (); -} - -static void -setup_end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - setup_task = GNUNET_SCHEDULER_NO_TASK; - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Timeout during setup, test failed\n"); - - if (NULL != topology_op) - { - GNUNET_TESTBED_operation_done (topology_op); - topology_op = NULL; - } - GNUNET_SCHEDULER_shutdown (); - ok = GNUNET_SYSERR; -} - -static void -end_now () -{ - GNUNET_SCHEDULER_add_now (&end, NULL); -} - - -static void -disconnect_ns (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - - GNUNET_NAMESTORE_disconnect (cls); - if (cls == nh[0]) - nh[0] = NULL; - if (cls == nh[1]) - nh[1] = NULL; - if (cls == nh[2]) - nh[2] = NULL; -} - - -static void -cont_ns (void* cls, int32_t s, const char* emsg) -{ - GNUNET_SCHEDULER_add_now (&disconnect_ns, cls); -} - -static void -on_lookup_result(void *cls, uint32_t rd_count, - const struct GNUNET_NAMESTORE_RecordData *rd) -{ - int i; - char* string_val; - - if (rd_count == 0) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Lookup failed!\n"); - ok = 2; - } - else - { - ok = 1; - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "name: %s\n", (char*)cls); - for (i=0; ipit); - if (GNUNET_NO == dave_is_setup) - res = setup_dave (pinfo->result.cfg); - else if (GNUNET_NO == bob_is_setup) - res = setup_bob (pinfo->result.cfg); - else - res = setup_alice (pinfo->result.cfg); - - if (get_cfg_ops[0] == op) - get_cfg_ops[0] = NULL; - else if (get_cfg_ops[1] == op) - get_cfg_ops[1] = NULL; - else - get_cfg_ops[2] = NULL; - GNUNET_TESTBED_operation_done (op); - op = NULL; - if (GNUNET_SYSERR == res) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup peer \n"); - end_badly_now(); - } - else - connect_peers (); - /*if (get_cfg_ops[0] == op) - { - GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit); - res = setup_dave (pinfo->result.cfg); - GNUNET_TESTBED_operation_done (get_cfg_ops[0]); - get_cfg_ops[0] = NULL; - if (GNUNET_SYSERR == res) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup dave \n"); - end_badly_now(); - } - else - { - connect_peers (); - } - } - else if (get_cfg_ops[1] == op) - { - GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit); - res = setup_bob (pinfo->result.cfg); - GNUNET_TESTBED_operation_done (get_cfg_ops[1]); - get_cfg_ops[1] = NULL; - if (GNUNET_SYSERR == res) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup dave \n"); - end_badly_now(); - } - else - { - connect_peers (); - } - } - else if (get_cfg_ops[2] == op) - { - GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit); - res = setup_alice (pinfo->result.cfg); - GNUNET_TESTBED_operation_done (get_cfg_ops[2]); - get_cfg_ops[2] = NULL; - if (GNUNET_SYSERR == res) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup dave \n"); - end_badly_now(); - } - else - { - connect_peers (); - } - }*/ -} - - -void testbed_master (void *cls, - struct GNUNET_TESTBED_RunHandle *h, - unsigned int num_peers, - struct GNUNET_TESTBED_Peer **peers, - unsigned int links_succeeded, - unsigned int links_failed) -{ - GNUNET_assert (NULL != peers); - cpeers = peers; - - setup_task = GNUNET_SCHEDULER_add_delayed (SETUP_TIMEOUT, &setup_end_badly, NULL); - - /* peer 0: dave */ - GNUNET_assert (NULL != peers[0]); - get_cfg_ops[0] = GNUNET_TESTBED_peer_get_information (peers[0], - GNUNET_TESTBED_PIT_CONFIGURATION, - &peerinfo_cb, NULL); - - /* peer 1: bob */ - GNUNET_assert (NULL != peers[1]); - get_cfg_ops[1] = GNUNET_TESTBED_peer_get_information (peers[1], - GNUNET_TESTBED_PIT_CONFIGURATION, - &peerinfo_cb, NULL ); - - /* peer 2: alice */ - GNUNET_assert (NULL != peers[2]); - get_cfg_ops[2] = GNUNET_TESTBED_peer_get_information (peers[2], - GNUNET_TESTBED_PIT_CONFIGURATION, - &peerinfo_cb, NULL); - -} - -void testbed_controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) -{ - static int connections = 0; - - switch (event->type) - { - case GNUNET_TESTBED_ET_OPERATION_FINISHED: - /* This part will still be called when - GNUNET_TESTBED_peer_get_information() succeeds. However, the code is - now more relevant in operation completion callback */ - break; - case GNUNET_TESTBED_ET_CONNECT: - connections ++; - if (connections == 3) - { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All peers connected\n"); - GNUNET_TESTBED_operation_done (topology_op); - topology_op = NULL; - all_connected (); - } - break; - default: - /* whatever ... */ - break; - } -} - -int -main (int argc, char *argv[]) -{ - uint64_t event_mask; - ok = 0; - event_mask = 0; - event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT); - event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED); - (void) GNUNET_TESTBED_test_run ("test_gns_dht_three_peers", "test_gns_dht_default.conf", - 3, event_mask, - &testbed_controller_cb, NULL, - &testbed_master, NULL); - if (GNUNET_SYSERR == ok) - return 1; - return 0; -} - -/* end of test_gns_dht_three_peers.c */ - -- 2.25.1