Test that cpu_count() respects CPU affinity set by psutil
(affinity)
| 24 | @pytest.mark.skipif(MACOS, reason="No CPU affinity in psutil") |
| 25 | @pytest.mark.parametrize(("affinity"), [{0}, {1}, {0, 1}, {0, 2}]) |
| 26 | def test_cpu_affinity_psutil(affinity): |
| 27 | """Test that cpu_count() respects CPU affinity set by psutil""" |
| 28 | psutil = pytest.importorskip("psutil") |
| 29 | proc = psutil.Process() |
| 30 | prev = proc.cpu_affinity() |
| 31 | if prev is None: |
| 32 | pytest.skip("No support for CPU affinity") |
| 33 | if not affinity.issubset(set(prev)): |
| 34 | pytest.skip("Not enough CPUs") # pragma: no cover |
| 35 | |
| 36 | proc.cpu_affinity(affinity) |
| 37 | try: |
| 38 | assert cpu_count() == len(affinity) |
| 39 | finally: |
| 40 | proc.cpu_affinity(prev) |
| 41 | |
| 42 | |
| 43 | @pytest.mark.skipif(not LINUX, reason="No command line API for CPU affinity") |
nothing calls this directly
no test coverage detected
searching dependent graphs…