From 36895e1661136d4bbc05eb1b23a5d068d92ace39 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 4 Nov 2023 00:53:18 +0100 Subject: [PATCH] gh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689) When CPUs are isolated on Linux, os.process_cpu_count() is smaller than os.cpu_count(). Fix the test for this case. Example with "isolcpus=5,11 rcu_nocbs=5,11" options passed to a Linux command line to isolated two logical CPUs: $ ./python -c 'import os; print(os.process_cpu_count(), "/", os.cpu_count())' 10 / 12 --- Lib/test/test_os.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 22e40d9557be7c5..b35779716c04e1f 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -4342,8 +4342,8 @@ def test_process_cpu_count(self): @unittest.skipUnless(hasattr(os, 'sched_setaffinity'), "don't have sched affinity support") def test_process_cpu_count_affinity(self): - ncpu = os.cpu_count() - if ncpu is None: + affinity1 = os.process_cpu_count() + if affinity1 is None: self.skipTest("Could not determine the number of CPUs") # Disable one CPU @@ -4356,8 +4356,8 @@ def test_process_cpu_count_affinity(self): os.sched_setaffinity(0, mask) # test process_cpu_count() - affinity = os.process_cpu_count() - self.assertEqual(affinity, ncpu - 1) + affinity2 = os.process_cpu_count() + self.assertEqual(affinity2, affinity1 - 1) # FD inheritance check is only useful for systems with process support.