@@ -132,59 +132,58 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
132
132
BOOST_CHECK_EQUAL (addr_ret3.ToStringAddrPort (), " 250.1.1.1:8333" );
133
133
}
134
134
135
-
136
135
BOOST_AUTO_TEST_CASE (addrman_select)
137
136
{
138
137
auto addrman = std::make_unique<AddrMan>(EMPTY_NETGROUPMAN, DETERMINISTIC, GetCheckRatio (m_node));
138
+ BOOST_CHECK (!addrman->Select (false ).first .IsValid ());
139
+ BOOST_CHECK (!addrman->Select (true ).first .IsValid ());
139
140
140
141
CNetAddr source = ResolveIP (" 252.2.2.2" );
141
142
142
- // Test: Select from new with 1 addr in new.
143
+ // Add 1 address to the new table
143
144
CService addr1 = ResolveService (" 250.1.1.1" , 8333 );
144
145
BOOST_CHECK (addrman->Add ({CAddress (addr1, NODE_NONE)}, source));
145
146
BOOST_CHECK_EQUAL (addrman->Size (), 1U );
146
147
147
- bool new_only = true ;
148
- auto addr_ret1 = addrman->Select (new_only).first ;
149
- BOOST_CHECK_EQUAL (addr_ret1.ToStringAddrPort (), " 250.1.1.1:8333" );
148
+ BOOST_CHECK (addrman->Select (/* new_only=*/ true ).first == addr1);
149
+ BOOST_CHECK (addrman->Select (/* new_only=*/ false ).first == addr1);
150
150
151
- // Test: move addr to tried, select from new expected nothing returned.
151
+ // Move address to the tried table
152
152
BOOST_CHECK (addrman->Good (CAddress (addr1, NODE_NONE)));
153
- BOOST_CHECK_EQUAL (addrman->Size (), 1U );
154
- auto addr_ret2 = addrman->Select (new_only).first ;
155
- BOOST_CHECK_EQUAL (addr_ret2.ToStringAddrPort (), " [::]:0" );
156
-
157
- auto addr_ret3 = addrman->Select ().first ;
158
- BOOST_CHECK_EQUAL (addr_ret3.ToStringAddrPort (), " 250.1.1.1:8333" );
159
153
154
+ BOOST_CHECK_EQUAL (addrman->Size (), 1U );
155
+ BOOST_CHECK (!addrman->Select (/* new_only=*/ true ).first .IsValid ());
156
+ BOOST_CHECK (addrman->Select ().first == addr1);
160
157
BOOST_CHECK_EQUAL (addrman->Size (), 1U );
161
158
162
-
163
- // Add three addresses to new table.
159
+ // Add one address to the new table
164
160
CService addr2 = ResolveService (" 250.3.1.1" , 8333 );
161
+ BOOST_CHECK (addrman->Add ({CAddress (addr2, NODE_NONE)}, addr2));
162
+ BOOST_CHECK (addrman->Select (/* new_only=*/ true ).first == addr2);
163
+
164
+ // Add two more addresses to the new table
165
165
CService addr3 = ResolveService (" 250.3.2.2" , 9999 );
166
166
CService addr4 = ResolveService (" 250.3.3.3" , 9999 );
167
167
168
- BOOST_CHECK (addrman->Add ({CAddress (addr2, NODE_NONE)}, ResolveService (" 250.3.1.1" , 8333 )));
169
- BOOST_CHECK (addrman->Add ({CAddress (addr3, NODE_NONE)}, ResolveService (" 250.3.1.1" , 8333 )));
168
+ BOOST_CHECK (addrman->Add ({CAddress (addr3, NODE_NONE)}, addr2));
170
169
BOOST_CHECK (addrman->Add ({CAddress (addr4, NODE_NONE)}, ResolveService (" 250.4.1.1" , 8333 )));
171
170
172
171
// Add three addresses to tried table.
173
172
CService addr5 = ResolveService (" 250.4.4.4" , 8333 );
174
173
CService addr6 = ResolveService (" 250.4.5.5" , 7777 );
175
174
CService addr7 = ResolveService (" 250.4.6.6" , 8333 );
176
175
177
- BOOST_CHECK (addrman->Add ({CAddress (addr5, NODE_NONE)}, ResolveService ( " 250.3.1.1 " , 8333 ) ));
176
+ BOOST_CHECK (addrman->Add ({CAddress (addr5, NODE_NONE)}, addr3 ));
178
177
BOOST_CHECK (addrman->Good (CAddress (addr5, NODE_NONE)));
179
- BOOST_CHECK (addrman->Add ({CAddress (addr6, NODE_NONE)}, ResolveService ( " 250.3.1.1 " , 8333 ) ));
178
+ BOOST_CHECK (addrman->Add ({CAddress (addr6, NODE_NONE)}, addr3 ));
180
179
BOOST_CHECK (addrman->Good (CAddress (addr6, NODE_NONE)));
181
180
BOOST_CHECK (addrman->Add ({CAddress (addr7, NODE_NONE)}, ResolveService (" 250.1.1.3" , 8333 )));
182
181
BOOST_CHECK (addrman->Good (CAddress (addr7, NODE_NONE)));
183
182
184
- // Test: 6 addrs + 1 addr from last test = 7.
183
+ // 6 addrs + 1 addr from last test = 7.
185
184
BOOST_CHECK_EQUAL (addrman->Size (), 7U );
186
185
187
- // Test: Select pulls from new and tried regardless of port number.
186
+ // Select pulls from new and tried regardless of port number.
188
187
std::set<uint16_t > ports;
189
188
for (int i = 0 ; i < 20 ; ++i) {
190
189
ports.insert (addrman->Select ().first .GetPort ());
0 commit comments