Alexandre Julliard : advapi32/tests: Add some more tests for GetServiceKeyName.
Module: wine Branch: master Commit: fe3ba1295bb563439874a49b95d45532cf6b2baf URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe3ba1295bb563439874a49b95... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Tue Jan 20 19:51:08 2009 +0100 advapi32/tests: Add some more tests for GetServiceKeyName. --- dlls/advapi32/tests/service.c | 49 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 47 insertions(+), 2 deletions(-) diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c index fe3a3f6..c198cd7 100644 --- a/dlls/advapi32/tests/service.c +++ b/dlls/advapi32/tests/service.c @@ -625,6 +625,7 @@ static void test_get_servicekeyname(void) BOOL ret; static const CHAR deadbeef[] = "Deadbeef"; static const WCHAR deadbeefW[] = {'D','e','a','d','b','e','e','f',0}; + static const WCHAR abcW[] = {'A','B','C',0}; /* Having NULL for the size of the buffer will crash on W2K3 */ @@ -667,13 +668,17 @@ static void test_get_servicekeyname(void) strcpy(servicename, "ABC"); ret = GetServiceKeyNameA(scm_handle, deadbeef, servicename, &servicesize); ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); todo_wine ok(servicesize == 15, "Service size expected 15, got %d\n", servicesize); ok(servicename[0] == 0, "Service name not empty\n"); servicesize = 15; - servicenameW[0] = 'A'; + lstrcpyW( servicenameW, abcW ); ret = GetServiceKeyNameW(scm_handle, deadbeefW, servicenameW, &servicesize); ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); todo_wine ok(servicesize == 15, "Service size expected 15, got %d\n", servicesize); ok(servicenameW[0] == 0, "Service name not empty\n"); @@ -681,16 +686,56 @@ static void test_get_servicekeyname(void) strcpy(servicename, "ABC"); ret = GetServiceKeyNameA(scm_handle, deadbeef, servicename, &servicesize); ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); todo_wine ok(servicesize == 1, "Service size expected 1, got %d\n", servicesize); ok(servicename[0] == 'A', "Service name changed\n"); servicesize = 0; - servicenameW[0] = 'A'; + lstrcpyW( servicenameW, abcW ); ret = GetServiceKeyNameW(scm_handle, deadbeefW, servicenameW, &servicesize); ok(!ret, "Expected failure\n"); todo_wine ok(servicesize == 2, "Service size expected 2, got %d\n", servicesize); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); ok(servicenameW[0] == 'A', "Service name changed\n"); + servicesize = 1; + strcpy(servicename, "ABC"); + ret = GetServiceKeyNameA(scm_handle, deadbeef, servicename, &servicesize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(servicesize == 1, "Service size expected 1, got %d\n", servicesize); + ok(servicename[0] == 0, "Service name not empty\n"); + + servicesize = 1; + lstrcpyW( servicenameW, abcW ); + ret = GetServiceKeyNameW(scm_handle, deadbeefW, servicenameW, &servicesize); + ok(!ret, "Expected failure\n"); + todo_wine ok(servicesize == 2, "Service size expected 2, got %d\n", servicesize); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(servicenameW[0] == 'A', "Service name changed\n"); + + servicesize = 2; + strcpy(servicename, "ABC"); + ret = GetServiceKeyNameA(scm_handle, deadbeef, servicename, &servicesize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + ok(servicesize == 2, "Service size expected 2, got %d\n", servicesize); + ok(servicename[0] == 0, "Service name not empty\n"); + + servicesize = 2; + lstrcpyW( servicenameW, abcW ); + ret = GetServiceKeyNameW(scm_handle, deadbeefW, servicenameW, &servicesize); + ok(!ret, "Expected failure\n"); + todo_wine ok(servicesize == 2, "Service size expected 2, got %d\n", servicesize); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + ok(servicenameW[0] == 0, "Service name not empty\n"); + /* Check if 'Spooler' exists */ svc_handle = OpenServiceA(scm_handle, spooler, GENERIC_READ); if (!svc_handle)
participants (1)
-
Alexandre Julliard