[ChromeDriver] Fix core dump code for older psutil
The Python psutil library on ChromeDriver builder is an older version,
with a slightly different API.
Bug: chromedriver:2778
Change-Id: Ifb4da86b33225813a71a290fdea4f783c55fa0e2
Reviewed-on: https://chromium-review.googlesource.com/c/1471229
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Commit-Queue: John Chen <johnchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632050}
diff --git a/chrome/test/chromedriver/client/chromedriver.py b/chrome/test/chromedriver/client/chromedriver.py
index c264918..bc81d5898c 100644
--- a/chrome/test/chromedriver/client/chromedriver.py
+++ b/chrome/test/chromedriver/client/chromedriver.py
@@ -150,7 +150,13 @@
chrome_processes = chromedriver_process.children()
if len(chrome_processes) == 1:
# Remove core file size limit, then use SIGABRT to dump core.
- chrome_processes[0].rlimit(
+ # Newer versions of psutil.Process have rlimit method, while older
+ # versions have set_rlimit method.
+ if hasattr(chrome_processes[0], 'rlimit'):
+ rlimit_method = chrome_processes[0].rlimit
+ else:
+ rlimit_method = chrome_processes[0].set_rlimit
+ rlimit_method(
psutil.RLIMIT_CORE,
(psutil.RLIM_INFINITY, psutil.RLIM_INFINITY))
chrome_processes[0].send_signal(signal.SIGABRT)