Skip to content

Commit 71ab476

Browse files
committed
Merge #9098: [qa] Handle zombies and cluttered tmpdirs
fab0f07 [qa] rpc-tests: Apply random offset to portseed (MarcoFalke) fae19aa [qa] test_framework: Exit when tmpdir exists (MarcoFalke)
2 parents f53023d + fab0f07 commit 71ab476

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

qa/pull-tester/rpc-tests.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,14 +246,18 @@ def __init__(self, num_tests_parallel, test_list=None, flags=None):
246246
self.test_list = test_list
247247
self.flags = flags
248248
self.num_running = 0
249+
# In case there is a graveyard of zombie bitcoinds, we can apply a
250+
# pseudorandom offset to hopefully jump over them.
251+
# (625 is PORT_RANGE/MAX_NODES)
252+
self.portseed_offset = int(time.time() * 1000) % 625
249253
self.jobs = []
250254

251255
def get_next(self):
252256
while self.num_running < self.num_jobs and self.test_list:
253257
# Add tests
254258
self.num_running += 1
255259
t = self.test_list.pop(0)
256-
port_seed = ["--portseed=%s" % len(self.test_list)]
260+
port_seed = ["--portseed={}".format(len(self.test_list) + self.portseed_offset)]
257261
log_stdout = tempfile.SpooledTemporaryFile(max_size=2**16)
258262
log_stderr = tempfile.SpooledTemporaryFile(max_size=2**16)
259263
self.jobs.append((t,

qa/rpc-tests/test_framework/test_framework.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,11 @@ def main(self):
139139

140140
success = False
141141
try:
142-
if not os.path.isdir(self.options.tmpdir):
143-
os.makedirs(self.options.tmpdir)
142+
os.makedirs(self.options.tmpdir, exist_ok=False)
144143
self.setup_chain()
145-
146144
self.setup_network()
147-
148145
self.run_test()
149-
150146
success = True
151-
152147
except JSONRPCException as e:
153148
print("JSONRPC error: "+e.error['message'])
154149
traceback.print_tb(sys.exc_info()[2])

0 commit comments

Comments
 (0)