https://git.reactos.org/?p=reactos.git;a=commitdiff;h=41c4d894f3ead50892928…
commit 41c4d894f3ead50892928fe98b35756937370a30
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Sat Jan 20 13:43:01 2018 +0100
Commit: Amine Khaldi <amine.khaldi(a)reactos.org>
CommitDate: Sat Jan 20 13:43:01 2018 +0100
[VERSION_WINETEST] Sync with Wine 3.0. CORE-14225
---
modules/rostests/winetests/version/info.c | 127 ----------------------
modules/rostests/winetests/version/install.c | 151 ++-------------------------
2 files changed, 6 insertions(+), 272 deletions(-)
diff --git a/modules/rostests/winetests/version/info.c
b/modules/rostests/winetests/version/info.c
index 2b5ba42e68..b99a335d81 100644
--- a/modules/rostests/winetests/version/info.c
+++ b/modules/rostests/winetests/version/info.c
@@ -578,132 +578,6 @@ static void test_VerQueryValueA(void)
HeapFree(GetProcessHeap(), 0, ver);
}
-static void test_VerQueryValue_InvalidLength(void)
-{
- /* this buffer is created with the reactos resource compiler from this resource:
-#include "winver.h"
-
-VS_VERSION_INFO VERSIONINFO
-FILEVERSION 1,0,0,0
-PRODUCTVERSION 1,0,0,0
-FILEFLAGSMASK 63
-FILEFLAGS 0
-FILEOS VOS_UNKNOWN
-FILETYPE VFT_APP
-FILESUBTYPE VFT2_UNKNOWN
-{
- BLOCK "StringFileInfo"
- {
- }
-}
-*/
- char preparedbuffer[] = {
- /* VS_VERSION_INFO_STRUCT32 */
- 0x80, 0x00, /* wLength */
- 0x34, 0x00, /* wValueLength */
- 0x00, 0x00, /* wType */
- /* L"VS_VERSION_INFO" + DWORD alignment */
- 0x56, 0x00, 0x53, 0x00, 0x5f, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x53,
0x00, 0x49, 0x00, 0x4f,
- 0x00, 0x4e, 0x00, 0x5f, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x46, 0x00, 0x4f, 0x00,
0x00, 0x00, 0x00, 0x00,
-
- /* VS_FIXEDFILEINFO */
- 0xbd, 0x04, 0xef, 0xfe, /* dwSignature */
- 0x00, 0x00, 0x01, 0x00, /* dwStrucVersion */
- 0x00, 0x00, 0x01, 0x00, /* dwFileVersionMS */
- 0x00, 0x00, 0x00, 0x00, /* dwFileVersionLS */
- 0x00, 0x00, 0x01, 0x00, /* dwProductVersionMS */
- 0x00, 0x00, 0x00, 0x00, /* dwProductVersionLS */
- 0x3f, 0x00, 0x00, 0x00, /* dwFileFlagsMask */
- 0x00, 0x00, 0x00, 0x00, /* dwFileFlags */
- 0x00, 0x00, 0x00, 0x00, /* dwFileOS */
- 0x01, 0x00, 0x00, 0x00, /* dwFileType */
- 0x00, 0x00, 0x00, 0x00, /* dwFileSubtype */
- 0x00, 0x00, 0x00, 0x00, /* dwFileDateMS */
- 0x00, 0x00, 0x00, 0x00, /* dwFileDateLS */
-
- /* first child: */
- 0x24, 0x00, /* wLength */
- 0x00, 0x00, /* wValueLength */
- 0x01, 0x00, /* wType */
- /* L"StringFileInfo" + DWORD alignment */
- 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x46,
0x00, 0x69, 0x00,
- 0x6c, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6e, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x00,
0x00,
- /* "FE2X" */
- 0x46, 0x45, 0x32, 0x58,
-
- /* Extra bytes allocated for W->A conversions. */
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d, 0xf0, 0xad, 0xba, 0x0d,
0xf0, 0xad, 0xba,
- };
- char *p;
- UINT len, ret;
- WCHAR FileDescriptionW[] = { '\\', '\\', 'S', 't',
'r', 'i', 'n', 'g', 'F', 'i', 'l',
'e', 'I', 'n', 'f', 'o', 0 };
-
- p = (char *)0xdeadbeef;
- len = 0xdeadbeef;
- SetLastError(0xdeadbeef);
- ret = VerQueryValueA(preparedbuffer, "StringFileInfo", (LPVOID *)&p,
&len);
- ok(ret, "VerQueryValueA error %u\n", GetLastError());
- todo_wine
- ok(len == 0, "VerQueryValueA returned %u, expected 0\n", len);
- todo_wine
- ok(p == preparedbuffer + 0x7e, "p was %p, expected %p\n", p, preparedbuffer
+ 0x7e);
-
- p = (char *)0xdeadbeef;
- len = 0xdeadbeef;
- SetLastError(0xdeadbeef);
- ret = VerQueryValueA(preparedbuffer, "\\StringFileInfo", (LPVOID *)&p,
&len);
- ok(ret, "VerQueryValueA error %u\n", GetLastError());
- todo_wine
- ok(len == 0, "VerQueryValueA returned %u, expected 0\n", len);
- todo_wine
- ok(p == preparedbuffer + 0x7e, "p was %p, expected %p\n", p, preparedbuffer
+ 0x7e);
-
- p = (char *)0xdeadbeef;
- len = 0xdeadbeef;
- SetLastError(0xdeadbeef);
- ret = VerQueryValueA(preparedbuffer, "\\\\StringFileInfo", (LPVOID
*)&p, &len);
- ok(ret, "VerQueryValueA error %u\n", GetLastError());
- todo_wine
- ok(len == 0, "VerQueryValueA returned %u, expected 0\n", len);
- todo_wine
- ok(p == preparedbuffer + 0x7e, "p was %p, expected %p\n", p, preparedbuffer
+ 0x7e);
-
- /* also test the W versions. */
- p = (char *)0xdeadbeef;
- len = 0xdeadbeef;
- SetLastError(0xdeadbeef);
- ret = VerQueryValueW(preparedbuffer, FileDescriptionW + 2, (LPVOID *)&p,
&len);
- ok(ret, "VerQueryValueW error %u\n", GetLastError());
- ok(len == 0, "VerQueryValueW returned %u, expected 0\n", len);
- todo_wine
- ok(p == preparedbuffer + 0x7e, "p was %p, expected %p\n", p, preparedbuffer
+ 0x7e);
-
- p = (char *)0xdeadbeef;
- len = 0xdeadbeef;
- SetLastError(0xdeadbeef);
- ret = VerQueryValueW(preparedbuffer, FileDescriptionW + 1, (LPVOID *)&p,
&len);
- ok(ret, "VerQueryValueW error %u\n", GetLastError());
- ok(len == 0, "VerQueryValueW returned %u, expected 0\n", len);
- todo_wine
- ok(p == preparedbuffer + 0x7e, "p was %p, expected %p\n", p, preparedbuffer
+ 0x7e);
-
- p = (char *)0xdeadbeef;
- len = 0xdeadbeef;
- SetLastError(0xdeadbeef);
- ret = VerQueryValueW(preparedbuffer, FileDescriptionW, (LPVOID *)&p, &len);
- ok(ret, "VerQueryValueW error %u\n", GetLastError());
- ok(len == 0, "VerQueryValueW returned %u, expected 0\n", len);
- todo_wine
- ok(p == preparedbuffer + 0x7e, "p was %p, expected %p\n", p, preparedbuffer
+ 0x7e);
-}
-
static void test_extra_block(void)
{
WORD extra_block[] = {
@@ -864,7 +738,6 @@ START_TEST(info)
test_info();
test_32bit_win();
test_VerQueryValueA();
- test_VerQueryValue_InvalidLength();
test_extra_block();
test_GetFileVersionInfoEx();
}
diff --git a/modules/rostests/winetests/version/install.c
b/modules/rostests/winetests/version/install.c
index b06125ff50..9b84dce492 100644
--- a/modules/rostests/winetests/version/install.c
+++ b/modules/rostests/winetests/version/install.c
@@ -24,13 +24,11 @@
#include "winbase.h"
#include "winerror.h"
#include "winver.h"
-#include "shlobj.h"
static void test_find_file(void)
{
DWORD ret;
UINT dwCur, dwOut ;
- char tmp[MAX_PATH];
char appdir[MAX_PATH];
char curdir[MAX_PATH];
char filename[MAX_PATH];
@@ -117,11 +115,10 @@ static void test_find_file(void)
}
}
}
- if(!GetSystemDirectoryA(windir, MAX_PATH) ||
- !SHGetSpecialFolderPathA(0, appdir, CSIDL_PROGRAM_FILES, FALSE) ||
- !GetTempPathA(MAX_PATH, tmp) ||
- !GetTempFileNameA(tmp, "tes", 0, filename))
- ok(0, "GetSystemDirectoryA, SHGetSpecialFolderPathA, GetTempPathA or
GetTempFileNameA failed\n");
+ if(!GetModuleFileNameA(NULL, filename, MAX_PATH) ||
+ !GetSystemDirectoryA(windir, MAX_PATH) ||
+ !GetTempPathA(MAX_PATH, appdir))
+ trace("GetModuleFileNameA, GetSystemDirectoryA or GetTempPathA
failed\n");
else {
char *p = strrchr(filename, '\\');
if(p) {
@@ -153,7 +150,7 @@ static void test_find_file(void)
memset(outBuf, 0, MAX_PATH);
memset(curdir, 0, MAX_PATH);
ret = VerFindFileA(VFFF_ISSHAREDFILE, filename, NULL, appdir, curdir, &dwCur,
outBuf, &dwOut);
- ok(VFF_CURNEDEST == ret, "Wrong return value got %x expected
VFF_CURNEDEST\n", ret);
+ todo_wine ok(VFF_CURNEDEST == ret, "Wrong return value got %x expected
VFF_CURNEDEST\n", ret);
ok(dwOut == 1 + strlen(windir), "Wrong length of buffer for current
location: "
"got %d(%s) expected %d\n", dwOut, outBuf, lstrlenA(windir)+1);
@@ -162,145 +159,9 @@ static void test_find_file(void)
memset(outBuf, 0, MAX_PATH);
memset(curdir, 0, MAX_PATH);
ret = VerFindFileA(0, filename, NULL, appdir, curdir, &dwCur, outBuf,
&dwOut);
- ok(VFF_CURNEDEST == ret, "Wrong return value got %x expected
VFF_CURNEDEST\n", ret);
+ todo_wine ok(VFF_CURNEDEST == ret, "Wrong return value got %x expected
VFF_CURNEDEST\n", ret);
ok(dwOut == 1 + strlen(appdir), "Wrong length of buffer for current
location: "
"got %d(%s) expected %d\n", dwOut, outBuf, lstrlenA(appdir)+1);
-
- /* search for filename */
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, filename, NULL, NULL, curdir, &dwCur, outBuf,
&dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, filename, NULL, empty, curdir, &dwCur, outBuf,
&dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, filename, NULL, appdir, curdir, &dwCur, outBuf,
&dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, filename, NULL, NULL, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, filename, NULL, empty, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, filename, NULL, appdir, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- /* search for regedit */
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "regedit", NULL, NULL, curdir, &dwCur,
outBuf, &dwOut);
- ok(!ret, "Wrong return value got %x expected 0\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "regedit", NULL, empty, curdir, &dwCur,
outBuf, &dwOut);
- ok(!ret, "Wrong return value got %x expected 0\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "regedit", NULL, appdir, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "regedit", NULL, NULL, curdir,
&dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "regedit", NULL, empty, curdir,
&dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "regedit", NULL, appdir, curdir,
&dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- /* search for regedit.exe */
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "regedit.exe", NULL, NULL, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "regedit.exe", NULL, empty, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "regedit.exe", NULL, appdir, curdir, &dwCur,
outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "regedit.exe", NULL, NULL,
curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "regedit.exe", NULL, empty,
curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "regedit.exe", NULL, appdir,
curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- /* nonexistent filename */
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "doesnotexist.exe", NULL, NULL, curdir,
&dwCur, outBuf, &dwOut);
- ok(!ret, "Wrong return value got %x expected 0\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "doesnotexist.exe", NULL, empty, curdir,
&dwCur, outBuf, &dwOut);
- ok(!ret, "Wrong return value got %x expected 0\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "doesnotexist.exe", NULL, appdir, curdir,
&dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(0, "doesnotexist.exe", NULL,
"C:\\random_path_does_not_exist", curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "doesnotexist.exe", NULL, NULL,
curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "doesnotexist.exe", NULL, empty,
curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "doesnotexist.exe", NULL, appdir,
curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- dwCur=MAX_PATH;
- dwOut=MAX_PATH;
- ret = VerFindFileA(VFFF_ISSHAREDFILE, "doesnotexist.exe", NULL,
"C:\\random_path_does_not_exist", curdir, &dwCur, outBuf, &dwOut);
- ok(ret & VFF_CURNEDEST, "Wrong return value got %x expected
VFF_CURNEDEST set\n", ret);
-
- DeleteFileA(filename);
}
}