2484 Commits

Author SHA1 Message Date
Mohammad Amin Mollazadeh
39c9f57ab2 [USER32_APITEST] Add LookupIconIdFromDirectoryEx invalid input test (#9263)
Calling it with invalid pointer crashes the caller, while on Windows
it returns 0 without error or crash.

CORE-19544
2026-09-07 19:08:31 +03:00
Stanislav Motylkov
189eae49a8 [USER32] Revert previous commit that was merged incorrectly
This reverts commit b35226eaa4.
2026-09-07 19:06:12 +03:00
Mohammad Amin Mollazadeh
b35226eaa4 [USER32] Fix crash on calling LookupIconIdFromDirectoryEx with invalid directory (#9263)
* [USER32_APITEST] Add LookupIconIdFromDirectoryEx invalid input test (#9263)

Calling it with invalid pointer crashes the caller, while on Windows
it returns 0 without error or crash.

CORE-19544, CORE-15879

* [USER32] Fix LookupIconIdFromDirectoryEx crash with invalid pointer (#9263)

This problem is similar to 60851914a8 (#5106) / CORE-15879.
Add SEH exception handler to prevent the crash, matching Windows behavior.

CORE-19544, CORE-15879
2026-09-07 12:02:38 -04:00
Doug Lyons
ba35137b01 [WS2_32_APITEST] Attempt to fix receive test timeouts (#9483)
Add Sleep to create delay to allow the send command to process before executing the receive.
This is similar to what we see used in the Wine regression tests.

ROSTESTS-421
2026-09-03 20:20:27 -05:00
Mikhail Tyukin
58d50e80c1 [HLINK] Sync to Wine-10.0 2026-09-01 14:41:09 -04:00
Mikhail Tyukin
d8850a7415 [FAULTREP] Sync to Wine-10.0 2026-09-01 14:41:09 -04:00
Mikhail Tyukin
d296bc7be8 [CREDUI] Sync to Wine-10.0 2026-09-01 14:41:09 -04:00
Hater
340f6cfec4 [BCRYPT][BCRYPT_WINETEST] Sync to WineStaging-10.6 (#8267)
Sync bcrypt/bcrypt winetest with latest wine. Implement all functionality with mbedtls. DSA is my implementation based on libtomcrypt implementation as mbedtls does not support DSA. All failing tests are wine_todo

* [BCRYPT] Split implementations in different files. Add internal header. Add precompiled header. These changes are needed to make bcrypt more wine compatible

* [BCRYPT] Update to latest bcrypt from wine. Add their gnutls implementation with small changes. Add missing function in the other implementations returning STATUS_NOT_IMPLEMENTED. WARNING! gnutls is modified just visually and is n ot compiled locally as we don't have gnutls in ReactOS for a long time and we depend on mbedtls implementation.

* [BCRYPT] Remove forgotten code. Remove hmac BOOL and use hash->flags for hmac

* [BCRYPT] Remove some dead code. Move flag defines in header. Use constant for flag

* [BCRYPT][WINETEST] Update bcrypt wine test to current version. On windows it executes 23114 tests successfully

* [MBEDTLS] Activate MD2 and MD4 hashing algorithms

* [MBEDTLS] Export additional MD functions

* [BCRYPT][WINETEST] Disable not implemented method tests

* [BCRYPT] Remove unneeded headers

* [BCRYPT] Fix some struct variables and add a hash method

* [BCRYPT] Update common crypto implementation

* [MBEDTLS] Expose AES CFB8

* [MBEDTLS] Export simetric encryption/decryption functions

* [BCRYPT] Implement symetric encryption/decryption

* [BCRYPT][WINETEST] Activate symetric encryption/decryption tests. From 22541 Only 3 fail on wine_todo

* [BCRYPT][WINETEST] Disable pbkdf tests. They crash calling function with ULONGLONG parameter

* [MBEDTLS] Export additional functions

* [BCRYPT] Expand private data size

* [BCRYPT] Implement asymetric encryption/decryption. NOTE: DSA is NOT supported by mbedtls, so it is not implemented here

* [MBEDTLS] Disable range check for mbedtls_dhm_calc_secret for ReactOS. It fails tests for key derivation

* [BCRYPT][WINETEST] Enable all tests

* [BCRYPT] Update exports

* [MBEDTLS] Add DSA implementation. It is my implementation based on libtomcrypt and adapted to mbedtls. It is NOT part of mbedtls!

* [BCRYPT] Implement DSA encryption/decryption. Use union for cipher/pk/dh/dsa keys to lower memory used for a key. Lower PRIVATE_DATA_SIZE accordingly.

* [BCRYPT] Fix missed cleanup on error paths. Fixed missed DSA key reinitialization. Change some error codes to STATUS_NO_MEMORY. Minor formatting

* [WINESYNC] Update bcrypt sync status

* [MBEDTLS] Fix double export and move an export for readability

* [BCRYPT] Enable ARC4 (RC4) algorithm

* [BCRYPT] Extend private data size to fit x64

* [WINESYNC] Update WINESYNC.txt to exclude commit hash

---------

Co-authored-by: Justin Miller <justin.miller@reactos.org>
2026-08-30 01:29:51 +00:00
Justin Miller
b272427baa [APITESTS][NTOS:PS][SDK][NTUSER] Job UI Restriction support (#9448)
Adds the initial attempt at handling the job ui restriction support. This doesn't protect the OS yet, however it provides everything we need to start implementing that protection.
2026-08-29 04:46:45 +00:00
Mikhail Tyukin
c3ddf8f97c [COMCAT] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Mikhail Tyukin
1d6f353c11 [AVIFIL32] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Mikhail Tyukin
30266a7189 [ATL][ATL80][ATL100] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Mikhail Tyukin
f7921e128d [ADVPACK] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Alex Mendoza
3be76cb772 [SETUPAPI_APITEST] Add a test for SetupDiGetActualModelsSection (#9426)
CORE-20472
2026-08-23 17:53:40 +02:00
Mikhail Tyukin
fdddc528e2 [RTWORKQ] Import from wine-10.0 (#9398)
Import rtworkq.dll from Wine-10.0, required for importing wine's MediaFoundation implementation. Locked behind Windows 8.1 as apps detect for the presence of this DLL.
2026-08-22 19:32:37 -04:00
Ratin Gao
ef8bcd3fbe [EVENTLOG][FMIFS][KERNEL32][APITESTS] Fix leaks after calling RtlDosPathNameToNtPathName_U (#8559)
Misc. changes:
- [FMIFS] Fix source file encoding to UTF-8
- [KERNEL32] Fix SAL annotation for BasepMapFile
- [NTUSER] Fix a debug print incorrectly mentioning RtlDosPathNameToNtPathName_U

This fix is similar to the previous in 657f728767 (#5592).
2026-08-19 20:00:46 +03:00
Max Korostil
84e3748549 [WIN32U_APITEST] Add NtUserSBGetParms test (#9411)
CORE-18128
2026-08-19 12:52:47 +03:00
Mikhail Tyukin
51fcee37bc [NTDLL_WINETEST][ADVAPI32] Fix build when building with Win7 dll exports (#9413)
Fix build of ntdll_winetest when compiling with -DDLL_EXPORT_VERSION=0x602 by exporting RegDeleteKeyValueA and RegDeleteKeyValueW in advapi32, and linking ntdll_winetest against psapi for EnumProcesses
2026-08-18 18:02:53 -04:00
Gleb Surikov
b8bff9a3b3 [KMTEST] Add tests for push lock 2026-08-17 11:32:34 +03:00
Whindmar Saksit
93f96e592b [SHELL32][SHLWAPI][SHELL32_APITEST][SHLWAPI_APITEST] Implement IQueryAssociations::GetKey and more ASSOCSTR's (#9262) 2026-08-15 22:11:18 +02:00
Hermès Bélusca-Maïto
99a4e12e74 [ROSTESTS] Add an interactive "dialog_initvisible" test (#9362)
CORE-20706

Its purpose is to observe whether or not a dialog that has the
`WS_VISIBLE` style explicitly set, briefly becomes visible
even if it gets terminated early from its `WM_INITDIALOG` handler.
(On Windows it does NOT become visible.)
2026-08-14 13:11:44 +02:00
Justin Miller
53a4bb8aa6 [SDK][APITESTS:NTDLL][NTDLL] Add RtlMemIoResource support (#9392)
* [SDK][APITESTS:NTDLL][NTDLL] Add RtlMemIoResource support
- RtlCmEncodeMemIoResource
- RtlCmDecodeMemIoResource
- RtlIoEncodeMemIoResource
- RtlIoDecodeMemIoResource
- RtlFindClosestEncodableLength
2026-08-14 07:26:09 +00:00
Justin Miller
74ddb4597e [SDK][KMTESTS:RTLRANGE] RtlRange Improvements (#9248)
* [SDK][KMTESTS:RTLRANGE] RtlRange Improvements
- Implement RtlGetLastRange (NT6.1)
- Implement RtlInvertRangeListEx (NT6.0)
- Honor AttributeAvailableMask
- Honor RTL_RANGE_SHARED_IS_VALID (In use for for PCI)
- Honor RTL_RANGE_NULL_CONFLICT_IS_VALID (In use for PCI)
- [SDK] Final RangeList bug fixes so tests pass on windows and reactos
2026-08-12 00:41:11 +00:00
Amine Khaldi
4fe917b53e [URLMON_WINETEST] Skip the rest of the winetest for urlmon:protocol or wait timeout. (#9379)
* Skip the rest of test_http_protocol_url on wait timeout.
CORE-20596
2026-08-06 01:45:10 -05:00
Whindmar Saksit
16bb138e32 [SHELL32][SHELL32_APITEST] Handle named registry verbs in CDefaultContextMenu::InvokeCommand (#9340)
CORE-20690
2026-08-04 18:39:14 +02:00
Timo Kreuzer
8315b8c310 [NTDLL_APITEST] Fix test for RtlAllocateHeap
- Properly detect aligned vs unaligned allocations
- Respect broken alignment behavior of Windows 2003
2026-07-31 17:33:36 +00:00
Timo Kreuzer
29e8ed11af [KMTEST] Fix ObType test to use NT6 callbacks for ReactOS 2026-07-28 12:16:32 +00:00
Timo Kreuzer
9675f756ce [NDK] Fix definition of OB_CLOSE_METHOD 2026-07-28 12:16:32 +00:00
Timo Kreuzer
360b579a5d [NTDLL_APITEST] Add more tests for NtCreateThread 2026-07-25 16:15:37 +00:00
Timo Kreuzer
263427823c [NTDLL_APITEST] Implement test for RtlInitializeContext 2026-07-25 16:15:37 +00:00
Timo Kreuzer
3a0311753f [NTDLL_APITEST] Improve NtQueryInformationThread test
- Skip ThreadNameInformation test on Windows versions < NTDDI_WIN10_RS1
- Disable Test_ThreadQueryAlignmentProbe as it is too broken
2026-07-25 16:15:37 +00:00
Hermès Bélusca-Maïto
6cb1394bb1 [COMCTL32][COMCTL32_WINETEST] Import wine implementation for PSN_QUERYINITIALFOCUS (#9272)
Import patch from wine-9.15: wine-mirror/wine@786bb3b
```
comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54862

wine commit id 786bb3b993f7fe195adb732271df912286c5bfe7 by Jacob Czekalla <jczekalla@codeweavers.com>
```
2026-07-24 23:04:41 +02:00
Hermès Bélusca-Maïto
620b273823 [COMCTL32_WINETEST] Import wine test for PSN_QUERYINITIALFOCUS (#9272)
Import patch from wine-9.15: wine-mirror/wine@320547b
```
comctl32/tests: Add test for PSN_QUERYINITIALFOCUS for the propsheet.

wine commit id 320547b6757a7236929a0d47847cab0802607cde by Jacob Czekalla <jczekalla@codeweavers.com>
```
2026-07-24 23:04:40 +02:00
Carl J. Bialorucki
96005fb298 [NTDLL_APITEST] Add test for RtlIsNameInExpression 2026-07-22 19:53:20 -05:00
Timo Kreuzer
5437e77c62 [APPHELP_APITEST] Add test for NT path prefix used in pSdbGetFileAttributes 2026-07-20 19:27:31 +00:00
Timo Kreuzer
a9d5a666dc [VERSION_APITEST] Implement tests for GetFileVersionInfoSizeA/W 2026-07-20 19:27:31 +00:00
Timo Kreuzer
a4c863062f [RTL_UNITTEST] Call RtlpInitialize in RtlVirtualUnwind test
This prevents a critical section timeout.
2026-07-17 06:23:37 +00:00
Mikhail Tyukin
1616b215a3 [OLEACC] Sync to Wine-10.0 2026-07-14 17:21:17 +02:00
Timo Kreuzer
4117217b61 [RSYM] Make the ROSSYM_ENTRY::Address field ULONG
This is an RVA, so there is no reason to expand it to 64 bit on x64.
Fixes crash of dbghelp_apitest rsym on x64, as the test was using ULONG while dbghelp was using ULONG_PTR and rsym itself was using TARGET_ULONG_PTR.
2026-07-13 12:39:42 +00:00
Timo Kreuzer
e45b639372 [KMTEST] Make Ob type tests work on Vista+ 2026-07-12 07:44:53 +00:00
Serge Gautherie
f9e3448f16 [BOOT][ROSTESTS][SHELL32][USERENV] Fix 'StartUp' typo (#8304)
CORE-18893
2026-07-11 23:47:53 +02:00
Timo Kreuzer
34d71f7879 [ROSAUTOTEST] Fix potential issues in pipe reading
- Initialize m_ReadOverlapped.hEvent as unset
- Reset m_ReadOverlapped.hEvent before use
- Zero-inialize m_ReadOverlapped (except for hEvent) before use
- Call CancelIo, if waiting on the asynchronous read event failed
2026-07-11 16:48:14 +00:00
Timo Kreuzer
be66db5ab4 [ROSAUTOTEST] Fix handling of empty test lists
Throw a test exception from GetNextTest if DoListCommand() returned an empty string, instead of continuing with a NULL buffer.
2026-07-11 16:48:14 +00:00
Oleg Dubinskiy
d8f4c417c5 [SETUPAPI_WINETEST] Import test_open_device_interface_key() test from Wine 11.12 (#9269)
Import the Winetest part of the following commit: 4a3cd01bd1 (diff-faec0db2bbb0fae700317fc0160fb2d3f2406ad9f6b55b0c667a9ca4d566d097)
CORE-20603
2026-07-10 19:02:01 +02:00
Timo Kreuzer
5e428f34df [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.
2026-07-07 11:32:46 +00:00
Timo Kreuzer
7aef1353e9 [ROSAUTOTEST] Fix testlist parsing
- Fix reading of test list. Fixes large test lists, that previously got truncated and could result in a crash.
- Prevent crash on parsing invalid test lists.
- Use an std::string for the list storage.
2026-07-07 11:32:08 +00:00
Timo Kreuzer
877416e6a5 [ROSAUTOTEST] Don't run random executables in the bin folder
Instead only run *test.exe.
Stops randomly spawning gui apps and then timing out.
2026-07-07 11:32:08 +00:00
Timo Kreuzer
72425186d7 [KMTEST] Rename kmtest_.exe back to kmtest.exe 2026-07-07 11:32:08 +00:00
Timo Kreuzer
d8b075e382 [ROSAUTOTEST] Handle test executable names that don't have an underscore
This removes the need for the trailing underscore in "kmtest_.exe"
2026-07-07 11:32:08 +00:00
Oleg Dubinskiy
c126bccb4b [USER32_APITEST] Add a test for IsServerSideWindow() (#9229)
CORE-19946
Adapted from PR #7577

This function tests whether a window has a window procedure that resides in kernel mode.
It is not documented by Microsoft, but unofficial (3rd party) documentation[^1] exists.
It is required and used internally by uxtheme.dll from Windows XP/2003/Vista/7/etc.

[^1]: https://undoc.airesoft.co.uk/user32.dll/IsServerSideWindow.php

Co-authored-by: Mohammad Amin Mollazadeh <madamin@pm.me>
2026-07-06 17:58:55 +02:00