Alexandre Julliard : advapi32/tests: Add some more tests for GetServiceKeyName.
Alexandre Julliard
julliard at winehq.org
Wed Jan 21 06:39:16 CST 2009
Module: wine
Branch: master
Commit: fe3ba1295bb563439874a49b95d45532cf6b2baf
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe3ba1295bb563439874a49b95d45532cf6b2baf
Author: Alexandre Julliard <julliard at 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)
More information about the wine-cvs
mailing list