From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- dlls/kernel32/tests/loader.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c index 19f112efcd8..ea66e997ea4 100644 --- a/dlls/kernel32/tests/loader.c +++ b/dlls/kernel32/tests/loader.c @@ -4049,8 +4049,9 @@ static void test_InMemoryOrderModuleList(void)
static void test_wow64_redirection_for_dll(const char *libname) { - HMODULE lib; + HMODULE lib, lib2; char buf[256]; + DWORD ret;
if (!GetModuleHandleA(libname)) { @@ -4060,12 +4061,16 @@ static void test_wow64_redirection_for_dll(const char *libname) if (lib) { /* Win 7/2008R2 return the un-redirected path (i.e. c:\windows\system32\dwrite.dll), test loading it. */ - GetModuleFileNameA(lib, buf, sizeof(buf)); + ret = GetModuleFileNameA(lib, buf, sizeof(buf)); + ok(ret, "Expecting to get the module name\n"); + lib2 = LoadLibraryExA(buf, NULL, 0); + ok(lib2 != NULL, "Loading %s from full path should succeed with WOW64 redirection disabled\n", libname); + if (lib2) + { + ok(lib == lib2, "Shouldn't have reloaded another module for %s\n", libname); + FreeLibrary(lib2); + } FreeLibrary(lib); - lib = LoadLibraryExA(buf, NULL, 0); - ok(lib != NULL, "Loading %s from full path should succeed with WOW64 redirection disabled\n", libname); - if (lib) - FreeLibrary(lib); } } else