Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
9a1b8299
Commit
9a1b8299
authored
Jun 19, 2009
by
Paul Vriens
Committed by
Alexandre Julliard
Jun 19, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi/tests: Fix some test failures on Win95 by using more A-functions.
parent
91e30657
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
15 deletions
+34
-15
automation.c
dlls/msi/tests/automation.c
+34
-15
No files found.
dlls/msi/tests/automation.c
View file @
9a1b8299
...
...
@@ -364,14 +364,25 @@ static void delete_test_files(void)
/* ok-like statement which takes two unicode strings or one unicode and one ANSI string as arguments */
static
CHAR
string1
[
MAX_PATH
],
string2
[
MAX_PATH
];
/* lstrcmpW is not supported on Win9x */
static
int
strcmp_ww
(
const
WCHAR
*
str1
,
const
WCHAR
*
str2
)
{
CHAR
str1A
[
MAX_PATH
],
str2A
[
MAX_PATH
];
WideCharToMultiByte
(
CP_ACP
,
0
,
str1
,
-
1
,
str1A
,
MAX_PATH
,
NULL
,
NULL
);
\
WideCharToMultiByte
(
CP_ACP
,
0
,
str2
,
-
1
,
str2A
,
MAX_PATH
,
NULL
,
NULL
);
\
return
lstrcmpA
(
str1A
,
str2A
);
}
#define ok_w2(format, szString1, szString2) \
\
if (lstrcmpW(szString1, szString2) != 0)
\
{
\
WideCharToMultiByte(CP_ACP, 0, szString1, -1, string1
, MAX_PATH, NULL, NULL); \
WideCharToMultiByte(CP_ACP, 0, szString2, -1, string2, MAX_PATH, NULL, NULL);
\
do {
\
WideCharToMultiByte(CP_ACP, 0, szString1, -1, string1, MAX_PATH, NULL, NULL);
\
WideCharToMultiByte(CP_ACP, 0, szString2, -1, string2
, MAX_PATH, NULL, NULL); \
if (lstrcmpA(string1, string2) != 0)
\
ok(0, format, string1, string2); \
}
}
while(0);
#define ok_w2n(format, szString1, szString2, len) \
\
...
...
@@ -759,7 +770,9 @@ static HRESULT Installer_RegistryValueW(HKEY hkey, LPCWSTR szKey, LPCWSTR szValu
V_BSTR
(
&
vararg
)
=
SysAllocString
(
szValue
);
hr
=
Installer_RegistryValue
(
hkey
,
szKey
,
vararg
,
&
varresult
,
VT_BSTR
);
if
(
V_BSTR
(
&
varresult
))
lstrcpyW
(
szString
,
V_BSTR
(
&
varresult
));
if
(
V_BSTR
(
&
varresult
))
/* lstrcpyW is not implemented on Win95 (lstrlenW is though) */
memcpy
(
szString
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -775,7 +788,8 @@ static HRESULT Installer_RegistryValueI(HKEY hkey, LPCWSTR szKey, int iValue, LP
V_I4
(
&
vararg
)
=
iValue
;
hr
=
Installer_RegistryValue
(
hkey
,
szKey
,
vararg
,
&
varresult
,
vtResult
);
if
(
SUCCEEDED
(
hr
)
&&
vtResult
==
VT_BSTR
)
lstrcpyW
(
szString
,
V_BSTR
(
&
varresult
));
if
(
SUCCEEDED
(
hr
)
&&
vtResult
==
VT_BSTR
)
memcpy
(
szString
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -866,7 +880,8 @@ static HRESULT Installer_ProductInfo(LPCWSTR szProduct, LPCWSTR szAttribute, LPW
V_BSTR
(
&
vararg
[
0
])
=
SysAllocString
(
szAttribute
);
hr
=
invoke
(
pInstaller
,
"ProductInfo"
,
DISPATCH_PROPERTYGET
,
&
dispparams
,
&
varresult
,
VT_BSTR
);
if
(
V_BSTR
(
&
varresult
))
lstrcpyW
(
szString
,
V_BSTR
(
&
varresult
));
if
(
V_BSTR
(
&
varresult
))
memcpy
(
szString
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -905,7 +920,8 @@ static HRESULT Installer_VersionGet(LPWSTR szVersion)
HRESULT
hr
;
hr
=
invoke
(
pInstaller
,
"Version"
,
DISPATCH_PROPERTYGET
,
&
dispparams
,
&
varresult
,
VT_BSTR
);
if
(
V_BSTR
(
&
varresult
))
lstrcpyW
(
szVersion
,
V_BSTR
(
&
varresult
));
if
(
V_BSTR
(
&
varresult
))
memcpy
(
szVersion
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -933,7 +949,8 @@ static HRESULT Session_PropertyGet(IDispatch *pSession, LPCWSTR szName, LPWSTR s
V_BSTR
(
&
vararg
[
0
])
=
SysAllocString
(
szName
);
hr
=
invoke
(
pSession
,
"Property"
,
DISPATCH_PROPERTYGET
,
&
dispparams
,
&
varresult
,
VT_BSTR
);
if
(
V_BSTR
(
&
varresult
))
lstrcpyW
(
szReturn
,
V_BSTR
(
&
varresult
));
if
(
V_BSTR
(
&
varresult
))
memcpy
(
szReturn
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -1232,7 +1249,8 @@ static HRESULT Record_StringDataGet(IDispatch *pRecord, int iField, LPWSTR szStr
V_I4
(
&
vararg
[
0
])
=
iField
;
hr
=
invoke
(
pRecord
,
"StringData"
,
DISPATCH_PROPERTYGET
,
&
dispparams
,
&
varresult
,
VT_BSTR
);
if
(
V_BSTR
(
&
varresult
))
lstrcpyW
(
szString
,
V_BSTR
(
&
varresult
));
if
(
V_BSTR
(
&
varresult
))
memcpy
(
szString
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -1309,7 +1327,8 @@ static HRESULT StringList_Item(IDispatch *pStringList, int iIndex, LPWSTR szStri
V_I4
(
&
vararg
[
0
])
=
iIndex
;
hr
=
invoke
(
pStringList
,
"Item"
,
DISPATCH_PROPERTYGET
,
&
dispparams
,
&
varresult
,
VT_BSTR
);
if
(
V_BSTR
(
&
varresult
))
lstrcpyW
(
szString
,
V_BSTR
(
&
varresult
));
if
(
V_BSTR
(
&
varresult
))
memcpy
(
szString
,
V_BSTR
(
&
varresult
),
(
lstrlenW
(
V_BSTR
(
&
varresult
))
+
1
)
*
sizeof
(
WCHAR
));
VariantClear
(
&
varresult
);
return
hr
;
}
...
...
@@ -1654,7 +1673,7 @@ static void test_Session(IDispatch *pSession)
memset
(
stringw
,
0
,
sizeof
(
stringw
));
hr
=
Session_PropertyGet
(
pSession
,
szProductName
,
stringw
);
ok
(
hr
==
S_OK
,
"Session_PropertyGet failed, hresult 0x%08x
\n
"
,
hr
);
if
(
lstrcmpW
(
stringw
,
szMSITEST
)
!=
0
)
if
(
strcmp_ww
(
stringw
,
szMSITEST
)
!=
0
)
{
len
=
WideCharToMultiByte
(
CP_ACP
,
0
,
stringw
,
-
1
,
string
,
MAX_PATH
,
NULL
,
NULL
);
ok
(
len
,
"WideCharToMultiByteChar returned error %d
\n
"
,
GetLastError
());
...
...
@@ -1667,7 +1686,7 @@ static void test_Session(IDispatch *pSession)
memset
(
stringw
,
0
,
sizeof
(
stringw
));
hr
=
Session_PropertyGet
(
pSession
,
szProductName
,
stringw
);
ok
(
hr
==
S_OK
,
"Session_PropertyGet failed, hresult 0x%08x
\n
"
,
hr
);
if
(
lstrcmpW
(
stringw
,
szProductName
)
!=
0
)
if
(
strcmp_ww
(
stringw
,
szProductName
)
!=
0
)
{
len
=
WideCharToMultiByte
(
CP_ACP
,
0
,
stringw
,
-
1
,
string
,
MAX_PATH
,
NULL
,
NULL
);
ok
(
len
,
"WideCharToMultiByteChar returned error %d
\n
"
,
GetLastError
());
...
...
@@ -2006,7 +2025,7 @@ static void test_Installer_Products(BOOL bProductInstalled)
ok
(
iValue
==
INSTALLSTATE_DEFAULT
||
iValue
==
INSTALLSTATE_ADVERTISED
,
"Installer_ProductState returned %d, expected %d or %d
\n
"
,
iValue
,
INSTALLSTATE_DEFAULT
,
INSTALLSTATE_ADVERTISED
);
/* Not found our product code yet? Check */
if
(
!
bProductFound
&&
!
lstrcmpW
(
szString
,
szProductCode
))
if
(
!
bProductFound
&&
!
strcmp_ww
(
szString
,
szProductCode
))
bProductFound
=
TRUE
;
/* IEnumVARIANT::Next */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment