aboutsummaryrefslogtreecommitdiff
path: root/test/functional/test_framework/util.py
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2019-09-22 10:14:45 -0400
committerMarcoFalke <falke.marco@gmail.com>2019-09-22 10:14:50 -0400
commit13377b7a695c2fc774946cfd6a9aa01dd338e13c (patch)
tree9f10317e2256f413001804a30af8da03bca26ef8 /test/functional/test_framework/util.py
parentcf57e33cc6d95a96f94b259d7680ff9b4f7e22cf (diff)
parentfa69588537bc91c0aedbc89ef1760d89cbffad75 (diff)
downloadbitcoin-13377b7a695c2fc774946cfd6a9aa01dd338e13c.tar.xz
Merge #16918: test: Make PORT_MIN in test runner configurable
fa69588537bc91c0aedbc89ef1760d89cbffad75 test: Make PORT_MIN in test runner configurable (MarcoFalke) Pull request description: This is needed when some ports in the port range are used by other processes. Note that simply assigning the ports dynamically does not work: * We spin up several nodes per test (each node gets its own port) * We run several tests in parallel So to avoid nodes from different tests colliding on ports, the port assignment must be deterministic (can not be dynamic). Fixes: #10869 ACKs for top commit: practicalswift: ACK fa69588537bc91c0aedbc89ef1760d89cbffad75 -- diff looks correct promag: ACK fa69588537bc91c0aedbc89ef1760d89cbffad75. Tree-SHA512: e79adb015e7de79064e2d14336c38bc9672bd779ad6c52917721897e73f617c39d32c068a369c26670002a6c4ab95a71ef3a6878ebdd9710e02f410e2f7bcd14
Diffstat (limited to 'test/functional/test_framework/util.py')
-rw-r--r--test/functional/test_framework/util.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py
index 1c254b6755..598e87558b 100644
--- a/test/functional/test_framework/util.py
+++ b/test/functional/test_framework/util.py
@@ -7,13 +7,13 @@
from base64 import b64encode
from binascii import unhexlify
from decimal import Decimal, ROUND_DOWN
+from subprocess import CalledProcessError
import inspect
import json
import logging
import os
import random
import re
-from subprocess import CalledProcessError
import time
from . import coverage
@@ -235,10 +235,11 @@ def wait_until(predicate, *, attempts=float('inf'), timeout=float('inf'), lock=N
# The maximum number of nodes a single test can spawn
MAX_NODES = 12
# Don't assign rpc or p2p ports lower than this
-PORT_MIN = 11000
+PORT_MIN = int(os.getenv('TEST_RUNNER_PORT_MIN', default=11000))
# The number of ports to "reserve" for p2p and rpc, each
PORT_RANGE = 5000
+
class PortSeed:
# Must be initialized with a unique integer for each process
n = None