summaryrefslogtreecommitdiff
path: root/psutil/tests
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2022-09-20 00:23:09 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2022-09-20 00:23:09 +0200
commit735de787b84a1c8410d97ce402847bfc0c535487 (patch)
tree9e0659477de7d4a0a89bee8451ca207c64070a39 /psutil/tests
parentf4784d0789cbb911836f5cfcfa0e8a513af6b381 (diff)
downloadpsutil-735de787b84a1c8410d97ce402847bfc0c535487.tar.gz
#2104 / TestFetchAllProcesses: don't use process pool on CI (fix deadlock)
Diffstat (limited to 'psutil/tests')
-rwxr-xr-xpsutil/tests/test_contracts.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/psutil/tests/test_contracts.py b/psutil/tests/test_contracts.py
index 0d900669..f4ace838 100755
--- a/psutil/tests/test_contracts.py
+++ b/psutil/tests/test_contracts.py
@@ -397,17 +397,28 @@ class TestFetchAllProcesses(PsutilTestCase):
"""
def setUp(self):
- self.pool = multiprocessing.Pool()
+ # Using a pool in a CI env may result in deadlock, see:
+ # https://github.com/giampaolo/psutil/issues/2104
+ if not CI_TESTING:
+ self.pool = multiprocessing.Pool()
def tearDown(self):
- self.pool.terminate()
- self.pool.join()
+ if not CI_TESTING:
+ self.pool.terminate()
+ self.pool.join()
def iter_proc_info(self):
# Fixes "can't pickle <function proc_info>: it's not the
# same object as test_contracts.proc_info".
from psutil.tests.test_contracts import proc_info
- return self.pool.imap_unordered(proc_info, psutil.pids())
+
+ if not CI_TESTING:
+ return self.pool.imap_unordered(proc_info, psutil.pids())
+ else:
+ ls = []
+ for pid in psutil.pids():
+ ls.append(proc_info(pid))
+ return ls
def test_all(self):
failures = []