[USER32_DYNAMIC_APITEST]

- Add a test that uses LoadLibrary/FreeLibrary on user32.dll, causing it to re-initialize.
CORE-10540

svn path=/trunk/; revision=69923
This commit is contained in:
Thomas Faber 2015-11-17 13:45:59 +00:00
parent dccc8e488c
commit 72d1f8be4f
4 changed files with 65 additions and 0 deletions

View file

@ -22,6 +22,7 @@ add_subdirectory(setupapi)
add_subdirectory(shell32)
add_subdirectory(psapi)
add_subdirectory(user32)
add_subdirectory(user32_dynamic)
if(NOT ARCH STREQUAL "amd64")
add_subdirectory(w32kdll)
add_subdirectory(w32knapi)

View file

@ -0,0 +1,5 @@
add_executable(user32_dynamic_apitest load.c testlist.c)
set_module_type(user32_dynamic_apitest win32cui)
add_importlibs(user32_dynamic_apitest msvcrt kernel32)
add_cd_file(TARGET user32_dynamic_apitest DESTINATION reactos/bin FOR all)

View file

@ -0,0 +1,49 @@
/*
* PROJECT: ReactOS API tests
* LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory
* PURPOSE: Test for loading/unloading user32.dll
* PROGRAMMERS: Thomas Faber <thomas.faber@reactos.org>
*/
#include <apitest.h>
START_TEST(load)
{
HMODULE hUser32;
HMODULE hUser32_2;
BOOL Ret;
DWORD Error;
SetLastError(12345);
hUser32 = LoadLibraryW(L"user32");
Error = GetLastError();
ok(hUser32 != NULL, "LoadLibrary failed\n");
ok(Error != 12345, "Error = %lu\n", Error);
SetLastError(12345);
hUser32_2 = LoadLibraryW(L"user32");
Error = GetLastError();
ok(hUser32_2 == hUser32, "LoadLibrary failed\n");
ok(Error == 12345, "Error = %lu\n", Error);
Ret = FreeLibrary(hUser32);
Error = GetLastError();
ok(Ret == TRUE, "FreeLibrary returned %d\n", Ret);
ok(Error == 12345, "Error = %lu\n", Error);
Ret = FreeLibrary(hUser32);
Error = GetLastError();
ok(Ret == TRUE, "FreeLibrary returned %d\n", Ret);
ok(Error == 12345, "Error = %lu\n", Error);
SetLastError(12345);
hUser32 = LoadLibraryW(L"user32");
Error = GetLastError();
ok(hUser32 != NULL, "LoadLibrary failed\n");
ok(Error == 12345, "Error = %lu\n", Error);
Ret = FreeLibrary(hUser32);
Error = GetLastError();
ok(Ret == TRUE, "FreeLibrary returned %d\n", Ret);
ok(Error == 12345, "Error = %lu\n", Error);
}

View file

@ -0,0 +1,10 @@
#define STANDALONE
#include <apitest.h>
extern void func_load(void);
const struct test winetest_testlist[] =
{
{ "load", func_load },
{ 0, 0 }
};