Module: wine Branch: stable Commit: a79b0d4bcccdd9570195133239be6b95657c9d69 URL: https://gitlab.winehq.org/wine/wine/-/commit/a79b0d4bcccdd9570195133239be6b9...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Sep 12 11:54:24 2022 +0200
ntdll/tests: Fix affinity test when there are too many CPUs.
(cherry picked from commit 3c9c1ffdba637f11681cda26b8205db9d6316134) Conflicts: dlls/ntdll/tests/info.c Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/ntdll/tests/info.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c index 5bcccd8a322..1fc3b38f00b 100644 --- a/dlls/ntdll/tests/info.c +++ b/dlls/ntdll/tests/info.c @@ -2947,11 +2947,13 @@ static void test_affinity(void) ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status); proc_affinity = pbi.AffinityMask; ok( proc_affinity == get_affinity_mask( si.dwNumberOfProcessors ), "Unexpected process affinity\n" ); - proc_affinity = (DWORD_PTR)1 << si.dwNumberOfProcessors; - status = pNtSetInformationProcess( GetCurrentProcess(), ProcessAffinityMask, &proc_affinity, sizeof(proc_affinity) ); - ok( status == STATUS_INVALID_PARAMETER, - "Expected STATUS_INVALID_PARAMETER, got %08x\n", status); - + if (si.dwNumberOfProcessors < 8 * sizeof(DWORD_PTR)) + { + proc_affinity = (DWORD_PTR)1 << si.dwNumberOfProcessors; + status = pNtSetInformationProcess( GetCurrentProcess(), ProcessAffinityMask, &proc_affinity, sizeof(proc_affinity) ); + ok( status == STATUS_INVALID_PARAMETER, + "Expected STATUS_INVALID_PARAMETER, got %08x\n", status); + } proc_affinity = 0; status = pNtSetInformationProcess( GetCurrentProcess(), ProcessAffinityMask, &proc_affinity, sizeof(proc_affinity) ); ok( status == STATUS_INVALID_PARAMETER, @@ -2960,10 +2962,13 @@ static void test_affinity(void) status = pNtQueryInformationThread( GetCurrentThread(), ThreadBasicInformation, &tbi, sizeof(tbi), NULL ); ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status); ok( tbi.AffinityMask == get_affinity_mask( si.dwNumberOfProcessors ), "Unexpected thread affinity\n" ); - thread_affinity = (DWORD_PTR)1 << si.dwNumberOfProcessors; - status = pNtSetInformationThread( GetCurrentThread(), ThreadAffinityMask, &thread_affinity, sizeof(thread_affinity) ); - ok( status == STATUS_INVALID_PARAMETER, - "Expected STATUS_INVALID_PARAMETER, got %08x\n", status); + if (si.dwNumberOfProcessors < 8 * sizeof(DWORD_PTR)) + { + thread_affinity = (DWORD_PTR)1 << si.dwNumberOfProcessors; + status = pNtSetInformationThread( GetCurrentThread(), ThreadAffinityMask, &thread_affinity, sizeof(thread_affinity) ); + ok( status == STATUS_INVALID_PARAMETER, + "Expected STATUS_INVALID_PARAMETER, got %08x\n", status); + } thread_affinity = 0; status = pNtSetInformationThread( GetCurrentThread(), ThreadAffinityMask, &thread_affinity, sizeof(thread_affinity) ); ok( status == STATUS_INVALID_PARAMETER,