Module: wine Branch: master Commit: 6f463db5b0d477e4a76038a8158292680c3a553b URL: http://source.winehq.org/git/wine.git/?a=commit;h=6f463db5b0d477e4a76038a815...
Author: Hans Leidekker hans@codeweavers.com Date: Fri Nov 4 13:28:05 2016 +0100
msi/tests: Properly clean up test services.
Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msi/tests/action.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/dlls/msi/tests/action.c b/dlls/msi/tests/action.c index c281d3b..d51a3d5 100644 --- a/dlls/msi/tests/action.c +++ b/dlls/msi/tests/action.c @@ -5427,28 +5427,23 @@ static void test_start_stop_services(void) DeleteFileA(msifile); }
-static void delete_TestService(void) +static void delete_test_service(const char *name) { BOOL ret; SC_HANDLE manager, service;
manager = OpenSCManagerA(NULL, NULL, SC_MANAGER_ALL_ACCESS); ok(manager != NULL, "can't open service manager\n"); - if (!manager) - return; - - service = OpenServiceA(manager, "TestService", GENERIC_ALL); - ok(service != NULL, "TestService doesn't exist\n"); + if (!manager) return;
+ service = OpenServiceA(manager, name, GENERIC_ALL); if (service) { ret = DeleteService( service ); ok( ret, "failed to delete service %u\n", GetLastError() ); - CloseServiceHandle(service); } CloseServiceHandle(manager); - }
static void test_delete_services(void) @@ -5473,7 +5468,7 @@ static void test_delete_services(void) ok(service != NULL, "can't create service %u\n", GetLastError()); CloseServiceHandle(service); CloseServiceHandle(manager); - if (!service) goto error; + if (!service) return;
create_test_files(); create_database(msifile, sds_tables, sizeof(sds_tables) / sizeof(msi_table)); @@ -5516,7 +5511,9 @@ static void test_delete_services(void) ok(delete_pf("msitest", FALSE), "Directory not created\n");
error: - delete_TestService(); + delete_test_service("TestService"); + delete_test_service("TestService2"); + delete_test_service("TestService3"); delete_test_files(); DeleteFileA(msifile); } @@ -5558,7 +5555,6 @@ static void test_install_services(void)
service = OpenServiceA(manager, "TestService4", GENERIC_ALL); ok(service == NULL, "TestService4 installed\n"); - CloseServiceHandle(manager);
res = RegOpenKeyA(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\TestService", &hKey); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); @@ -5576,6 +5572,11 @@ static void test_install_services(void) r = MsiInstallProductA(msifile, "REMOVE=ALL"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
+ service = OpenServiceA(manager, "TestService", GENERIC_ALL); + ok(service != NULL, "TestService deleted\n"); + CloseServiceHandle(service); + CloseServiceHandle(manager); + ok(delete_pf("msitest\cabout\new\five.txt", TRUE), "File not installed\n"); ok(delete_pf("msitest\cabout\new", FALSE), "Directory not created\n"); ok(delete_pf("msitest\cabout\four.txt", TRUE), "File not installed\n"); @@ -5591,7 +5592,7 @@ static void test_install_services(void) ok(delete_pf("msitest", FALSE), "Directory not created\n");
error: - delete_TestService(); + delete_test_service("TestService"); delete_test_files(); DeleteFileA(msifile); }