test: prevent intermittent failures

Add to the tried table before the new table to make sure a new table collision
is not possible

Co-authored-by: Martin Zumsande <mzumsande@gmail.com>
This commit is contained in:
Amiti UttarwarandMartin Zumsande committed 2023-04-20 19:16:36 -07:00
1 parent 4c40837a45
commit 10a354f174
1 file changed
+4 -3
+4 -3
View File
@@ -256,10 +256,7 @@ BOOST_AUTO_TEST_CASE(addrman_select_special)
// use a non-deterministic addrman to ensure a passing test isn't due to setup
auto addrman = std::make_unique<AddrMan>(EMPTY_NETGROUPMAN, /*deterministic=*/false, GetCheckRatio(m_node));
// add ipv4 address to the new table
CNetAddr source = ResolveIP("252.2.2.2");
CService addr1 = ResolveService("250.1.1.3", 8333);
BOOST_CHECK(addrman->Add({CAddress(addr1, NODE_NONE)}, source));
// add I2P address to the tried table
CAddress i2p_addr;
@@ -267,6 +264,10 @@ BOOST_AUTO_TEST_CASE(addrman_select_special)
BOOST_CHECK(addrman->Add({i2p_addr}, source));
BOOST_CHECK(addrman->Good(i2p_addr));
// add ipv4 address to the new table
CService addr1 = ResolveService("250.1.1.3", 8333);
BOOST_CHECK(addrman->Add({CAddress(addr1, NODE_NONE)}, source));
// since the only ipv4 address is on the new table, ensure that the new
// table gets selected even if new_only is false. if the table was being
// selected at random, this test will sporadically fail