From: Victor Stinner Date: Fri, 3 Nov 2023 23:53:18 +0000 (+0100) Subject: gh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689) X-Git-Tag: v3.13.0a2~199 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=244e37b22a826eeb37bc057193bbff7138bc6ac3;p=thirdparty%2FPython%2Fcpython.git 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 --- diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 22e40d9557be..b35779716c04 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.