Skip to content

Commit 601a07f

Browse files
committed
merge bitcoin#21254: Avoid connecting to real network when running tests
1 parent 347d812 commit 601a07f

File tree

2 files changed

+30
-22
lines changed

2 files changed

+30
-22
lines changed

test/functional/feature_config_args.py

+29-22
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def set_test_params(self):
1919
self.wallet_names = []
2020

2121
def test_config_file_parser(self):
22-
# Assume node is stopped
22+
self.stop_node(0)
2323

2424
inc_conf_file_path = os.path.join(self.nodes[0].datadir, 'include.conf')
2525
with open(os.path.join(self.nodes[0].datadir, 'dash.conf'), 'a', encoding='utf-8') as conf:
@@ -89,11 +89,12 @@ def test_invalid_command_line_options(self):
8989
)
9090

9191
def test_log_buffer(self):
92+
self.stop_node(0)
9293
with self.nodes[0].assert_debug_log(expected_msgs=['Warning: parsed potentially confusing double-negative -connect=0\n']):
9394
self.start_node(0, extra_args=['-noconnect=0'])
94-
self.stop_node(0)
9595

9696
def test_args_log(self):
97+
self.stop_node(0)
9798
self.log.info('Test config args logging')
9899
with self.nodes[0].assert_debug_log(
99100
expected_msgs=[
@@ -120,37 +121,41 @@ def test_args_log(self):
120121
'-rpcuser=secret-rpcuser',
121122
'-torpassword=secret-torpassword',
122123
])
123-
self.stop_node(0)
124124

125125
def test_networkactive(self):
126126
self.log.info('Test -networkactive option')
127+
self.stop_node(0)
127128
with self.nodes[0].assert_debug_log(expected_msgs=['SetNetworkActive: true\n']):
128129
self.start_node(0)
129-
self.stop_node(0)
130130

131+
self.stop_node(0)
131132
with self.nodes[0].assert_debug_log(expected_msgs=['SetNetworkActive: true\n']):
132133
self.start_node(0, extra_args=['-networkactive'])
133-
self.stop_node(0)
134134

135+
self.stop_node(0)
135136
with self.nodes[0].assert_debug_log(expected_msgs=['SetNetworkActive: true\n']):
136137
self.start_node(0, extra_args=['-networkactive=1'])
137-
self.stop_node(0)
138138

139+
self.stop_node(0)
139140
with self.nodes[0].assert_debug_log(expected_msgs=['SetNetworkActive: false\n']):
140141
self.start_node(0, extra_args=['-networkactive=0'])
141-
self.stop_node(0)
142142

143+
self.stop_node(0)
143144
with self.nodes[0].assert_debug_log(expected_msgs=['SetNetworkActive: false\n']):
144145
self.start_node(0, extra_args=['-nonetworkactive'])
145-
self.stop_node(0)
146146

147+
self.stop_node(0)
147148
with self.nodes[0].assert_debug_log(expected_msgs=['SetNetworkActive: false\n']):
148149
self.start_node(0, extra_args=['-nonetworkactive=1'])
149-
self.stop_node(0)
150150

151151
def test_seed_peers(self):
152152
self.log.info('Test seed peers')
153153
default_data_dir = self.nodes[0].datadir
154+
# Only regtest has no fixed seeds. To avoid connections to random
155+
# nodes, regtest is the only network where it is safe to enable
156+
# -fixedseeds in tests
157+
util.assert_equal(self.nodes[0].getblockchaininfo()['chain'],'regtest')
158+
self.stop_node(0)
154159

155160
# No peers.dat exists and -dnsseed=1
156161
# We expect the node will use DNS Seeds, but Regtest mode has 0 DNS seeds
@@ -159,10 +164,12 @@ def test_seed_peers(self):
159164
start = int(time.time())
160165
with self.nodes[0].assert_debug_log(expected_msgs=[
161166
"Loaded 0 addresses from peers.dat",
162-
"0 addresses found from DNS seeds"]):
163-
self.start_node(0, extra_args=['-dnsseed=1 -mocktime={}'.format(start)])
167+
"0 addresses found from DNS seeds",
168+
]):
169+
self.start_node(0, extra_args=['-dnsseed=1', '-fixedseeds=1', f'-mocktime={start}'])
164170
with self.nodes[0].assert_debug_log(expected_msgs=[
165-
"Adding fixed seeds as 60 seconds have passed and addrman is empty"]):
171+
"Adding fixed seeds as 60 seconds have passed and addrman is empty",
172+
]):
166173
self.nodes[0].setmocktime(start + 65)
167174
self.stop_node(0)
168175

@@ -173,8 +180,9 @@ def test_seed_peers(self):
173180
with self.nodes[0].assert_debug_log(expected_msgs=[
174181
"Loaded 0 addresses from peers.dat",
175182
"DNS seeding disabled",
176-
"Adding fixed seeds as -dnsseed=0, -addnode is not provided and all -seednode(s) attempted\n"]):
177-
self.start_node(0, extra_args=['-dnsseed=0'])
183+
"Adding fixed seeds as -dnsseed=0, -addnode is not provided and all -seednode(s) attempted\n",
184+
]):
185+
self.start_node(0, extra_args=['-dnsseed=0', '-fixedseeds=1'])
178186
assert time.time() - start < 60
179187
self.stop_node(0)
180188

@@ -185,7 +193,8 @@ def test_seed_peers(self):
185193
with self.nodes[0].assert_debug_log(expected_msgs=[
186194
"Loaded 0 addresses from peers.dat",
187195
"DNS seeding disabled",
188-
"Fixed seeds are disabled"]):
196+
"Fixed seeds are disabled",
197+
]):
189198
self.start_node(0, extra_args=['-dnsseed=0', '-fixedseeds=0'])
190199
assert time.time() - start < 60
191200
self.stop_node(0)
@@ -196,17 +205,15 @@ def test_seed_peers(self):
196205
start = int(time.time())
197206
with self.nodes[0].assert_debug_log(expected_msgs=[
198207
"Loaded 0 addresses from peers.dat",
199-
"DNS seeding disabled"]):
200-
self.start_node(0, extra_args=['-dnsseed=0', '-addnode=fakenodeaddr -mocktime={}'.format(start)])
208+
"DNS seeding disabled",
209+
]):
210+
self.start_node(0, extra_args=['-dnsseed=0', '-fixedseeds=1', '-addnode=fakenodeaddr', f'-mocktime={start}'])
201211
with self.nodes[0].assert_debug_log(expected_msgs=[
202-
"Adding fixed seeds as 60 seconds have passed and addrman is empty"]):
212+
"Adding fixed seeds as 60 seconds have passed and addrman is empty",
213+
]):
203214
self.nodes[0].setmocktime(start + 65)
204-
self.stop_node(0)
205-
206215

207216
def run_test(self):
208-
self.stop_node(0)
209-
210217
self.test_log_buffer()
211218
self.test_args_log()
212219
self.test_seed_peers()

test/functional/test_framework/util.py

+1
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ def write_config(config_path, *, n, chain, extra_config=""):
371371
f.write("keypool=1\n")
372372
f.write("discover=0\n")
373373
f.write("dnsseed=0\n")
374+
f.write("fixedseeds=0\n")
374375
f.write("listenonion=0\n")
375376
f.write("printtoconsole=0\n")
376377
f.write("upnp=0\n")

0 commit comments

Comments
 (0)