From 244e37b22a826eeb37bc057193bbff7138bc6ac3 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 4 Nov 2023 00:53:18 +0100 Subject: 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 22e40d9..b357797 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -4342,8 +4342,8 @@ class CPUCountTests(unittest.TestCase): @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 @@ class CPUCountTests(unittest.TestCase): 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. -- cgit v0.12