iperf3: Allow changing port of iperf3 server
This way several servers can run sharing same IP address.
default port variable is moved inside class to be available to tests.
Change-Id: Id4eae7cefbb1a18ecf2676f9cb22c60cc91cec7c
diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py
index 894b10f..d0cf806 100644
--- a/src/osmo_gsm_tester/iperf3.py
+++ b/src/osmo_gsm_tester/iperf3.py
@@ -22,9 +22,6 @@
from . import log, util, process, pcap_recorder
-DEFAULT_SRV_PORT = 5003
-
-
def iperf3_result_to_json(file):
with open(file) as f:
# Sometimes iperf3 provides 2 dictionaries, the 2nd one being an error about being interrupted (by us).
@@ -37,6 +34,8 @@
class IPerf3Server(log.Origin):
+ DEFAULT_SRV_PORT = 5003
+
def __init__(self, suite_run, ip_address):
super().__init__(log.C_RUN, 'iperf3-srv_%s' % ip_address.get('addr'))
self.run_dir = None
@@ -44,7 +43,7 @@
self.process = None
self.suite_run = suite_run
self.ip_address = ip_address
- self._port = DEFAULT_SRV_PORT
+ self._port = IPerf3Server.DEFAULT_SRV_PORT
def start(self):
self.log('Starting iperf3-srv')
@@ -62,6 +61,9 @@
self.suite_run.remember_to_stop(self.process)
self.process.launch()
+ def set_port(self, port):
+ self._port = port
+
def stop(self):
self.suite_run.stop_process(self.process)