From: Andrew Lewis Date: Mon, 1 Aug 2016 23:10:19 +0000 (+0200) Subject: [Test] Replace get_process_children with psutil function X-Git-Tag: 1.3.2~82^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F787%2Fhead;p=rspamd.git [Test] Replace get_process_children with psutil function --- 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)