<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18839">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">iperf3: Refactor iperf3cli popen arg list generation<br><br>Change-Id: I10ab737e1317a52b6ccbd0de2470a9cf0c90c934<br>---<br>M src/osmo_gsm_tester/obj/iperf3.py<br>1 file changed, 14 insertions(+), 22 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/39/18839/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py</span><br><span>index 13fd455..d79ff98 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/iperf3.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/iperf3.py</span><br><span>@@ -246,14 +246,24 @@</span><br><span>         self.log_copied = False</span><br><span>         self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name()))</span><br><span>         self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        popen_args = ('iperf3', '-c',  self.server.addr(),</span><br><span style="color: hsl(120, 100%, 40%);">+                      '-p', str(self.server.port()), '-J',</span><br><span style="color: hsl(120, 100%, 40%);">+                      '-t', str(time_sec))</span><br><span style="color: hsl(120, 100%, 40%);">+        if dir == IPerf3Client.DIR_DL:</span><br><span style="color: hsl(120, 100%, 40%);">+            popen_args += ('-R',)</span><br><span style="color: hsl(120, 100%, 40%);">+        elif dir == IPerf3Client.DIR_BI:</span><br><span style="color: hsl(120, 100%, 40%);">+            popen_args += ('--bidir',)</span><br><span style="color: hsl(120, 100%, 40%);">+        if proto == IPerf3Client.PROTO_UDP:</span><br><span style="color: hsl(120, 100%, 40%);">+            popen_args += ('-u', '-b', str(bitrate))</span><br><span>         if self.runs_locally():</span><br><span style="color: hsl(0, 100%, 40%);">-            proc = self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP, bitrate)</span><br><span style="color: hsl(120, 100%, 40%);">+            proc = self.prepare_test_proc_locally(netns, popen_args)</span><br><span>         else:</span><br><span style="color: hsl(0, 100%, 40%);">-            proc = self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP, bitrate)</span><br><span style="color: hsl(120, 100%, 40%);">+            proc = self.prepare_test_proc_remotely(netns, popen_args)</span><br><span>         proc.set_default_wait_timeout(time_sec + 30) # leave 30 extra sec for remote run, ctrl conn establishment, etc.</span><br><span>         return proc</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp, bitrate):</span><br><span style="color: hsl(120, 100%, 40%);">+    def prepare_test_proc_remotely(self, netns, popen_args):</span><br><span>         self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr())</span><br><span> </span><br><span>         remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR)</span><br><span>@@ -262,17 +272,8 @@</span><br><span> </span><br><span>         self.rem_host.recreate_remote_dir(remote_run_dir)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        popen_args = ('iperf3', '-c',  self.server.addr(),</span><br><span style="color: hsl(0, 100%, 40%);">-                      '-p', str(self.server.port()), '-J',</span><br><span style="color: hsl(0, 100%, 40%);">-                      '-t', str(time_sec))</span><br><span>         if self.logfile_supported:</span><br><span>             popen_args += ('--logfile', self.remote_log_file,)</span><br><span style="color: hsl(0, 100%, 40%);">-        if dir == IPerf3Client.DIR_DL:</span><br><span style="color: hsl(0, 100%, 40%);">-            popen_args += ('-R',)</span><br><span style="color: hsl(0, 100%, 40%);">-        elif dir == IPerf3Client.DIR_BI:</span><br><span style="color: hsl(0, 100%, 40%);">-            popen_args += ('--bidir',)</span><br><span style="color: hsl(0, 100%, 40%);">-        if use_udp:</span><br><span style="color: hsl(0, 100%, 40%);">-            popen_args += ('-u', '-b', str(bitrate))</span><br><span> </span><br><span>         if netns:</span><br><span>             self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={})</span><br><span>@@ -280,21 +281,12 @@</span><br><span>             self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={})</span><br><span>         return self.process</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    def prepare_test_proc_locally(self, dir, netns, time_sec, use_udp):</span><br><span style="color: hsl(120, 100%, 40%);">+    def prepare_test_proc_locally(self, netns, popen_args):</span><br><span>         pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None,</span><br><span>                                    'host %s and port not 22' % self.server.addr(), netns)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        popen_args = ('iperf3', '-c',  self.server.addr(),</span><br><span style="color: hsl(0, 100%, 40%);">-                      '-p', str(self.server.port()), '-J',</span><br><span style="color: hsl(0, 100%, 40%);">-                      '-t', str(time_sec))</span><br><span>         if self.logfile_supported:</span><br><span>             popen_args += ('--logfile', os.path.abspath(self.log_file),)</span><br><span style="color: hsl(0, 100%, 40%);">-        if dir == IPerf3Client.DIR_DL:</span><br><span style="color: hsl(0, 100%, 40%);">-            popen_args += ('-R',)</span><br><span style="color: hsl(0, 100%, 40%);">-        elif dir == IPerf3Client.DIR_BI:</span><br><span style="color: hsl(0, 100%, 40%);">-            popen_args += ('--bidir',)</span><br><span style="color: hsl(0, 100%, 40%);">-        if use_udp:</span><br><span style="color: hsl(0, 100%, 40%);">-            popen_args += ('-u', '-b', '0')</span><br><span> </span><br><span>         if netns:</span><br><span>             self.process = process.NetNSProcess(self.name(), self.run_dir, netns, popen_args, env={})</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18839">change 18839</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18839"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I10ab737e1317a52b6ccbd0de2470a9cf0c90c934 </div>
<div style="display:none"> Gerrit-Change-Number: 18839 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>