@@ -34,13 +34,9 @@ class CAddrManSerializationMock : public CAddrMan
3434public:
3535 virtual void Serialize (CDataStream& s) const = 0;
3636
37- // ! Ensure that bucket placement is always the same for testing purposes.
38- void MakeDeterministic ()
39- {
40- LOCK (cs);
41- nKey.SetNull ();
42- insecure_rand = FastRandomContext (true );
43- }
37+ CAddrManSerializationMock ()
38+ : CAddrMan(/* deterministic */ true )
39+ {}
4440};
4541
4642class CAddrManUncorrupted : public CAddrManSerializationMock
@@ -105,7 +101,6 @@ BOOST_AUTO_TEST_CASE(cnode_listen_port)
105101BOOST_AUTO_TEST_CASE (caddrdb_read)
106102{
107103 CAddrManUncorrupted addrmanUncorrupted;
108- addrmanUncorrupted.MakeDeterministic ();
109104
110105 CService addr1, addr2, addr3;
111106 BOOST_CHECK (Lookup (" 250.7.1.1" , addr1, 8333 , false ));
@@ -124,7 +119,7 @@ BOOST_AUTO_TEST_CASE(caddrdb_read)
124119 // Test that the de-serialization does not throw an exception.
125120 CDataStream ssPeers1 = AddrmanToStream (addrmanUncorrupted);
126121 bool exceptionThrown = false ;
127- CAddrMan addrman1;
122+ CAddrMan addrman1 ( /* deterministic */ false ) ;
128123
129124 BOOST_CHECK (addrman1.size () == 0 );
130125 try {
@@ -141,7 +136,7 @@ BOOST_AUTO_TEST_CASE(caddrdb_read)
141136 // Test that CAddrDB::Read creates an addrman with the correct number of addrs.
142137 CDataStream ssPeers2 = AddrmanToStream (addrmanUncorrupted);
143138
144- CAddrMan addrman2;
139+ CAddrMan addrman2 ( /* deterministic */ false ) ;
145140 BOOST_CHECK (addrman2.size () == 0 );
146141 BOOST_CHECK (CAddrDB::Read (addrman2, ssPeers2));
147142 BOOST_CHECK (addrman2.size () == 3 );
@@ -151,12 +146,11 @@ BOOST_AUTO_TEST_CASE(caddrdb_read)
151146BOOST_AUTO_TEST_CASE (caddrdb_read_corrupted)
152147{
153148 CAddrManCorrupted addrmanCorrupted;
154- addrmanCorrupted.MakeDeterministic ();
155149
156150 // Test that the de-serialization of corrupted addrman throws an exception.
157151 CDataStream ssPeers1 = AddrmanToStream (addrmanCorrupted);
158152 bool exceptionThrown = false ;
159- CAddrMan addrman1;
153+ CAddrMan addrman1 ( /* deterministic */ false ) ;
160154 BOOST_CHECK (addrman1.size () == 0 );
161155 try {
162156 unsigned char pchMsgTmp[4 ];
@@ -172,7 +166,7 @@ BOOST_AUTO_TEST_CASE(caddrdb_read_corrupted)
172166 // Test that CAddrDB::Read leaves addrman in a clean state if de-serialization fails.
173167 CDataStream ssPeers2 = AddrmanToStream (addrmanCorrupted);
174168
175- CAddrMan addrman2;
169+ CAddrMan addrman2 ( /* deterministic */ false ) ;
176170 BOOST_CHECK (addrman2.size () == 0 );
177171 BOOST_CHECK (!CAddrDB::Read (addrman2, ssPeers2));
178172 BOOST_CHECK (addrman2.size () == 0 );
0 commit comments