From 5885f5ed7282f0dd71a155439a3c3d1c50433452 Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Mon, 10 Jul 2017 12:14:56 +0200 Subject: [PATCH] provisioning: Support older python for tests Call psutil's process name() function if present, then just access the name property. It was observed on psutil 1.2.1 (Ubuntu 14.04.5) grep __version__ /usr/lib/python2.7/dist-packages/psutil/__init__.py __version__ = "1.2.1" scons TEST=1 resource/csdk/security/provisioning/ scons: *** [out/linux/x86_64/release/resource/csdk/security/provisioning/unittest/start] TypeError : 'str' object is not callable Traceback (most recent call last): File "/usr/lib/scons/SCons/Action.py", line 1062, in execute result = self.execfunction(target=target, source=rsources, env=env) File ".../resource/csdk/security/provisioning/unittest/SConscript", line 125, in run_test kill_all() File ".../resource/csdk/security/provisioning/unittest/SConscript", line 118, in kill_all if proc.name() == server_bin: TypeError: 'str' object is not callable scons: building terminated because of errors. Bug: https://jira.iotivity.org/browse/IOT-1745 Change-Id: I0a9376bb007c49b9b980ed8798ff8a93882015d7 Signed-off-by: Philippe Coval Reviewed-on: https://gerrit.iotivity.org/gerrit/21337 Reviewed-by: Mats Wichmann Reviewed-by: Dan Mihai Tested-by: jenkins-iotivity Reviewed-by: George Nash (cherry picked from commit ecccbb8206c0498008d023b73497675d2c31d38f) --- resource/csdk/security/provisioning/unittest/SConscript | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resource/csdk/security/provisioning/unittest/SConscript b/resource/csdk/security/provisioning/unittest/SConscript index 2e2279a..f51bdf7 100644 --- a/resource/csdk/security/provisioning/unittest/SConscript +++ b/resource/csdk/security/provisioning/unittest/SConscript @@ -115,7 +115,12 @@ def kill_all(): try: from psutil import process_iter for proc in process_iter(): - if proc.name() == server_bin: + name = None + if callable(getattr(proc, 'name')): + name = proc.name() + else: + name = proc.name + if name == server_bin: proc.kill() except ImportError: print "can not process check" -- 2.7.4