Skip to content

Commit 752ab9c

Browse files
ryanofskyhodlinator
andcommitted
test: Add test to make sure -noconnect disables -dnsseed and -listen by default
Make sure -noconnect has same effect as -connect for disabling DNS seeding and listening by default, and warning about -dnsseed being ignored with the -proxy setting. Initial implementation of bitcoin/bitcoin#30529 accidentally broke this behavior, so having coverage may be useful to make sure it does not break again. Co-authored-by: Hodlinator <[email protected]>
1 parent 3c2920e commit 752ab9c

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

test/functional/feature_config_args.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,8 @@ def test_connect_with_seednode(self):
369369
seednode_ignored = ['-seednode is ignored when -connect is used\n']
370370
dnsseed_ignored = ['-dnsseed is ignored when -connect is used and -proxy is specified\n']
371371
addcon_thread_started = ['addcon thread start\n']
372+
dnsseed_disabled = "parameter interaction: -connect or -maxconnections=0 set -> setting -dnsseed=0"
373+
listen_disabled = "parameter interaction: -connect or -maxconnections=0 set -> setting -listen=0"
372374

373375
# When -connect is supplied, expanding addrman via getaddr calls to ADDR_FETCH(-seednode)
374376
# nodes is irrelevant and -seednode is ignored.
@@ -393,6 +395,19 @@ def test_connect_with_seednode(self):
393395
with self.nodes[0].assert_debug_log(expected_msgs=addcon_thread_started,
394396
unexpected_msgs=seednode_ignored):
395397
self.restart_node(0, extra_args=[connect_arg, '-seednode=fakeaddress2'])
398+
399+
# Make sure -noconnect soft-disables -listen and -dnsseed.
400+
# Need to temporarily remove these settings from the config file in
401+
# order for the two log messages to appear
402+
self.nodes[0].replace_in_config([("bind=", "#bind="), ("dnsseed=", "#dnsseed=")])
403+
with self.nodes[0].assert_debug_log(expected_msgs=[dnsseed_disabled, listen_disabled]):
404+
self.restart_node(0, extra_args=[connect_arg])
405+
self.nodes[0].replace_in_config([("#bind=", "bind="), ("#dnsseed=", "dnsseed=")])
406+
407+
# Make sure -proxy and -noconnect warn about -dnsseed setting being
408+
# ignored, just like -proxy and -connect do.
409+
with self.nodes[0].assert_debug_log(expected_msgs=dnsseed_ignored):
410+
self.restart_node(0, extra_args=[connect_arg, '-dnsseed', '-proxy=localhost:1080'])
396411
self.stop_node(0)
397412

398413
def test_ignored_conf(self):

0 commit comments

Comments
 (0)