From 5e428f34df81248e7786fda284571add25f665db Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Thu, 25 Jun 2026 21:13:52 +0300 Subject: [PATCH] [RTL_UNITTEST] Add RtlpInitialize This will be compiled as a dummy in the test library, but in the unit test it will actually initialize the required RTL things. For now it is only RtlpInitializeVectoredExceptionHandling. This prevents a problem with the RtlVirtualUnwind test. --- modules/rostests/apitests/rtl/CMakeLists.txt | 4 +++- modules/rostests/apitests/rtl/rtlinit.c | 19 +++++++++++++++++++ modules/rostests/apitests/rtl/rtltests.h | 4 ++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 modules/rostests/apitests/rtl/rtlinit.c diff --git a/modules/rostests/apitests/rtl/CMakeLists.txt b/modules/rostests/apitests/rtl/CMakeLists.txt index 6b381fb89cf..5a9497df0b9 100644 --- a/modules/rostests/apitests/rtl/CMakeLists.txt +++ b/modules/rostests/apitests/rtl/CMakeLists.txt @@ -1,6 +1,7 @@ list(APPEND SOURCE + rtlinit.c RtlIntSafe.c ) @@ -43,9 +44,10 @@ endif() # RTL tests with static linkage (called unittest, so it won't run in rosautotest) add_executable(rtl_unittest + rtlinit.c testlist.c ldrstubs.c) -target_compile_definitions(rtl_unittest PRIVATE _RTL_TEST _NTSYSTEM_) +target_compile_definitions(rtl_unittest PRIVATE _RTL_TEST _NTSYSTEM_ TEST_STATIC) target_link_libraries(rtl_unittest rtl_test_lib rtl rtl_um rtl_vista wine uuid ${PSEH_LIB}) set_module_type(rtl_unittest win32cui) add_importlibs(rtl_unittest msvcrt advapi32 kernel32 ntdll) diff --git a/modules/rostests/apitests/rtl/rtlinit.c b/modules/rostests/apitests/rtl/rtlinit.c new file mode 100644 index 00000000000..14bb881ae8e --- /dev/null +++ b/modules/rostests/apitests/rtl/rtlinit.c @@ -0,0 +1,19 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: MIT (https://spdx.org/licenses/MIT) + * PURPOSE: Initialization for RTL unit test + * COPYRIGHT: Copyright 2026 Timo Kreuzer + */ + +#include + +VOID NTAPI RtlpInitializeVectoredExceptionHandling(VOID); + +VOID +NTAPI +RtlpInitialize(VOID) +{ +#ifdef TEST_STATIC + RtlpInitializeVectoredExceptionHandling(); +#endif +} diff --git a/modules/rostests/apitests/rtl/rtltests.h b/modules/rostests/apitests/rtl/rtltests.h index f6bf7c007e8..377a9f75a07 100644 --- a/modules/rostests/apitests/rtl/rtltests.h +++ b/modules/rostests/apitests/rtl/rtltests.h @@ -10,3 +10,7 @@ #include #include #include + +VOID +NTAPI +RtlpInitialize(VOID);