From: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> --- dlls/advapi32/tests/service.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c index 6a1c0ff82b8..29a090a5014 100644 --- a/dlls/advapi32/tests/service.c +++ b/dlls/advapi32/tests/service.c @@ -712,6 +712,29 @@ static void test_get_displayname(void) ret = DeleteService(svc_handle); ok(ret, "Expected success (err=%ld)\n", GetLastError()); + CloseServiceHandle(svc_handle); + + /* Calling CreateService() too soon will result in an ERROR_SERVICE_MARKED_FOR_DELETE error */ + Sleep(1000); + + /* Test empty DisplayName */ + SetLastError(0xdeadbeef); + svc_handle = CreateServiceA(scm_handle, servicename, "", DELETE, + SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS, + SERVICE_DISABLED, 0, pathname, NULL, NULL, NULL, NULL, NULL); + ok(svc_handle != NULL, "CreateService() error %lu\n", GetLastError()); + + strcpy(displayname, "deadbeef"); + displaysize = sizeof(displayname); + SetLastError(0xdeadbeef); + ret = GetServiceDisplayNameA(scm_handle, servicename, displayname, &displaysize); + ok(ret, "GetServiceDisplayName() error %lu\n", GetLastError()); + todo_wine + ok(!lstrcmpiA(displayname, servicename), "got \"%s\"\n", displayname); + + ret = DeleteService(svc_handle); + ok(ret, "DeleteService() error %lu\n", GetLastError()); + CloseServiceHandle(svc_handle); CloseServiceHandle(scm_handle); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10003