Commit Graph

2494 Commits

Author SHA1 Message Date
Mohammad Amin Mollazadeh
2def708122 [KERNEL32][APITESTS:KERNEL32] Implement SetSearchPathMode (#9244)
This commit implements SetSearchPathMode based on official documentations from Microsoft and Wine tests.

This is different from #3665 since it updates SearchPathW to use the configured Search Path Mode, while the older PR only introduces SetSearchPathMode with desired outputs per input. Also improves thread safety.

CORE-17586
2026-09-20 16:53:49 +00:00
Ahmed Arif
59d9723951 [USER32_APITEST] Add test for NcPaintRgn (#9495)
Collect the WM_NCPAINT regions a window is given when it gets maximized
and then restored, and check that no part of the non-client frame
was left out of them.

This covers a regression for non-client repaint regions. CORE-20769
2026-09-16 14:40:42 +03:00
Hermès Bélusca-Maïto
d9d6f0917e [SETUP:REACTOS][USETUP][SETUPLIB_UNITTEST] Improve build generation (#9524)
They use the setuplib library.
2026-09-14 22:05:59 +02:00
Hermès Bélusca-Maïto
b5db92a506 [CMAKE] Improve build generation (#9523)
User-mode:
- DNSAPI uses the adns library.
- CONSOLE.CPL uses the concfg library.
- DISKPART, PING use the conutils library.
- ADVAPI32 uses the cryptlib library.
- EVENTLOG uses the evtlib library.
- NTVDM uses the fast486 library.
- HID uses the hidparser_um library.
- WINEMP3.ACM uses the libmpg123 library.
- OPENGL32 uses the mesa library.
- LOCALSPL uses the skiplist library.
- IPHLPAPI, WSHTCPIP use the tdilib library.
- TIMEDATE.CPL, SYSSETUP use the tzlib library.
- DRWTSN32, DXDIAG, SYSDM.CPL, SYSTEMINFO use the udmihelp library.
- CABINET, VFDLIB, dbghelp_apitest use the zlib library.

Drivers:
- PCIX uses the arbiter library.
- KSECDD uses the cryptlib library.
- I8042PRT uses the dmilib library.
- FTFD uses the freetype library.
- HIDPARSE uses the hidparser_km library.
- ATAPI, SCSIPORT, STORPORT, USBSTOR use the sptilib library.
- NETKVM uses the virtio library.
- BTRFS uses the zlib library.

Sound:
- backpln/audio_test use the libsamplerate library.
- KMIXER, mmixer_test, WDMAUD, WDMAUD.DRV use the libsamplerate and mmixer libraries.
2026-09-14 22:03:58 +02:00
Hermès Bélusca-Maïto
91b67af002 [RAPPS][ZIPFLDR] Improve build generation and ZLIB usage (#9522) 2026-09-14 22:02:44 +02:00
Hermès Bélusca-Maïto
6c2ab4269f [NTDLL_APITEST] Limit the ntoskrnl/include directory usage only to ntdll_apitest (#9520) 2026-09-14 21:56:39 +02:00
Hermès Bélusca-Maïto
80d7d68665 [KEYBOARD][KDBHID][MOUHID][USB*][VIDEOPRT][UMKM] No need to add ntoskrnl/include directory (#9520) 2026-09-14 21:56:36 +02:00
Mikhail Tyukin
9699568b70 [COMDLG32] Sync to Wine-10.0 (#8821)
Sync comdlg32 to Wine-10.0 and its tests. Additionally, a lot of reactos specific code in colordlg.c has been removed as wine has it. Enable IFileDialog interface for Windows Vista or later DLL exports.

JIRA issue: CORE-20586
2026-09-12 10:34:35 -04:00
Mohammad Amin Mollazadeh
ed4f258efd [NTDLL_APITESTS] Add tests for NtNotifyChangeMultipleKeys (#9189)
CORE-11865

This PR implements API tests for the `NtNotifyChangeMultipleKeys()` function,
that are guaranteed to pass on Windows and cover every feature supported by this function[^1].
Tested successfully on Windows XP, Windows Server 2003, Windows 7 and Windows 11.

See also PRs #8848 and #7914.

[^1]: As documented by Microsoft:
  https://learn.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntnotifychangemultiplekeys
2026-09-11 18:57:01 -05:00
Doug Lyons
736ea1968f [WINHTTP_WINETEST] Skip hanging tests after sync to Wine-10.0 (#9504)
Add the following two hanging wine tests to skip list.

* test_IWinHttpRequest
* test_bad_header

ROSTESTS-422

* Only skip these tests if we are running ReactOS.
Co-authored-by: Carl J. Bialorucki <carl.bialorucki@reactos.org>
2026-09-11 10:49:45 -05:00
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