]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689)
authorVictor Stinner <vstinner@python.org>
Fri, 3 Nov 2023 23:53:18 +0000 (00:53 +0100)
committerGitHub <noreply@github.com>
Fri, 3 Nov 2023 23:53:18 +0000 (23:53 +0000)
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

index 22e40d9557be7c535e39ecb83464ec2ee9b42783..b35779716c04e1fb3b64fe4c13ab756e5cbf3322 100644 (file)
@@ -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.