[PATCH 1/2] kernel32/tests: Add a test for loading manifest from resources.
To confirm that 2d764e90dd2c624f7a2d863ab29bd418ed33d252 does the right thing. Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> --- dlls/kernel32/tests/actctx.c | 32 ++++++++++++++++++++++++-- dlls/kernel32/tests/resource.rc | 2 ++ dlls/kernel32/tests/wine_test.manifest | 4 ++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 dlls/kernel32/tests/wine_test.manifest diff --git a/dlls/kernel32/tests/actctx.c b/dlls/kernel32/tests/actctx.c index 163ea405222..adf2549bece 100644 --- a/dlls/kernel32/tests/actctx.c +++ b/dlls/kernel32/tests/actctx.c @@ -694,7 +694,7 @@ static void test_detailed_info(HANDLE handle, const detailed_info_t *exinfo, int ok_(__FILE__, line)(detailed_info->lpRootManifestPath != NULL, "detailed_info->lpRootManifestPath == NULL\n"); if(detailed_info->lpRootManifestPath) ok_(__FILE__, line)(!lstrcmpiW(detailed_info->lpRootManifestPath, exinfo->root_manifest_path), - "unexpected detailed_info->lpRootManifestPath\n"); + "unexpected detailed_info->lpRootManifestPath %s\n", wine_dbgstr_w(detailed_info->lpRootManifestPath)); }else { ok_(__FILE__, line)(detailed_info->lpRootManifestPath == NULL, "detailed_info->lpRootManifestPath != NULL\n"); } @@ -2683,7 +2683,8 @@ todo_wine SetLastError(0xdeadbeef); handle = CreateActCtxA(&actctx); ok(handle == INVALID_HANDLE_VALUE, "got handle %p\n", handle); - ok(GetLastError() == ERROR_RESOURCE_TYPE_NOT_FOUND, "got error %d\n", GetLastError()); +todo_wine + ok(GetLastError() == ERROR_RESOURCE_NAME_NOT_FOUND, "got error %d\n", GetLastError()); /* load manifest from lpAssemblyDirectory directory */ write_manifest("testdir.manifest", manifest1); @@ -3548,6 +3549,32 @@ static void run_child_process_two_dll(int run) CloseHandle(pi.hProcess); } +static const detailed_info_t detailed_info3 = +{ + 1, 1, 1, ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE, exe_path, + ACTIVATION_CONTEXT_PATH_TYPE_NONE, ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE, + app_dir, +}; + +static void test_manifest_in_module(void) +{ + ACTCTXW ctx; + HANDLE handle; + + memset(&ctx, 0, sizeof(ctx)); + ctx.cbSize = sizeof(ctx); + ctx.dwFlags = ACTCTX_FLAG_HMODULE_VALID | ACTCTX_FLAG_RESOURCE_NAME_VALID; + ctx.lpResourceName = (LPWSTR)124; + ctx.hModule = GetModuleHandleW(NULL); + handle = CreateActCtxW(&ctx); + ok(handle != 0, "CreateActCtx error %u\n", GetLastError()); + + test_basic_info(handle, __LINE__); + test_detailed_info(handle, &detailed_info3, __LINE__); + + ReleaseActCtx(handle); +} + START_TEST(actctx) { int argc; @@ -3574,6 +3601,7 @@ START_TEST(actctx) return; } + test_manifest_in_module(); test_actctx(); test_create_fail(); test_CreateActCtx(); diff --git a/dlls/kernel32/tests/resource.rc b/dlls/kernel32/tests/resource.rc index f40a87819ea..58902e7a015 100644 --- a/dlls/kernel32/tests/resource.rc +++ b/dlls/kernel32/tests/resource.rc @@ -24,3 +24,5 @@ { MENUITEM "foo", 1 } + +124 24 wine_test.manifest diff --git a/dlls/kernel32/tests/wine_test.manifest b/dlls/kernel32/tests/wine_test.manifest new file mode 100644 index 00000000000..de77de3e201 --- /dev/null +++ b/dlls/kernel32/tests/wine_test.manifest @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity version="1.0.0.0" name="Wine.Test"/> +</assembly> -- 2.33.1
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=101820 Your paranoid android. === w10pro64 (32 bit report) === kernel32: comm.c:886: Test failed: WaitCommEvent used 1516 ms for waiting === w1064 (64 bit report) === kernel32: comm.c:886: Test failed: WaitCommEvent used 1515 ms for waiting === w10pro64_zh_CN (64 bit report) === kernel32: comm.c:886: Test failed: WaitCommEvent used 1515 ms for waiting === w7u_2qxl (32 bit report) === kernel32: debugger.c:1023: Test failed: ole32.dll was not reported === w7u_adm (32 bit report) === kernel32: debugger.c:1023: Test failed: ole32.dll was not reported === w7u_el (32 bit report) === kernel32: debugger.c:1023: Test failed: ole32.dll was not reported === w1064_tsign (32 bit report) === kernel32: debugger.c:1585: Test failed: WaitForDebugEvent succeeded. debugger.c:1651: Test failed: dwDebugEventCode differs: ffffffff (was 2) debugger.c:1655: Test failed: dwThreadId differs: 17a4 (was e2c) debugger.c:1673: Test failed: dwDebugEventCode differs: ffffffff (was 1) debugger.c:1677: Test failed: dwThreadId differs: 17a4 (was e54) debugger.c:1684: Test failed: dwDebugEventCode = -1 debugger.c:1695: Test failed: dwDebugEventCode = -1 debugger.c:1721: Test failed: dwDebugEventCode = -1 debugger.c:1721: Test failed: dwDebugEventCode = -1 debugger.c:1721: Test failed: dwDebugEventCode = -1 debugger.c:1721: Test failed: dwDebugEventCode = -1 debugger.c:1721: Test failed: dwDebugEventCode = -1 debugger: Timeout === w1064_tsign (64 bit report) === kernel32: debugger.c:1515: Test failed: dwDebugEventCode = 6 expected 2 debugger.c:1516: Test failed: dwDebugEventCode = 2 expected 1 debugger.c:1516: Test failed: ExceptionCode = 3ac expected 80000003 debugger.c:1517: Test failed: dwDebugEventCode = 1 expected 4 debugger.c:1569: Test failed: dwThreadId differs: 1cc0 (was 1cc4) debugger.c:1721: Test failed: dwDebugEventCode = 4 === w10pro64_ar (64 bit report) === kernel32: file.c:2734: Test failed: Bad Error number 3 file.c:2743: Test failed: Bad Error number 2 file.c:2751: Test failed: FindFirstFile on \*.* should fail file.c:2752: Test failed: Bad Error number -559038801 file.c:2761: Test failed: Bad Error number 2 === w10pro64 (32 bit report) === kernel32: resource: Timeout
participants (2)
-
Dmitry Timoshkov -
Marvin