diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2017-05-17 14:56:58 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2017-05-17 14:56:58 +0200 |
commit | 0c2eb2ab9e644df8e012dd36e3d2994695bab1cc (patch) | |
tree | a61dd4e577e0071ca54a3a3ed6c00a1b8a39ff9c | |
parent | 7399070ccf25e8e6d92b50b22c6635b5fcdcb2e2 (diff) | |
download | psutil-0c2eb2ab9e644df8e012dd36e3d2994695bab1cc.tar.gz |
reap_children(): enforce checks to make sure the process is gone
-rw-r--r-- | psutil/tests/__init__.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/psutil/tests/__init__.py b/psutil/tests/__init__.py index 1206abff..f14b1c98 100644 --- a/psutil/tests/__init__.py +++ b/psutil/tests/__init__.py @@ -386,7 +386,8 @@ def reap_children(recursive=False): assert not psutil.pid_exists(pid), pid assert pid not in psutil.pids(), pid try: - psutil.Process(pid) + p = psutil.Process(pid) + assert not p.is_running(), pid except psutil.NoSuchProcess: pass else: @@ -404,6 +405,7 @@ def reap_children(recursive=False): # fds and wiat()ing for them in order to avoid zombies. while _subprocesses_started: subp = _subprocesses_started.pop() + _pids_started.add(subp.pid) try: subp.terminate() except OSError as err: @@ -424,7 +426,6 @@ def reap_children(recursive=False): except OSError as err: if err.errno != errno.ECHILD: raise - assert_gone(subp.pid) # Terminate started pids. while _pids_started: @@ -432,7 +433,7 @@ def reap_children(recursive=False): try: p = psutil.Process(pid) except psutil.NoSuchProcess: - pass + assert_gone(pid) else: children.add(p) |