epc: refactor run_wait() method and rename to prepare_proc()

this refactor no longer enforces blocking operation of the process.
Instead it returns the process object to the caller who
can now run either proc.launch() for non-blocking operation
or proc.launch_sync() for blocking mode.

The non-block mode allos doing other stuff in the background,
for example controlling the rfemu while running a ping.

Change-Id: Ia6372e55a8829f722e40db537d9dfd63a94d1be9
diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py
index dfeba74..6f056fc 100644
--- a/src/osmo_gsm_tester/obj/epc.py
+++ b/src/osmo_gsm_tester/obj/epc.py
@@ -76,13 +76,14 @@
 
         return  epc_class(testenv, run_node)
 
-    def run_wait(self, name, popen_args):
-        ''' Execute process on EPC node, useful for MT traffic '''
+    def prepare_process(self, name, popen_args):
+        ''' Prepare and return a process to run on EPC node.
+            Caller calls either launch() or launch_sync()
+            for non-blocking or blocking operation respectively '''
         if self._run_node.is_local():
             proc = process.Process(name, self.run_dir, popen_args)
         else:
             proc = self.rem_host.RemoteProcess(name, popen_args)
-        proc.launch_sync()
         return proc
 
 ###################
diff --git a/sysmocom/suites/4g/rrc_idle_mt_ping.py b/sysmocom/suites/4g/rrc_idle_mt_ping.py
index fb3c32c..dcabe21 100755
--- a/sysmocom/suites/4g/rrc_idle_mt_ping.py
+++ b/sysmocom/suites/4g/rrc_idle_mt_ping.py
@@ -27,7 +27,8 @@
 sleep(5)
 
 # Generate MO traffic, send single ping
-proc = epc.run_wait('ping', ('ping', '-c', '1', ue.get_assigned_addr()))
+proc = epc.prepare_process('ping', ('ping', '-c', '1', ue.get_assigned_addr()))
+proc.launch_sync()
 output = proc.get_stdout()
 
 # Check paging received