diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2015-06-20 03:29:58 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2015-06-20 03:29:58 +0200 |
commit | 2214f431217ffbd6af1d76eadd100df64ccdaffb (patch) | |
tree | a0cdea6ae9cf8b7c0b65e66e960a27e923ef62bb | |
parent | 4bd1596035b2d0b1beb795b98dce662054639d48 (diff) | |
download | psutil-2214f431217ffbd6af1d76eadd100df64ccdaffb.tar.gz |
test we are able to instantiate Process() in case of AD and zombie process
-rw-r--r-- | test/test_psutil.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/test_psutil.py b/test/test_psutil.py index 0db9beb2..8cda3691 100644 --- a/test/test_psutil.py +++ b/test/test_psutil.py @@ -46,6 +46,10 @@ try: import ipaddress # python >= 3.3 except ImportError: ipaddress = None +try: + from unittest import mock # py3 +except ImportError: + import mock # requires "pip install mock" import psutil from psutil._compat import PY3, callable, long, unicode @@ -2685,6 +2689,22 @@ class TestMisc(unittest.TestCase): module = imp.load_source('setup', setup_py) self.assertRaises(SystemExit, module.setup) + def test_ad_on_process_creation(self): + # We are supposed to be able to instantiate Process also in case + # of zombie processes or access denied. + with mock.patch.object(psutil.Process, 'create_time', + side_effect=psutil.AccessDenied) as meth: + psutil.Process() + assert meth.called + with mock.patch.object(psutil.Process, 'create_time', + side_effect=psutil.ZombieProcess(1)) as meth: + psutil.Process() + assert meth.called + with mock.patch.object(psutil.Process, 'create_time', + side_effect=ValueError) as meth: + with self.assertRaises(ValueError): + psutil.Process() + # =================================================================== # --- Example script tests |