0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-10 10:52:31 -05:00

[test] Use mocktime in test_seed_peers()

Test case now takes < 5 seconds instead of > 2 minutes
This commit is contained in:
Dhruv Mehta 2021-02-12 09:35:18 -08:00
parent 015637dd44
commit d4187e4619

View file

@ -149,20 +149,21 @@ class ConfArgsTest(BitcoinTestFramework):
self.stop_node(0) self.stop_node(0)
def test_seed_peers(self): def test_seed_peers(self):
self.log.info('Test seed peers, this will take about 2 minutes') self.log.info('Test seed peers')
default_data_dir = self.nodes[0].datadir default_data_dir = self.nodes[0].datadir
# No peers.dat exists and -dnsseed=1 # No peers.dat exists and -dnsseed=1
# We expect the node will use DNS Seeds, but Regtest mode has 0 DNS seeds # We expect the node will use DNS Seeds, but Regtest mode has 0 DNS seeds
# So after 60 seconds, the node should fallback to fixed seeds (this is a slow test) # So after 60 seconds, the node should fallback to fixed seeds (this is a slow test)
assert not os.path.exists(os.path.join(default_data_dir, "peers.dat")) assert not os.path.exists(os.path.join(default_data_dir, "peers.dat"))
start = time.time() start = int(time.time())
with self.nodes[0].assert_debug_log(expected_msgs=[ with self.nodes[0].assert_debug_log(expected_msgs=[
"Loaded 0 addresses from peers.dat", "Loaded 0 addresses from peers.dat",
"0 addresses found from DNS seeds", "0 addresses found from DNS seeds"]):
"Adding fixed seeds as 60 seconds have passed and addrman is empty"], timeout=80): self.start_node(0, extra_args=['-dnsseed=1 -mocktime={}'.format(start)])
self.start_node(0, extra_args=['-dnsseed=1']) with self.nodes[0].assert_debug_log(expected_msgs=[
assert time.time() - start >= 60 "Adding fixed seeds as 60 seconds have passed and addrman is empty"]):
self.nodes[0].setmocktime(start + 65)
self.stop_node(0) self.stop_node(0)
# No peers.dat exists and -dnsseed=0 # No peers.dat exists and -dnsseed=0
@ -192,14 +193,14 @@ class ConfArgsTest(BitcoinTestFramework):
# No peers.dat exists and -dnsseed=0, but a -addnode is provided # No peers.dat exists and -dnsseed=0, but a -addnode is provided
# We expect the node will allow 60 seconds prior to using fixed seeds # We expect the node will allow 60 seconds prior to using fixed seeds
assert not os.path.exists(os.path.join(default_data_dir, "peers.dat")) assert not os.path.exists(os.path.join(default_data_dir, "peers.dat"))
start = time.time() start = int(time.time())
with self.nodes[0].assert_debug_log(expected_msgs=[ with self.nodes[0].assert_debug_log(expected_msgs=[
"Loaded 0 addresses from peers.dat", "Loaded 0 addresses from peers.dat",
"DNS seeding disabled", "DNS seeding disabled"]):
"Adding fixed seeds as 60 seconds have passed and addrman is empty"], self.start_node(0, extra_args=['-dnsseed=0', '-addnode=fakenodeaddr -mocktime={}'.format(start)])
timeout=80): with self.nodes[0].assert_debug_log(expected_msgs=[
self.start_node(0, extra_args=['-dnsseed=0', '-addnode=fakenodeaddr']) "Adding fixed seeds as 60 seconds have passed and addrman is empty"]):
assert time.time() - start >= 60 self.nodes[0].setmocktime(start + 65)
self.stop_node(0) self.stop_node(0)