<p>Pau Espin Pedrol <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/11747">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Pau Espin Pedrol: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">process: Move standalone run_local_sync as method of Process<br><br>Change-Id: Ib2b3fd39db5400a93a8caabae367dac3e3250247<br>---<br>M src/osmo_gsm_tester/iperf3.py<br>M src/osmo_gsm_tester/modem.py<br>M src/osmo_gsm_tester/process.py<br>3 files changed, 20 insertions(+), 16 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py</span><br><span>index e1ed6ff..894b10f 100644</span><br><span>--- a/src/osmo_gsm_tester/iperf3.py</span><br><span>+++ b/src/osmo_gsm_tester/iperf3.py</span><br><span>@@ -105,7 +105,7 @@</span><br><span>             self.process = process.NetNSProcess(self.name(), self.run_dir, netns, popen_args, env={})</span><br><span>         else:</span><br><span>             self.process = process.Process(self.name(), self.run_dir, popen_args, env={})</span><br><span style="color: hsl(0, 100%, 40%);">-        process.run_proc_sync(self.process)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.process.launch_sync()</span><br><span>         return self.get_results()</span><br><span> </span><br><span>     def get_results(self):</span><br><span>diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py</span><br><span>index d35933a..5106702 100644</span><br><span>--- a/src/osmo_gsm_tester/modem.py</span><br><span>+++ b/src/osmo_gsm_tester/modem.py</span><br><span>@@ -636,7 +636,7 @@</span><br><span>     def run_netns_wait(self, name, popen_args):</span><br><span>         proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args,</span><br><span>                                        env={})</span><br><span style="color: hsl(0, 100%, 40%);">-        process.run_proc_sync(proc)</span><br><span style="color: hsl(120, 100%, 40%);">+        proc.launch_sync()</span><br><span> </span><br><span>     def setup_context_data_plane(self, ctx_id):</span><br><span>         self.dbg('setup_context_data', path=ctx_id)</span><br><span>diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py</span><br><span>index a845f7f..40d0cc1 100644</span><br><span>--- a/src/osmo_gsm_tester/process.py</span><br><span>+++ b/src/osmo_gsm_tester/process.py</span><br><span>@@ -77,6 +77,21 @@</span><br><span>         self.set_name(self.name_str, pid=self.process_obj.pid)</span><br><span>         self.log('Launched')</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def launch_sync(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        '''</span><br><span style="color: hsl(120, 100%, 40%);">+        calls launch() method and block waiting for it to finish, serving the</span><br><span style="color: hsl(120, 100%, 40%);">+        mainloop meanwhile.</span><br><span style="color: hsl(120, 100%, 40%);">+        '''</span><br><span style="color: hsl(120, 100%, 40%);">+        try:</span><br><span style="color: hsl(120, 100%, 40%);">+            self.launch()</span><br><span style="color: hsl(120, 100%, 40%);">+            self.wait()</span><br><span style="color: hsl(120, 100%, 40%);">+        except Exception as e:</span><br><span style="color: hsl(120, 100%, 40%);">+            self.terminate()</span><br><span style="color: hsl(120, 100%, 40%);">+            raise e</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.result != 0:</span><br><span style="color: hsl(120, 100%, 40%);">+            log.ctx(self)</span><br><span style="color: hsl(120, 100%, 40%);">+            raise log.Error('Exited in error')</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     def respawn(self):</span><br><span>         self.dbg('respawn')</span><br><span>         assert not self.is_running()</span><br><span>@@ -255,31 +270,20 @@</span><br><span>         run_local_netns_sync(self.run_dir, self.name()+"-kill", self.netns, kill_cmd)</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-def run_proc_sync(proc):</span><br><span style="color: hsl(0, 100%, 40%);">-    try:</span><br><span style="color: hsl(0, 100%, 40%);">-        proc.launch()</span><br><span style="color: hsl(0, 100%, 40%);">-        proc.wait()</span><br><span style="color: hsl(0, 100%, 40%);">-    except Exception as e:</span><br><span style="color: hsl(0, 100%, 40%);">-        proc.terminate()</span><br><span style="color: hsl(0, 100%, 40%);">-        raise e</span><br><span style="color: hsl(0, 100%, 40%);">-    if proc.result != 0:</span><br><span style="color: hsl(0, 100%, 40%);">-        log.ctx(proc)</span><br><span style="color: hsl(0, 100%, 40%);">-        raise log.Error('Exited in error')</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> def run_local_sync(run_dir, name, popen_args):</span><br><span>     run_dir =run_dir.new_dir(name)</span><br><span>     proc = Process(name, run_dir, popen_args)</span><br><span style="color: hsl(0, 100%, 40%);">-    run_proc_sync(proc)</span><br><span style="color: hsl(120, 100%, 40%);">+    proc.launch_sync()</span><br><span> </span><br><span> def run_local_netns_sync(run_dir, name, netns, popen_args):</span><br><span>     run_dir =run_dir.new_dir(name)</span><br><span>     proc = NetNSProcess(name, run_dir, netns, popen_args)</span><br><span style="color: hsl(0, 100%, 40%);">-    run_proc_sync(proc)</span><br><span style="color: hsl(120, 100%, 40%);">+    proc.launch_sync()</span><br><span> </span><br><span> def run_remote_sync(run_dir, remote_user, remote_addr, name, popen_args, remote_cwd=None):</span><br><span>     run_dir = run_dir.new_dir(name)</span><br><span>     proc = RemoteProcess(name, run_dir, remote_user, remote_addr, remote_cwd, popen_args)</span><br><span style="color: hsl(0, 100%, 40%);">-    run_proc_sync(proc)</span><br><span style="color: hsl(120, 100%, 40%);">+    proc.launch_sync()</span><br><span> </span><br><span> def scp(run_dir, remote_user, remote_addr, name, local_path, remote_path):</span><br><span>     run_local_sync(run_dir, name, ('scp', '-r', local_path, '%s@%s:%s' % (remote_user, remote_addr, remote_path)))</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11747">change 11747</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/11747"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ib2b3fd39db5400a93a8caabae367dac3e3250247 </div>
<div style="display:none"> Gerrit-Change-Number: 11747 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>