diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2019-06-26 21:40:08 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2019-06-26 21:40:08 +0200 |
commit | 1c98e0f0bfb38575cbf461cb6359895532292eb1 (patch) | |
tree | c400c6412771c38975cf2d868cbda7345fca4d24 | |
parent | cc6395bcf0e7758869c5533268d18bfe88398189 (diff) | |
download | psutil-1c98e0f0bfb38575cbf461cb6359895532292eb1.tar.gz |
port more stuff
-rw-r--r-- | psutil/_compat.py | 5 | ||||
-rw-r--r-- | psutil/tests/__init__.py | 27 |
2 files changed, 18 insertions, 14 deletions
diff --git a/psutil/_compat.py b/psutil/_compat.py index d6b00736..41614287 100644 --- a/psutil/_compat.py +++ b/psutil/_compat.py @@ -48,6 +48,7 @@ if PY3: ProcessLookupError = ProcessLookupError # NOQA InterruptedError = InterruptedError # NOQA ChildProcessError = ChildProcessError # NOQA + FileExistsError = FileExistsError # NOQA else: # https://github.com/PythonCharmers/python-future/blob/exceptions/ # src/future/types/exceptions/pep3151.py @@ -100,6 +101,10 @@ else: def ChildProcessError(inst): return getattr(inst, 'errno', object()) == errno.ECHILD + @instance_checking_exception(EnvironmentError) + def FileExistsError(inst): + return getattr(inst, 'errno', object()) == errno.EEXIST + # --- stdlib additions diff --git a/psutil/tests/__init__.py b/psutil/tests/__init__.py index fc52f6ad..6c629368 100644 --- a/psutil/tests/__init__.py +++ b/psutil/tests/__init__.py @@ -41,6 +41,9 @@ from psutil import POSIX from psutil import SUNOS from psutil import WINDOWS from psutil._common import supports_ipv6 +from psutil._compat import ChildProcessError +from psutil._compat import FileExistsError +from psutil._compat import FileNotFoundError from psutil._compat import PY3 from psutil._compat import u from psutil._compat import unicode @@ -514,9 +517,8 @@ def reap_children(recursive=False): # Wait for the process to terminate, to avoid zombies. try: subp.wait() - except OSError as err: - if err.errno != errno.ECHILD: - raise + except ChildProcessError: + pass # Terminate started pids. while _pids_started: @@ -710,13 +712,12 @@ def safe_rmpath(path): while time.time() < stop_at: try: return fun() + except FileNotFoundError: + pass except WindowsError as _: err = _ - if err.errno != errno.ENOENT: - raise - else: - warn("ignoring %s" % (str(err))) - time.sleep(0.01) + warn("ignoring %s" % (str(err))) + time.sleep(0.01) raise err try: @@ -729,18 +730,16 @@ def safe_rmpath(path): fun() else: retry_fun(fun) - except OSError as err: - if err.errno != errno.ENOENT: - raise + except FileNotFoundError: + pass def safe_mkdir(dir): "Convenience function for creating a directory" try: os.mkdir(dir) - except OSError as err: - if err.errno != errno.EEXIST: - raise + except FileExistsError: + pass @contextlib.contextmanager |