kernel32: Additional SetThreadPriorityTest (try 5)

Matt Jones mattj at google.com
Tue Jul 24 14:51:11 CDT 2007


On 7/24/07, Matt Jones <mattj at google.com> wrote:
> Correctly checks return code of SetThreadPriority before checking
> error (address comment by Alexandre)
>
-------------- next part --------------
From ab212954c0f1195d800829ec0e77e6fe5d10a256 Mon Sep 17 00:00:00 2001
From: Matt Jones <mattj at google.com>
Date: Tue, 24 Jul 2007 12:35:38 -0700
Subject: [PATCH] kernel32: Added test for bad arguments to SetThreadPriority, test for correct error value
---
 dlls/kernel32/tests/thread.c |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
index bbda00e..b49c9bb 100644
--- a/dlls/kernel32/tests/thread.c
+++ b/dlls/kernel32/tests/thread.c
@@ -542,7 +542,7 @@ static VOID test_thread_priority(void)
    HANDLE curthread,access_thread;
    DWORD curthreadId,exitCode;
    int min_priority=-2,max_priority=2;
-   BOOL disabled,rc;
+   BOOL disabled,rc,result;
    int i;
 
    curthread=GetCurrentThread();
@@ -588,6 +588,35 @@ #endif
        "GetThreadPriority Failed\n");
    ok(SetThreadPriority(curthread,0)!=0,"SetThreadPriority Failed\n");
 
+/* Check that the thread priority is not changed if SetThreadPriority
+   is called with a value outside of the max/min range */
+   SetThreadPriority(curthread,min_priority);
+   result = SetThreadPriority(curthread,min_priority-1);
+
+   if (!result) exitCode = GetLastError();
+   else exitCode = ERROR_SUCCESS;
+
+   todo_wine {
+     ok(exitCode == ERROR_INVALID_PARAMETER,
+        "SetThreadPriority error %d, expected ERROR_INVALID_PARAMETER (87)\n", exitCode);
+     ok(GetThreadPriority(curthread)==min_priority,
+        "GetThreadPriority didn't return min_priority\n");
+   }
+
+   SetThreadPriority(curthread,max_priority);
+   result = SetThreadPriority(curthread,max_priority+1);
+
+   if (!result) exitCode = GetLastError();
+   else exitCode = ERROR_SUCCESS;
+
+   todo_wine {
+     ok(exitCode == ERROR_INVALID_PARAMETER,
+        "SetThreadPriority error %d, expected ERROR_INVALID_PARAMETER (87)\n", exitCode);
+     ok(GetThreadPriority(curthread)==max_priority,
+        "GetThreadPriority didn't return max_priority\n");
+   }
+
+
 /* Check thread priority boost */
    if (!pGetThreadPriorityBoost || !pSetThreadPriorityBoost) 
      return; /* Win9x */
-- 
1.4.1


More information about the wine-patches mailing list