Alexandre Julliard : advapi32/tests: Add some more tests for GetServiceDisplayName.

Alexandre Julliard julliard at winehq.org
Thu Jan 22 08:41:13 CST 2009


Module: wine
Branch: master
Commit: a882bb6a2cbcb18d97c561156b885ce20a42f535
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a882bb6a2cbcb18d97c561156b885ce20a42f535

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Jan 21 23:31:12 2009 +0100

advapi32/tests: Add some more tests for GetServiceDisplayName.

---

 dlls/advapi32/tests/service.c |   81 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c
index c198cd7..936978a 100644
--- a/dlls/advapi32/tests/service.c
+++ b/dlls/advapi32/tests/service.c
@@ -416,6 +416,8 @@ static void test_get_displayname(void)
     DWORD displaysize, tempsize, tempsizeW;
     static const CHAR deadbeef[] = "Deadbeef";
     static const WCHAR spoolerW[] = {'S','p','o','o','l','e','r',0};
+    static const WCHAR deadbeefW[] = {'D','e','a','d','b','e','e','f',0};
+    static const WCHAR abcW[] = {'A','B','C',0};
     static const CHAR servicename[] = "Winetest";
     static const CHAR pathname[] = "we_dont_care.exe";
 
@@ -452,6 +454,85 @@ static void test_get_displayname(void)
     ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST,
        "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError());
 
+    SetLastError(0xdeadbeef);
+    ret = GetServiceDisplayNameA(scm_handle, deadbeef, NULL, &displaysize);
+    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(displaysize == 1, "Service size expected 1, got %d\n", displaysize);
+
+    displaysize = 15;
+    strcpy(displayname, "ABC");
+    ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize);
+    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(displaysize == 15, "Service size expected 15, got %d\n", displaysize);
+    ok(displayname[0] == 0, "Service name not empty\n");
+
+    displaysize = 15;
+    lstrcpyW( displaynameW, abcW );
+    ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize);
+    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(displaysize == 15, "Service size expected 15, got %d\n", displaysize);
+    ok(displaynameW[0] == 0, "Service name not empty\n");
+
+    displaysize = 0;
+    strcpy(displayname, "ABC");
+    ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize);
+    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(displaysize == 1, "Service size expected 1, got %d\n", displaysize);
+    ok(displayname[0] == 'A', "Service name changed\n");
+
+    displaysize = 0;
+    lstrcpyW( displaynameW, abcW );
+    ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize);
+    ok(!ret, "Expected failure\n");
+    todo_wine ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize);
+    ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST,
+       "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError());
+    ok(displaynameW[0] == 'A', "Service name changed\n");
+
+    displaysize = 1;
+    strcpy(displayname, "ABC");
+    ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize);
+    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(displaysize == 1, "Service size expected 1, got %d\n", displaysize);
+    ok(displayname[0] == 0, "Service name not empty\n");
+
+    displaysize = 1;
+    lstrcpyW( displaynameW, abcW );
+    ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize);
+    ok(!ret, "Expected failure\n");
+    todo_wine ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize);
+    ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST,
+       "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError());
+    todo_wine ok(displaynameW[0] == 'A', "Service name changed\n");
+
+    displaysize = 2;
+    strcpy(displayname, "ABC");
+    ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize);
+    ok(!ret, "Expected failure\n");
+    ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST,
+       "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError());
+    ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize);
+    ok(displayname[0] == 0, "Service name not empty\n");
+
+    displaysize = 2;
+    lstrcpyW( displaynameW, abcW );
+    ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize);
+    ok(!ret, "Expected failure\n");
+    todo_wine ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize);
+    ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST,
+       "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError());
+    ok(displaynameW[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