X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fats%2Ftest_ats_api_scheduling_update_address.c;h=03f7ecfabb17d6a90ed36637a0da2c38deb7fda8;hb=056f559d916d785164f40e63ca56c153ea0e9ebe;hp=bf7f8f388b0abeaa26636b268ccef588e032d7ea;hpb=4d695831e94d8146b5f23ad26d852fdd3dc03948;p=oweals%2Fgnunet.git diff --git a/src/ats/test_ats_api_scheduling_update_address.c b/src/ats/test_ats_api_scheduling_update_address.c index bf7f8f388..03f7ecfab 100644 --- a/src/ats/test_ats_api_scheduling_update_address.c +++ b/src/ats/test_ats_api_scheduling_update_address.c @@ -26,7 +26,7 @@ */ #include "platform.h" #include "gnunet_ats_service.h" -#include "gnunet_testing_lib-new.h" +#include "gnunet_testing_lib.h" #include "ats.h" #include "test_ats_api_common.h" @@ -66,7 +66,7 @@ static void *test_session; /** * Test ats info */ -struct GNUNET_ATS_Information test_ats_info[2]; +struct GNUNET_ATS_Information test_ats_info[3]; /** * Test ats count @@ -74,24 +74,6 @@ struct GNUNET_ATS_Information test_ats_info[2]; uint32_t test_ats_count; -static void -create_test_address (struct Test_Address *dest, char * plugin, void *session, void *addr, size_t addrlen) -{ - dest->plugin = GNUNET_strdup (plugin); - dest->session = session; - dest->addr = GNUNET_malloc (addrlen); - memcpy (dest->addr, addr, addrlen); - dest->addr_len = addrlen; -} - -static void -free_test_address (struct Test_Address *dest) -{ - GNUNET_free (dest->plugin); - GNUNET_free (dest->addr); -} - - static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { @@ -119,85 +101,6 @@ end () } -static int -compare_addresses (const struct GNUNET_HELLO_Address *address1, void *session1, - const struct GNUNET_HELLO_Address *address2, void *session2) -{ - if (0 != memcmp (&address1->peer, &address2->peer, sizeof (struct GNUNET_PeerIdentity))) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggestion with invalid peer id'\n"); - return GNUNET_SYSERR; - } - if (0 != strcmp (address1->transport_name, address2->transport_name)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggestion with invalid plugin'\n"); - return GNUNET_SYSERR; - } - if (address1->address_length != address2->address_length) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggestion with invalid address length'\n"); - return GNUNET_SYSERR; - - } - else if (0 != memcmp (address1->address, address2->address, address2->address_length)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggestion with invalid address'\n"); - return GNUNET_SYSERR; - } - if (session1 != session2) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggestion with invalid session1 %p vs session2 %p'\n", - session1, session2); - return GNUNET_SYSERR; - - } - return GNUNET_OK; -} - -static int -compare_ats (const struct GNUNET_ATS_Information *ats_is, uint32_t ats_count_is, - const struct GNUNET_ATS_Information *ats_should, uint32_t ats_count_should) -{ - unsigned int c_o; - unsigned int c_i; - char *prop[] = GNUNET_ATS_PropertyStrings; - uint32_t type1; - uint32_t type2; - uint32_t val1; - uint32_t val2; - int res = GNUNET_OK; - - for (c_o = 0; c_o < ats_count_is; c_o++) - { - for (c_i = 0; c_i < ats_count_should; c_i++) - { - type1 = ntohl(ats_is[c_o].type); - type2 = ntohl(ats_should[c_i].type); - if (type1 == type2) - { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS type `%s'\n", - prop[type1]); - val1 = ntohl(ats_is[c_o].value); - val2 = ntohl(ats_should[c_i].value); - if (val1 != val2) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "ATS value `%s' not equal: %u != %u\n", - prop[type1], - val1, val2); - res = GNUNET_SYSERR; - } - else - { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS value `%s' equal: %u == %u\n", - prop[type1], - val1, val2); - } - } - } - } - return res; -} - static void address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, struct Session *session, @@ -225,7 +128,8 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, return; } - if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count)) + if ((ats_count != test_ats_count) || + (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count))) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 0: Callback with incorrect ats info \n"); ret = 1; @@ -236,10 +140,12 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, /* Update address */ /* Prepare ATS Information */ test_ats_info[0].type = htonl (GNUNET_ATS_NETWORK_TYPE); - test_ats_info[0].value = htonl(GNUNET_ATS_NET_LAN); + test_ats_info[0].value = htonl(GNUNET_ATS_NET_WAN); test_ats_info[1].type = htonl (GNUNET_ATS_QUALITY_NET_DISTANCE); - test_ats_info[1].value = htonl(3); - test_ats_count = 2; + test_ats_info[1].value = htonl(5); + test_ats_info[2].type = htonl (GNUNET_ATS_QUALITY_NET_DELAY); + test_ats_info[2].value = htonl(30); + test_ats_count = 3; GNUNET_ATS_address_update (sched_ats, &test_hello_address, test_session, test_ats_info, test_ats_count); @@ -263,7 +169,8 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, ret = 1; } - if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count)) + if ((ats_count != test_ats_count) || + (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count))) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 1: Callback with incorrect ats info \n"); ret = 1; @@ -293,24 +200,15 @@ run (void *cls, } /* Set up peer */ - if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID, &p.id.hashPubKey)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n"); - ret = GNUNET_SYSERR; - end (); - return; - } - - GNUNET_assert (0 == strcmp (PEERID, GNUNET_i2s_full (&p.id))); - + memset (&p.id, '1', sizeof (p.id)); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n", GNUNET_i2s_full(&p.id)); /* Prepare ATS Information */ test_ats_info[0].type = htonl (GNUNET_ATS_NETWORK_TYPE); test_ats_info[0].value = htonl(GNUNET_ATS_NET_WAN); - test_ats_info[1].type = htonl (GNUNET_ATS_QUALITY_NET_DISTANCE); - test_ats_info[1].value = htonl(1); + test_ats_info[1].type = htonl (GNUNET_ATS_QUALITY_NET_DELAY); + test_ats_info[1].value = htonl(10); test_ats_count = 2; /* Adding address without session */