22
22
23
23
using namespace std ::literals;
24
24
25
- class AddrManSerializationMock : public AddrMan
26
- {
27
- public:
28
- virtual void Serialize (CDataStream& s) const = 0;
29
-
30
- AddrManSerializationMock ()
31
- : AddrMan(/* asmap */ std::vector<bool >(), /* deterministic */ true , /* consistency_check_ratio */ 100 )
32
- {}
33
- };
34
-
35
- class AddrManUncorrupted : public AddrManSerializationMock
36
- {
37
- public:
38
- void Serialize (CDataStream& s) const override
39
- {
40
- AddrMan::Serialize (s);
41
- }
42
- };
43
-
44
- static CDataStream AddrmanToStream (const AddrManSerializationMock& _addrman)
45
- {
46
- CDataStream ssPeersIn (SER_DISK, CLIENT_VERSION);
47
- ssPeersIn << Params ().MessageStart ();
48
- ssPeersIn << _addrman;
49
- std::string str = ssPeersIn.str ();
50
- std::vector<unsigned char > vchData (str.begin (), str.end ());
51
- return CDataStream (vchData, SER_DISK, CLIENT_VERSION);
52
- }
53
-
54
25
class AddrManTest : public AddrMan
55
26
{
56
27
public:
@@ -973,9 +944,20 @@ BOOST_AUTO_TEST_CASE(addrman_evictionworks)
973
944
BOOST_CHECK (addrman.SelectTriedCollision ().first .ToString () == " [::]:0" );
974
945
}
975
946
947
+ static CDataStream AddrmanToStream (const AddrMan& addrman)
948
+ {
949
+ CDataStream ssPeersIn (SER_DISK, CLIENT_VERSION);
950
+ ssPeersIn << Params ().MessageStart ();
951
+ ssPeersIn << addrman;
952
+ std::string str = ssPeersIn.str ();
953
+ std::vector<unsigned char > vchData (str.begin (), str.end ());
954
+ return CDataStream (vchData, SER_DISK, CLIENT_VERSION);
955
+ }
956
+
976
957
BOOST_AUTO_TEST_CASE (load_addrman)
977
958
{
978
- AddrManUncorrupted addrmanUncorrupted;
959
+ AddrMan addrman{/* asmap=*/ std::vector<bool >(), /* deterministic=*/ true ,
960
+ /* consistency_check_ratio=*/ 100 };
979
961
980
962
CService addr1, addr2, addr3;
981
963
BOOST_CHECK (Lookup (" 250.7.1.1" , addr1, 8333 , false ));
@@ -988,11 +970,11 @@ BOOST_AUTO_TEST_CASE(load_addrman)
988
970
CService source;
989
971
BOOST_CHECK (Lookup (" 252.5.1.1" , source, 8333 , false ));
990
972
std::vector<CAddress> addresses{CAddress (addr1, NODE_NONE), CAddress (addr2, NODE_NONE), CAddress (addr3, NODE_NONE)};
991
- BOOST_CHECK (addrmanUncorrupted .Add (addresses, source));
992
- BOOST_CHECK (addrmanUncorrupted .size () == 3 );
973
+ BOOST_CHECK (addrman .Add (addresses, source));
974
+ BOOST_CHECK (addrman .size () == 3 );
993
975
994
976
// Test that the de-serialization does not throw an exception.
995
- CDataStream ssPeers1 = AddrmanToStream (addrmanUncorrupted );
977
+ CDataStream ssPeers1 = AddrmanToStream (addrman );
996
978
bool exceptionThrown = false ;
997
979
AddrMan addrman1 (/* asmap */ std::vector<bool >(), /* deterministic */ false , /* consistency_check_ratio */ 100 );
998
980
@@ -1009,7 +991,7 @@ BOOST_AUTO_TEST_CASE(load_addrman)
1009
991
BOOST_CHECK (exceptionThrown == false );
1010
992
1011
993
// Test that ReadFromStream creates an addrman with the correct number of addrs.
1012
- CDataStream ssPeers2 = AddrmanToStream (addrmanUncorrupted );
994
+ CDataStream ssPeers2 = AddrmanToStream (addrman );
1013
995
1014
996
AddrMan addrman2 (/* asmap */ std::vector<bool >(), /* deterministic */ false , /* consistency_check_ratio */ 100 );
1015
997
BOOST_CHECK (addrman2.size () == 0 );
0 commit comments