@ -84,43 +84,43 @@ BOOST_AUTO_TEST_CASE(addrman_simple)
@@ -84,43 +84,43 @@ BOOST_AUTO_TEST_CASE(addrman_simple)
CNetAddr source = ResolveIP ( " 252.2.2.2 " ) ;
// Test 1 : Does Addrman respond correctly when empty.
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
// Test: Does Addrman respond correctly when empty.
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
CAddrInfo addr_null = addrman . Select ( ) ;
BOOST_CHECK ( addr_null . ToString ( ) = = " [::]:0 " ) ;
BOOST_CHECK_EQUAL ( addr_null . ToString ( ) , " [::]:0 " ) ;
// Test 2 : Does Addrman::Add work as expected.
// Test: Does Addrman::Add work as expected.
CService addr1 = ResolveService ( " 250.1.1.1 " , 8333 ) ;
BOOST_CHECK ( addrman . Add ( CAddress ( addr1 , NODE_NONE ) , source ) ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
CAddrInfo addr_ret1 = addrman . Select ( ) ;
BOOST_CHECK ( addr_ret1 . ToString ( ) = = " 250.1.1.1:8333 " ) ;
BOOST_CHECK_EQUAL ( addr_ret1 . ToString ( ) , " 250.1.1.1:8333 " ) ;
// Test 3 : Does IP address deduplication work correctly.
// Test: Does IP address deduplication work correctly.
// Expected dup IP should not be added.
CService addr1_dup = ResolveService ( " 250.1.1.1 " , 8333 ) ;
BOOST_CHECK ( ! addrman . Add ( CAddress ( addr1_dup , NODE_NONE ) , source ) ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
// Test 5 : New table has one addr and we add a diff addr we should
// Test: New table has one addr and we add a diff addr we should
// have two addrs.
CService addr2 = ResolveService ( " 250.1.1.2 " , 8333 ) ;
BOOST_CHECK ( addrman . Add ( CAddress ( addr2 , NODE_NONE ) , source ) ) ;
BOOST_CHECK ( addrman . size ( ) = = 2 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 2 ) ;
// Test 6 : AddrMan::Clear() should empty the new table.
// Test: AddrMan::Clear() should empty the new table.
addrman . Clear ( ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
CAddrInfo addr_null2 = addrman . Select ( ) ;
BOOST_CHECK ( addr_null2 . ToString ( ) = = " [::]:0 " ) ;
BOOST_CHECK_EQUAL ( addr_null2 . ToString ( ) , " [::]:0 " ) ;
// Test 6.5 : AddrMan::Add multiple addresses works as expected
// Test: AddrMan::Add multiple addresses works as expected
std : : vector < CAddress > vAddr ;
vAddr . push_back ( CAddress ( ResolveService ( " 250.1.1.3 " , 8333 ) , NODE_NONE ) ) ;
vAddr . push_back ( CAddress ( ResolveService ( " 250.1.1.4 " , 8333 ) , NODE_NONE ) ) ;
BOOST_CHECK ( addrman . Add ( vAddr , source ) ) ;
BOOST_CHECK ( addrman . size ( ) = = 2 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 2 ) ;
}
BOOST_AUTO_TEST_CASE ( addrman_ports )
@ -132,26 +132,26 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
@@ -132,26 +132,26 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
CNetAddr source = ResolveIP ( " 252.2.2.2 " ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
// Test 7; Addr with same IP but diff port does not replace existing addr.
CService addr1 = ResolveService ( " 250.1.1.1 " , 8333 ) ;
addrman . Add ( CAddress ( addr1 , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
CService addr1_port = ResolveService ( " 250.1.1.1 " , 8334 ) ;
addrman . Add ( CAddress ( addr1_port , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
CAddrInfo addr_ret2 = addrman . Select ( ) ;
BOOST_CHECK ( addr_ret2 . ToString ( ) = = " 250.1.1.1:8333 " ) ;
BOOST_CHECK_EQUAL ( addr_ret2 . ToString ( ) , " 250.1.1.1:8333 " ) ;
// Test 8 : Add same IP but diff port to tried table, it doesn't get added.
// Test: Add same IP but diff port to tried table, it doesn't get added.
// Perhaps this is not ideal behavior but it is the current behavior.
addrman . Good ( CAddress ( addr1_port , NODE_NONE ) ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
bool newOnly = true ;
CAddrInfo addr_ret3 = addrman . Select ( newOnly ) ;
BOOST_CHECK ( addr_ret3 . ToString ( ) = = " 250.1.1.1:8333 " ) ;
BOOST_CHECK_EQUAL ( addr_ret3 . ToString ( ) , " 250.1.1.1:8333 " ) ;
}
@ -164,25 +164,25 @@ BOOST_AUTO_TEST_CASE(addrman_select)
@@ -164,25 +164,25 @@ BOOST_AUTO_TEST_CASE(addrman_select)
CNetAddr source = ResolveIP ( " 252.2.2.2 " ) ;
// Test 9 : Select from new with 1 addr in new.
// Test: Select from new with 1 addr in new.
CService addr1 = ResolveService ( " 250.1.1.1 " , 8333 ) ;
addrman . Add ( CAddress ( addr1 , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
bool newOnly = true ;
CAddrInfo addr_ret1 = addrman . Select ( newOnly ) ;
BOOST_CHECK ( addr_ret1 . ToString ( ) = = " 250.1.1.1:8333 " ) ;
BOOST_CHECK_EQUAL ( addr_ret1 . ToString ( ) , " 250.1.1.1:8333 " ) ;
// Test 10 : move addr to tried, select from new expected nothing returned.
// Test: move addr to tried, select from new expected nothing returned.
addrman . Good ( CAddress ( addr1 , NODE_NONE ) ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
CAddrInfo addr_ret2 = addrman . Select ( newOnly ) ;
BOOST_CHECK ( addr_ret2 . ToString ( ) = = " [::]:0 " ) ;
BOOST_CHECK_EQUAL ( addr_ret2 . ToString ( ) , " [::]:0 " ) ;
CAddrInfo addr_ret3 = addrman . Select ( ) ;
BOOST_CHECK ( addr_ret3 . ToString ( ) = = " 250.1.1.1:8333 " ) ;
BOOST_CHECK_EQUAL ( addr_ret3 . ToString ( ) , " 250.1.1.1:8333 " ) ;
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
// Add three addresses to new table.
@ -206,10 +206,10 @@ BOOST_AUTO_TEST_CASE(addrman_select)
@@ -206,10 +206,10 @@ BOOST_AUTO_TEST_CASE(addrman_select)
addrman . Add ( CAddress ( addr7 , NODE_NONE ) , ResolveService ( " 250.1.1.3 " , 8333 ) ) ;
addrman . Good ( CAddress ( addr7 , NODE_NONE ) ) ;
// Test 11 : 6 addrs + 1 addr from last test = 7.
BOOST_CHECK ( addrman . size ( ) = = 7 ) ;
// Test: 6 addrs + 1 addr from last test = 7.
BOOST_CHECK_EQUAL ( addrman . size ( ) , 7 ) ;
// Test 12 : Select pulls from new and tried regardless of port number.
// Test: Select pulls from new and tried regardless of port number.
std : : set < uint16_t > ports ;
for ( int i = 0 ; i < 20 ; + + i ) {
ports . insert ( addrman . Select ( ) . GetPort ( ) ) ;
@ -226,24 +226,24 @@ BOOST_AUTO_TEST_CASE(addrman_new_collisions)
@@ -226,24 +226,24 @@ BOOST_AUTO_TEST_CASE(addrman_new_collisions)
CNetAddr source = ResolveIP ( " 252.2.2.2 " ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
for ( unsigned int i = 1 ; i < 18 ; i + + ) {
CService addr = ResolveService ( " 250.1.1. " + boost : : to_string ( i ) ) ;
addrman . Add ( CAddress ( addr , NODE_NONE ) , source ) ;
//Test 13 : No collision in new table yet.
BOOST_CHECK ( addrman . size ( ) = = i ) ;
//Test: No collision in new table yet.
BOOST_CHECK_EQUAL ( addrman . size ( ) , i ) ;
}
//Test 14 : new table collision!
//Test: new table collision!
CService addr1 = ResolveService ( " 250.1.1.18 " ) ;
addrman . Add ( CAddress ( addr1 , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 17 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 17 ) ;
CService addr2 = ResolveService ( " 250.1.1.19 " ) ;
addrman . Add ( CAddress ( addr2 , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 18 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 18 ) ;
}
BOOST_AUTO_TEST_CASE ( addrman_tried_collisions )
@ -255,25 +255,25 @@ BOOST_AUTO_TEST_CASE(addrman_tried_collisions)
@@ -255,25 +255,25 @@ BOOST_AUTO_TEST_CASE(addrman_tried_collisions)
CNetAddr source = ResolveIP ( " 252.2.2.2 " ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
for ( unsigned int i = 1 ; i < 80 ; i + + ) {
CService addr = ResolveService ( " 250.1.1. " + boost : : to_string ( i ) ) ;
addrman . Add ( CAddress ( addr , NODE_NONE ) , source ) ;
addrman . Good ( CAddress ( addr , NODE_NONE ) ) ;
//Test 15 : No collision in tried table yet.
//Test: No collision in tried table yet.
BOOST_CHECK_EQUAL ( addrman . size ( ) , i ) ;
}
//Test 16 : tried table collision!
//Test: tried table collision!
CService addr1 = ResolveService ( " 250.1.1.80 " ) ;
addrman . Add ( CAddress ( addr1 , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 79 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 79 ) ;
CService addr2 = ResolveService ( " 250.1.1.81 " ) ;
addrman . Add ( CAddress ( addr2 , NODE_NONE ) , source ) ;
BOOST_CHECK ( addrman . size ( ) = = 80 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 80 ) ;
}
BOOST_AUTO_TEST_CASE ( addrman_find )
@ -283,7 +283,7 @@ BOOST_AUTO_TEST_CASE(addrman_find)
@@ -283,7 +283,7 @@ BOOST_AUTO_TEST_CASE(addrman_find)
// Set addrman addr placement to be deterministic.
addrman . MakeDeterministic ( ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
CAddress addr1 = CAddress ( ResolveService ( " 250.1.2.1 " , 8333 ) , NODE_NONE ) ;
CAddress addr2 = CAddress ( ResolveService ( " 250.1.2.1 " , 9999 ) , NODE_NONE ) ;
@ -296,23 +296,20 @@ BOOST_AUTO_TEST_CASE(addrman_find)
@@ -296,23 +296,20 @@ BOOST_AUTO_TEST_CASE(addrman_find)
addrman . Add ( addr2 , source2 ) ;
addrman . Add ( addr3 , source1 ) ;
// Test 17 : ensure Find returns an IP matching what we searched on.
// Test: ensure Find returns an IP matching what we searched on.
CAddrInfo * info1 = addrman . Find ( addr1 ) ;
BOOST_CHECK ( info1 ) ;
if ( info1 )
BOOST_CHECK ( info1 - > ToString ( ) = = " 250.1.2.1:8333 " ) ;
BOOST_REQUIRE ( info1 ) ;
BOOST_CHECK_EQUAL ( info1 - > ToString ( ) , " 250.1.2.1:8333 " ) ;
// Test 18; Find does not discriminate by port number.
CAddrInfo * info2 = addrman . Find ( addr2 ) ;
BOOST_CHECK ( info2 ) ;
if ( info2 & & info1 )
BOOST_CHECK ( info2 - > ToString ( ) = = info1 - > ToString ( ) ) ;
BOOST_REQUIRE ( info2 ) ;
BOOST_CHECK_EQUAL ( info2 - > ToString ( ) , info1 - > ToString ( ) ) ;
// Test 19 : Find returns another IP matching what we searched on.
// Test: Find returns another IP matching what we searched on.
CAddrInfo * info3 = addrman . Find ( addr3 ) ;
BOOST_CHECK ( info3 ) ;
if ( info3 )
BOOST_CHECK ( info3 - > ToString ( ) = = " 251.255.2.1:8333 " ) ;
BOOST_REQUIRE ( info3 ) ;
BOOST_CHECK_EQUAL ( info3 - > ToString ( ) , " 251.255.2.1:8333 " ) ;
}
BOOST_AUTO_TEST_CASE ( addrman_create )
@ -322,7 +319,7 @@ BOOST_AUTO_TEST_CASE(addrman_create)
@@ -322,7 +319,7 @@ BOOST_AUTO_TEST_CASE(addrman_create)
// Set addrman addr placement to be deterministic.
addrman . MakeDeterministic ( ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
CAddress addr1 = CAddress ( ResolveService ( " 250.1.2.1 " , 8333 ) , NODE_NONE ) ;
CNetAddr source1 = ResolveIP ( " 250.1.2.1 " ) ;
@ -330,11 +327,11 @@ BOOST_AUTO_TEST_CASE(addrman_create)
@@ -330,11 +327,11 @@ BOOST_AUTO_TEST_CASE(addrman_create)
int nId ;
CAddrInfo * pinfo = addrman . Create ( addr1 , source1 , & nId ) ;
// Test 20 : The result should be the same as the input addr.
BOOST_CHECK ( pinfo - > ToString ( ) = = " 250.1.2.1:8333 " ) ;
// Test: The result should be the same as the input addr.
BOOST_CHECK_EQUAL ( pinfo - > ToString ( ) , " 250.1.2.1:8333 " ) ;
CAddrInfo * info2 = addrman . Find ( addr1 ) ;
BOOST_CHECK ( info2 - > ToString ( ) = = " 250.1.2.1:8333 " ) ;
BOOST_CHECK_EQUAL ( info2 - > ToString ( ) , " 250.1.2.1:8333 " ) ;
}
@ -345,7 +342,7 @@ BOOST_AUTO_TEST_CASE(addrman_delete)
@@ -345,7 +342,7 @@ BOOST_AUTO_TEST_CASE(addrman_delete)
// Set addrman addr placement to be deterministic.
addrman . MakeDeterministic ( ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
CAddress addr1 = CAddress ( ResolveService ( " 250.1.2.1 " , 8333 ) , NODE_NONE ) ;
CNetAddr source1 = ResolveIP ( " 250.1.2.1 " ) ;
@ -353,10 +350,10 @@ BOOST_AUTO_TEST_CASE(addrman_delete)
@@ -353,10 +350,10 @@ BOOST_AUTO_TEST_CASE(addrman_delete)
int nId ;
addrman . Create ( addr1 , source1 , & nId ) ;
// Test 21 : Delete should actually delete the addr.
BOOST_CHECK ( addrman . size ( ) = = 1 ) ;
// Test: Delete should actually delete the addr.
BOOST_CHECK_EQUAL ( addrman . size ( ) , 1 ) ;
addrman . Delete ( nId ) ;
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
CAddrInfo * info2 = addrman . Find ( addr1 ) ;
BOOST_CHECK ( info2 = = NULL ) ;
}
@ -368,11 +365,11 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
@@ -368,11 +365,11 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
// Set addrman addr placement to be deterministic.
addrman . MakeDeterministic ( ) ;
// Test 22 : Sanity check, GetAddr should never return anything if addrman
// Test: Sanity check, GetAddr should never return anything if addrman
// is empty.
BOOST_CHECK ( addrman . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( addrman . size ( ) , 0 ) ;
std : : vector < CAddress > vAddr1 = addrman . GetAddr ( ) ;
BOOST_CHECK ( vAddr1 . size ( ) = = 0 ) ;
BOOST_CHECK_EQUAL ( vAddr1 . size ( ) , 0 ) ;
CAddress addr1 = CAddress ( ResolveService ( " 250.250.2.1 " , 8333 ) , NODE_NONE ) ;
addr1 . nTime = GetAdjustedTime ( ) ; // Set time so isTerrible = false
@ -387,7 +384,7 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
@@ -387,7 +384,7 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
CNetAddr source1 = ResolveIP ( " 250.1.2.1 " ) ;
CNetAddr source2 = ResolveIP ( " 250.2.3.3 " ) ;
// Test 23 : Ensure GetAddr works with new addresses.
// Test: Ensure GetAddr works with new addresses.
addrman . Add ( addr1 , source1 ) ;
addrman . Add ( addr2 , source2 ) ;
addrman . Add ( addr3 , source1 ) ;
@ -395,20 +392,20 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
@@ -395,20 +392,20 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
addrman . Add ( addr5 , source1 ) ;
// GetAddr returns 23% of addresses, 23% of 5 is 1 rounded down.
BOOST_CHECK ( addrman . GetAddr ( ) . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . GetAddr ( ) . size ( ) , 1 ) ;
// Test 24 : Ensure GetAddr works with new and tried addresses.
// Test: Ensure GetAddr works with new and tried addresses.
addrman . Good ( CAddress ( addr1 , NODE_NONE ) ) ;
addrman . Good ( CAddress ( addr2 , NODE_NONE ) ) ;
BOOST_CHECK ( addrman . GetAddr ( ) . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( addrman . GetAddr ( ) . size ( ) , 1 ) ;
// Test 25 : Ensure GetAddr still returns 23% when addrman has many addrs.
// Test: Ensure GetAddr still returns 23% when addrman has many addrs.
for ( unsigned int i = 1 ; i < ( 8 * 256 ) ; i + + ) {
int octet1 = i % 256 ;
int octet2 = i > > 8 % 256 ;
std : : string strAddr = boost : : to_string ( octet1 ) + " . " + boost : : to_string ( octet2 ) + " .1.23 " ;
CAddress addr = CAddress ( ResolveService ( strAddr ) , NODE_NONE ) ;
// Ensure that for all addrs in addrman, isTerrible == false.
addr . nTime = GetAdjustedTime ( ) ;
addrman . Add ( addr , ResolveIP ( strAddr ) ) ;
@ -444,13 +441,13 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
@@ -444,13 +441,13 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
uint256 nKey2 = ( uint256 ) ( CHashWriter ( SER_GETHASH , 0 ) < < 2 ) . GetHash ( ) ;
BOOST_CHECK ( info1 . GetTriedBucket ( nKey1 ) = = 40 ) ;
BOOST_CHECK_EQUAL ( info1 . GetTriedBucket ( nKey1 ) , 40 ) ;
// Test 26 : Make sure key actually randomizes bucket placement. A fail on
// Test: Make sure key actually randomizes bucket placement. A fail on
// this test could be a security issue.
BOOST_CHECK ( info1 . GetTriedBucket ( nKey1 ) ! = info1 . GetTriedBucket ( nKey2 ) ) ;
// Test 27 : Two addresses with same IP but different ports can map to
// Test: Two addresses with same IP but different ports can map to
// different buckets because they have different keys.
CAddrInfo info2 = CAddrInfo ( addr2 , source1 ) ;
@ -465,9 +462,9 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
@@ -465,9 +462,9 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
int bucket = infoi . GetTriedBucket ( nKey1 ) ;
buckets . insert ( bucket ) ;
}
// Test 28 : IP addresses in the same group (\16 prefix for IPv4) should
// Test: IP addresses in the same group (\16 prefix for IPv4) should
// never get more than 8 buckets
BOOST_CHECK ( buckets . size ( ) = = 8 ) ;
BOOST_CHECK_EQUAL ( buckets . size ( ) , 8 ) ;
buckets . clear ( ) ;
for ( int j = 0 ; j < 255 ; j + + ) {
@ -477,9 +474,9 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
@@ -477,9 +474,9 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
int bucket = infoj . GetTriedBucket ( nKey1 ) ;
buckets . insert ( bucket ) ;
}
// Test 29 : IP addresses in the different groups should map to more than
// Test: IP addresses in the different groups should map to more than
// 8 buckets.
BOOST_CHECK ( buckets . size ( ) = = 160 ) ;
BOOST_CHECK_EQUAL ( buckets . size ( ) , 160 ) ;
}
BOOST_AUTO_TEST_CASE ( caddrinfo_get_new_bucket )
@ -499,18 +496,18 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
@@ -499,18 +496,18 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
uint256 nKey1 = ( uint256 ) ( CHashWriter ( SER_GETHASH , 0 ) < < 1 ) . GetHash ( ) ;
uint256 nKey2 = ( uint256 ) ( CHashWriter ( SER_GETHASH , 0 ) < < 2 ) . GetHash ( ) ;
// Test 29.5 : Make sure the buckets are what we expect
BOOST_CHECK ( info1 . GetNewBucket ( nKey1 ) = = 786 ) ;
BOOST_CHECK ( info1 . GetNewBucket ( nKey1 , source1 ) = = 786 ) ;
// Test: Make sure the buckets are what we expect
BOOST_CHECK_EQUAL ( info1 . GetNewBucket ( nKey1 ) , 786 ) ;
BOOST_CHECK_EQUAL ( info1 . GetNewBucket ( nKey1 , source1 ) , 786 ) ;
// Test 30 : Make sure key actually randomizes bucket placement. A fail on
// Test: Make sure key actually randomizes bucket placement. A fail on
// this test could be a security issue.
BOOST_CHECK ( info1 . GetNewBucket ( nKey1 ) ! = info1 . GetNewBucket ( nKey2 ) ) ;
// Test 31 : Ports should not effect bucket placement in the addr
// Test: Ports should not effect bucket placement in the addr
CAddrInfo info2 = CAddrInfo ( addr2 , source1 ) ;
BOOST_CHECK ( info1 . GetKey ( ) ! = info2 . GetKey ( ) ) ;
BOOST_CHECK ( info1 . GetNewBucket ( nKey1 ) = = info2 . GetNewBucket ( nKey1 ) ) ;
BOOST_CHECK_EQUAL ( info1 . GetNewBucket ( nKey1 ) , info2 . GetNewBucket ( nKey1 ) ) ;
std : : set < int > buckets ;
for ( int i = 0 ; i < 255 ; i + + ) {
@ -520,9 +517,9 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
@@ -520,9 +517,9 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
int bucket = infoi . GetNewBucket ( nKey1 ) ;
buckets . insert ( bucket ) ;
}
// Test 32 : IP addresses in the same group (\16 prefix for IPv4) should
// Test: IP addresses in the same group (\16 prefix for IPv4) should
// always map to the same bucket.
BOOST_CHECK ( buckets . size ( ) = = 1 ) ;
BOOST_CHECK_EQUAL ( buckets . size ( ) , 1 ) ;
buckets . clear ( ) ;
for ( int j = 0 ; j < 4 * 255 ; j + + ) {
@ -533,7 +530,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
@@ -533,7 +530,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
int bucket = infoj . GetNewBucket ( nKey1 ) ;
buckets . insert ( bucket ) ;
}
// Test 33 : IP addresses in the same source groups should map to no more
// Test: IP addresses in the same source groups should map to no more
// than 64 buckets.
BOOST_CHECK ( buckets . size ( ) < = 64 ) ;
@ -545,7 +542,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
@@ -545,7 +542,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
int bucket = infoj . GetNewBucket ( nKey1 ) ;
buckets . insert ( bucket ) ;
}
// Test 34 : IP addresses in the different source groups should map to more
// Test: IP addresses in the different source groups should map to more
// than 64 buckets.
BOOST_CHECK ( buckets . size ( ) > 64 ) ;
}