mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-21 14:34:49 +01:00
Merge bitcoin/bitcoin#23492: test: tidy up addrman unit tests
0000edaba3
style: Use 4 spaces for indentation, not 5 (MarcoFalke)fab9264be5
test: Remove unused CDataStream copy (MarcoFalke) Pull request description: Fix two issues: * Remove unneeded code, which makes test harder to read and write * Fix wrong indentation, which breaks some editors ACKs for top commit: jnewbery: Code review ACK0000edaba3
brunoerg: cr/tACK0000edaba3
shaavan: ACK0000edaba3
Tree-SHA512: babec1dfb840bd11ec89ec3d0e2529f826f5775fc7625e987480fac5251f6a6cdcf9a1051c8364d6ca2f66ce9934dcb8447a8cf7376b3952920faf2afd02be99
This commit is contained in:
commit
c9dd5c8d6e
1 changed files with 22 additions and 27 deletions
|
@ -65,14 +65,14 @@ public:
|
|||
// Simulates connection failure so that we can test eviction of offline nodes
|
||||
void SimConnFail(const CService& addr)
|
||||
{
|
||||
int64_t nLastSuccess = 1;
|
||||
// Set last good connection in the deep past.
|
||||
Good(addr, nLastSuccess);
|
||||
int64_t nLastSuccess = 1;
|
||||
// Set last good connection in the deep past.
|
||||
Good(addr, nLastSuccess);
|
||||
|
||||
bool count_failure = false;
|
||||
int64_t nLastTry = GetAdjustedTime()-61;
|
||||
Attempt(addr, count_failure, nLastTry);
|
||||
}
|
||||
bool count_failure = false;
|
||||
int64_t nLastTry = GetAdjustedTime() - 61;
|
||||
Attempt(addr, count_failure, nLastTry);
|
||||
}
|
||||
};
|
||||
|
||||
static CNetAddr ResolveIP(const std::string& ip)
|
||||
|
@ -90,7 +90,8 @@ static CService ResolveService(const std::string& ip, uint16_t port = 0)
|
|||
}
|
||||
|
||||
|
||||
static std::vector<bool> FromBytes(const unsigned char* source, int vector_size) {
|
||||
static std::vector<bool> FromBytes(const unsigned char* source, int vector_size)
|
||||
{
|
||||
std::vector<bool> result(vector_size);
|
||||
for (int byte_i = 0; byte_i < vector_size / 8; ++byte_i) {
|
||||
unsigned char cur_byte = source[byte_i];
|
||||
|
@ -246,15 +247,15 @@ BOOST_AUTO_TEST_CASE(addrman_new_collisions)
|
|||
|
||||
BOOST_CHECK_EQUAL(addrman.size(), num_addrs);
|
||||
|
||||
while (num_addrs < 22) { // Magic number! 250.1.1.1 - 250.1.1.22 do not collide with deterministic key = 1
|
||||
while (num_addrs < 22) { // Magic number! 250.1.1.1 - 250.1.1.22 do not collide with deterministic key = 1
|
||||
CService addr = ResolveService("250.1.1." + ToString(++num_addrs));
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr, NODE_NONE)}, source));
|
||||
|
||||
//Test: No collision in new table yet.
|
||||
// Test: No collision in new table yet.
|
||||
BOOST_CHECK_EQUAL(addrman.size(), num_addrs);
|
||||
}
|
||||
|
||||
//Test: new table collision!
|
||||
// Test: new table collision!
|
||||
CService addr1 = ResolveService("250.1.1." + ToString(++num_addrs));
|
||||
uint32_t collisions{1};
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr1, NODE_NONE)}, source));
|
||||
|
@ -275,16 +276,16 @@ BOOST_AUTO_TEST_CASE(addrman_tried_collisions)
|
|||
|
||||
BOOST_CHECK_EQUAL(addrman.size(), num_addrs);
|
||||
|
||||
while (num_addrs < 64) { // Magic number! 250.1.1.1 - 250.1.1.64 do not collide with deterministic key = 1
|
||||
while (num_addrs < 64) { // Magic number! 250.1.1.1 - 250.1.1.64 do not collide with deterministic key = 1
|
||||
CService addr = ResolveService("250.1.1." + ToString(++num_addrs));
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr, NODE_NONE)}, source));
|
||||
addrman.Good(CAddress(addr, NODE_NONE));
|
||||
|
||||
//Test: No collision in tried table yet.
|
||||
// Test: No collision in tried table yet.
|
||||
BOOST_CHECK_EQUAL(addrman.size(), num_addrs);
|
||||
}
|
||||
|
||||
//Test: tried table collision!
|
||||
// Test: tried table collision!
|
||||
CService addr1 = ResolveService("250.1.1." + ToString(++num_addrs));
|
||||
uint32_t collisions{1};
|
||||
BOOST_CHECK(!addrman.Add({CAddress(addr1, NODE_NONE)}, source));
|
||||
|
@ -693,7 +694,6 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
|
|||
// Test: IP addresses in the different source /16 prefixes sometimes map to NO MORE
|
||||
// than 1 bucket.
|
||||
BOOST_CHECK(buckets.size() == 1);
|
||||
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(addrman_serialization)
|
||||
|
@ -814,7 +814,7 @@ BOOST_AUTO_TEST_CASE(addrman_selecttriedcollision)
|
|||
// Add twenty two addresses.
|
||||
CNetAddr source = ResolveIP("252.2.2.2");
|
||||
for (unsigned int i = 1; i < 23; i++) {
|
||||
CService addr = ResolveService("250.1.1."+ToString(i));
|
||||
CService addr = ResolveService("250.1.1." + ToString(i));
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr, NODE_NONE)}, source));
|
||||
addrman.Good(addr);
|
||||
|
||||
|
@ -825,13 +825,12 @@ BOOST_AUTO_TEST_CASE(addrman_selecttriedcollision)
|
|||
|
||||
// Ensure Good handles duplicates well.
|
||||
for (unsigned int i = 1; i < 23; i++) {
|
||||
CService addr = ResolveService("250.1.1."+ToString(i));
|
||||
CService addr = ResolveService("250.1.1." + ToString(i));
|
||||
addrman.Good(addr);
|
||||
|
||||
BOOST_CHECK(addrman.size() == 22);
|
||||
BOOST_CHECK(addrman.SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(addrman_noevict)
|
||||
|
@ -841,7 +840,7 @@ BOOST_AUTO_TEST_CASE(addrman_noevict)
|
|||
// Add 35 addresses.
|
||||
CNetAddr source = ResolveIP("252.2.2.2");
|
||||
for (unsigned int i = 1; i < 36; i++) {
|
||||
CService addr = ResolveService("250.1.1."+ToString(i));
|
||||
CService addr = ResolveService("250.1.1." + ToString(i));
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr, NODE_NONE)}, source));
|
||||
addrman.Good(addr);
|
||||
|
||||
|
@ -864,7 +863,7 @@ BOOST_AUTO_TEST_CASE(addrman_noevict)
|
|||
|
||||
// Lets create two collisions.
|
||||
for (unsigned int i = 37; i < 59; i++) {
|
||||
CService addr = ResolveService("250.1.1."+ToString(i));
|
||||
CService addr = ResolveService("250.1.1." + ToString(i));
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr, NODE_NONE)}, source));
|
||||
addrman.Good(addr);
|
||||
|
||||
|
@ -902,7 +901,7 @@ BOOST_AUTO_TEST_CASE(addrman_evictionworks)
|
|||
// Add 35 addresses
|
||||
CNetAddr source = ResolveIP("252.2.2.2");
|
||||
for (unsigned int i = 1; i < 36; i++) {
|
||||
CService addr = ResolveService("250.1.1."+ToString(i));
|
||||
CService addr = ResolveService("250.1.1." + ToString(i));
|
||||
BOOST_CHECK(addrman.Add({CAddress(addr, NODE_NONE)}, source));
|
||||
addrman.Good(addr);
|
||||
|
||||
|
@ -949,9 +948,7 @@ static CDataStream AddrmanToStream(const AddrMan& addrman)
|
|||
CDataStream ssPeersIn(SER_DISK, CLIENT_VERSION);
|
||||
ssPeersIn << Params().MessageStart();
|
||||
ssPeersIn << addrman;
|
||||
std::string str = ssPeersIn.str();
|
||||
std::vector<unsigned char> vchData(str.begin(), str.end());
|
||||
return CDataStream(vchData, SER_DISK, CLIENT_VERSION);
|
||||
return ssPeersIn;
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(load_addrman)
|
||||
|
@ -1023,9 +1020,7 @@ static CDataStream MakeCorruptPeersDat()
|
|||
AddrInfo info = AddrInfo(addr, resolved);
|
||||
s << info;
|
||||
|
||||
std::string str = s.str();
|
||||
std::vector<unsigned char> vchData(str.begin(), str.end());
|
||||
return CDataStream(vchData, SER_DISK, CLIENT_VERSION);
|
||||
return s;
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(load_addrman_corrupted)
|
||||
|
|
Loading…
Add table
Reference in a new issue