From 92e1a2209ff072f1b72d1bf62cf83f129973b1ff Mon Sep 17 00:00:00 2001 From: Andrew Lewis Date: Tue, 2 Aug 2016 01:10:19 +0200 Subject: [PATCH] [Test] Replace get_process_children with psutil function --- circle.yml | 3 ++- test/functional/lib/rspamd.py | 16 ++-------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/circle.yml b/circle.yml index 7fb9e4a91..c08a8d5e4 100644 --- a/circle.yml +++ b/circle.yml @@ -1,7 +1,8 @@ dependencies: pre: - sudo apt-get update -qq - - sudo apt-get install -qq cmake gcc libevent-dev libglib2.0-dev libgmime-2.6-dev libluajit-5.1-dev liblua5.1-0-dev libmagic-dev libpcre3-dev libsqlite3-dev libssl-dev make python-psutil ragel redis-server + - sudo apt-get install -qq cmake gcc libevent-dev libglib2.0-dev libgmime-2.6-dev libluajit-5.1-dev liblua5.1-0-dev libmagic-dev libpcre3-dev libsqlite3-dev libssl-dev make python-dev ragel redis-server + - sudo pip install psutil - sudo pip install robotframework test: diff --git a/test/functional/lib/rspamd.py b/test/functional/lib/rspamd.py index 3556a4b58..c40ac588c 100644 --- a/test/functional/lib/rspamd.py +++ b/test/functional/lib/rspamd.py @@ -24,18 +24,6 @@ def cleanup_temporary_directory(directory): def encode_filename(filename): return "".join(['%%%0X' % ord(b) for b in filename]) -def get_process_children(pid): - children = [] - for p in psutil.process_iter(): - # ppid could be int or function depending on library version - if callable(p.ppid): - ppid = p.ppid() - else: - ppid = p.ppid - if ppid == pid: - children.append(p.pid) - return children - def get_test_directory(): return os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "../../") @@ -136,7 +124,7 @@ def shutdown_process(pid): def shutdown_process_with_children(pid): pid = int(pid) - children = get_process_children(pid) + children = psutil.Process(pid=pid).children(recursive=False) shutdown_process(pid) for child in children: - shutdown_process(child) + shutdown_process(child.pid) -- 2.39.5