From d9c406330724ec39360c389eb0125e085b424bc5 Mon Sep 17 00:00:00 2001 From: Sebastian Goscik Date: Wed, 13 Jan 2016 17:07:30 +0000 Subject: [PATCH] AndroidDevice: fixed get_pids_of As of Android M ps can no longer filter by process name. This is now handled using grep from busybox --- wlauto/common/android/device.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wlauto/common/android/device.py b/wlauto/common/android/device.py index ccfda9cc..682a52a3 100644 --- a/wlauto/common/android/device.py +++ b/wlauto/common/android/device.py @@ -456,9 +456,10 @@ class AndroidDevice(BaseLinuxDevice): # pylint: disable=W0223 def get_pids_of(self, process_name): """Returns a list of PIDs of all processes with the specified name.""" - result = self.execute('ps {}'.format(process_name[-15:]), check_exit_code=False).strip() + result = self.execute('ps | {} grep {}'.format(self.busybox, process_name), + check_exit_code=False).strip() if result and 'not found' not in result: - return [int(x.split()[1]) for x in result.split('\n')[1:]] + return [int(x.split()[1]) for x in result.split('\n')] else: return []