mirror of
https://github.com/reactos/reactos.git
synced 2025-05-31 15:08:14 +00:00
[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:
parent
dccc8e488c
commit
72d1f8be4f
4 changed files with 65 additions and 0 deletions
|
@ -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)
|
||||
|
|
5
rostests/apitests/user32_dynamic/CMakeLists.txt
Normal file
5
rostests/apitests/user32_dynamic/CMakeLists.txt
Normal 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)
|
49
rostests/apitests/user32_dynamic/load.c
Normal file
49
rostests/apitests/user32_dynamic/load.c
Normal 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);
|
||||
}
|
10
rostests/apitests/user32_dynamic/testlist.c
Normal file
10
rostests/apitests/user32_dynamic/testlist.c
Normal 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 }
|
||||
};
|
Loading…
Reference in a new issue