Andrew Nguyen : msi/tests: Skip some source tests if a required product key cannot be created.
Alexandre Julliard
julliard at winehq.org
Fri Jul 9 09:46:27 CDT 2010
Module: wine
Branch: master
Commit: 93f92d51a488749ec0dba06ff5fcd90d09472449
URL: http://source.winehq.org/git/wine.git/?a=commit;h=93f92d51a488749ec0dba06ff5fcd90d09472449
Author: Andrew Nguyen <anguyen at codeweavers.com>
Date: Fri Jul 9 04:10:55 2010 -0500
msi/tests: Skip some source tests if a required product key cannot be created.
---
dlls/msi/tests/source.c | 91 ++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 78 insertions(+), 13 deletions(-)
diff --git a/dlls/msi/tests/source.c b/dlls/msi/tests/source.c
index 44721d5..1563c44 100644
--- a/dlls/msi/tests/source.c
+++ b/dlls/msi/tests/source.c
@@ -896,7 +896,11 @@ static void test_MsiSourceListAddSourceEx(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto machine_tests;
+ }
/* product key exists */
r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -952,6 +956,7 @@ static void test_MsiSourceListAddSourceEx(void)
/* MSIINSTALLCONTEXT_MACHINE */
+machine_tests:
/* szUserSid must be NULL for MSIINSTALLCONTEXT_MACHINE */
r = pMsiSourceListAddSourceExA(prodcode, usersid,
MSIINSTALLCONTEXT_MACHINE,
@@ -967,7 +972,12 @@ static void test_MsiSourceListAddSourceEx(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ LocalFree(usersid);
+ return;
+ }
/* product key exists */
r = pMsiSourceListAddSourceExA(prodcode, NULL,
@@ -1358,7 +1368,11 @@ static void test_MsiSourceListEnumSources(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &userkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto machine_tests;
+ }
/* user product key exists */
size = MAX_PATH;
@@ -1469,6 +1483,7 @@ static void test_MsiSourceListEnumSources(void)
/* MSIINSTALLCONTEXT_MACHINE */
+machine_tests:
/* szUserSid is non-NULL */
size = MAX_PATH;
lstrcpyA(value, "aaa");
@@ -1493,7 +1508,12 @@ static void test_MsiSourceListEnumSources(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ LocalFree(usersid);
+ return;
+ }
/* user product key exists */
size = MAX_PATH;
@@ -1938,7 +1958,11 @@ static void test_MsiSourceListSetInfo(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &userkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto machine_tests;
+ }
/* user product key exists */
r = pMsiSourceListSetInfoA(prodcode, NULL,
@@ -1971,11 +1995,17 @@ static void test_MsiSourceListSetInfo(void)
/* MSIINSTALLCONTEXT_MACHINE */
+machine_tests:
lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ LocalFree(usersid);
+ return;
+ }
/* user product key exists */
r = pMsiSourceListSetInfoA(prodcode, NULL,
@@ -2234,7 +2264,11 @@ static void test_MsiSourceListAddMediaDisk(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &userkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto machine_tests;
+ }
/* user product key exists */
r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
@@ -2268,11 +2302,17 @@ static void test_MsiSourceListAddMediaDisk(void)
/* MSIINSTALLCONTEXT_MACHINE */
+machine_tests:
lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ LocalFree(usersid);
+ return;
+ }
/* machine product key exists */
r = pMsiSourceListAddMediaDiskA(prodcode, NULL,
@@ -2939,7 +2979,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &userkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto machine_tests;
+ }
/* user product key exists */
r = pMsiSourceListEnumMediaDisksA(prodcode, usersid, MSIINSTALLCONTEXT_USERMANAGED,
@@ -3017,11 +3061,17 @@ static void test_MsiSourceListEnumMediaDisks(void)
/* MSIINSTALLCONTEXT_MACHINE */
+machine_tests:
lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ LocalFree(usersid);
+ return;
+ }
/* machine product key exists */
r = pMsiSourceListEnumMediaDisksA(prodcode, NULL, MSIINSTALLCONTEXT_MACHINE,
@@ -3201,7 +3251,11 @@ static void test_MsiSourceListAddSource(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &userkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto userunmanaged_tests;
+ }
/* user product key exists */
r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
@@ -3292,6 +3346,7 @@ static void test_MsiSourceListAddSource(void)
/* MSIINSTALLCONTEXT_USERUNMANAGED */
+userunmanaged_tests:
r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
@@ -3299,7 +3354,11 @@ static void test_MsiSourceListAddSource(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ goto machine_tests;
+ }
/* user product key exists */
r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
@@ -3328,6 +3387,7 @@ static void test_MsiSourceListAddSource(void)
/* MSIINSTALLCONTEXT_MACHINE */
+machine_tests:
r = pMsiSourceListAddSourceA(prodcode, NULL, 0, "source");
ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
@@ -3335,7 +3395,12 @@ static void test_MsiSourceListAddSource(void)
lstrcatA(keypath, prod_squashed);
res = RegCreateKeyA(HKEY_LOCAL_MACHINE, keypath, &prodkey);
- ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+ if (res != ERROR_SUCCESS)
+ {
+ skip("Product key creation failed with error code %u\n", res);
+ LocalFree(usersid);
+ return;
+ }
/* machine product key exists */
r = pMsiSourceListAddSourceA(prodcode, NULL, 0, "source");
More information about the wine-cvs
mailing list