Commit Graph
2136 Commits
Author SHA1 Message Date
Timo Kreuzer 4bf2a30395 [WIDL] Remove a hack that inserted WIN32_LEAN_AND_MEAN into headers
This was supposedly to improve compile times, but it breaks our headers.
2026-05-11 18:21:34 +00:00
Timo Kreuzer 301b783922 [ACTIVEDS_WINETEST] Import from wine-10.0 2026-05-11 18:21:34 +00:00
Serge Gautherie aec671a530 [INTEROP_UNITTEST] Clarify output (#8306)
Somewhat help to read and interpret output, as the program is.

- Always output locale with 4 digits
- Always output PART items as s%02d:i%u
- Improve handling module/part errors
- Output string length too
  as a hint that ''s are not actually empty.

CORE-18893
2026-05-10 01:44:43 +03:00
Timo Kreuzer a10eff6e2c [KERNEL32_APITEST] Add tests for GetEnvironmentVariable(A/W) 2026-05-08 20:49:38 +00:00
Timo Kreuzer 00d78f9310 [NTDLL_APITEST] Add tests for RtlQueryEnvironmentVariable(_U) 2026-05-08 20:49:38 +00:00
Timo Kreuzer 414d57b58b [GDI32_WINETEST] Update to wine-10.0 2026-05-08 19:30:33 +00:00
Timo Kreuzer d8a1ba1fea [MLANG_WINETEST] Sync to Wine-10.0 2026-05-08 07:30:20 +00:00
Katayama Hirofumi MZ c6bcf2ac10 [SHLWAPI][SHLWAPI_APITEST][SDK] Support SHInvokeCommandsOnContextMenu (#8919)
Implementing missing features...
JIRA issue: CORE-19278
- Implement
  SHInvokeCommandsOnContextMenu
  function.
- Modify shlwapi.spec.
- Add prototype to <shlwapi_undoc.h>.
- Add
  SHInvokeCommandsOnContextMenu
  testcase.
2026-05-07 21:18:24 +09:00
Timo Kreuzer d2dc9355ab [CMAKE] Remove obsolete remove_definitions(-D_CRT_NON_CONFORMING_SWPRINTFS) 2026-05-07 06:27:58 +00:00
Timo Kreuzer 1cf31524d5 [REACTOS] Stop using non-conforming swprintf / vswprintf
Use the underscored versions instead.
2026-05-07 06:27:58 +00:00
Serge Gautherie 32c4faf433 [INTEROP_UNITTEST] Remove EOLD_PROGRAMS remnants (#8937)
Addendum to 0.4.16-dev-2564-g a409e5d.
2026-05-05 19:26:08 +03:00
Timo Kreuzer 5be29348db [NTDLL_WINETEST] Fix failing tests on Windows Vista 2026-05-05 07:44:54 +00:00
Timo Kreuzer fc78efb162 [NTDLL_WINETEST] Fix failing tests on Windows 2003 2026-05-05 07:44:54 +00:00
Timo Kreuzer 78be5473ac [NTDLL_WINETEST] Fix test_NtDeleteKey test on older Windows versions 2026-05-05 07:44:54 +00:00
Timo Kreuzer d465daeb83 [NTDLL_WINETEST] Add workarounds to prevent crashes/hangs on ReactOS / Windows 2003 2026-05-05 07:44:54 +00:00
Timo Kreuzer ab7d770045 [NTDLL_WINETEST] Skip NtRegLoadKeyEx tests on pre-NT6
NtRegLoadKeyEx has a different prototype on Windows 2003 vs Vista+.
2026-05-05 07:44:54 +00:00
Timo Kreuzer 0e2195fe31 [NTDLL_WINETEST] Skip tests that hang on Win 10 WOW64 2026-05-05 07:44:54 +00:00
Timo Kreuzer 291af6e986 [NTDLL_WINETEST] Remove useless check 2026-05-05 07:44:54 +00:00
Timo Kreuzer 4fa627e70a [NTDLL_WINETEST] Fix a problem with broken calling convention 2026-05-05 07:44:54 +00:00
Timo Kreuzer 09393565da [NTDLL_WINETEST] Skip RtlUniform tests on Windows 2003
RtlUniform is broken on Windows 2003
2026-05-05 07:44:54 +00:00
Timo Kreuzer c65eb17a53 [NTDLL_WINETEST] Add checks for missing exports on Windows 2003 2026-05-05 07:44:54 +00:00
Timo KreuzerandCarl J. Bialorucki 35bd6f97b5 [NTDLL_WINETEST] Sync to wine-10.0
Co-authored-by: Carl J. Bialorucki <[email protected]>
2026-05-05 07:44:54 +00:00
Katayama Hirofumi MZ 4e01961e20 [SHLWAPI][SHLWAPI_APITEST][SDK] Support CharLowerNoDBCSA/W and CharUpperNoDBCSA/W (#8920)
Implementing missing features...
JIRA issue: CORE-19278
- Implement CharLowerNoDBCSA, CharLowerNoDBCSW,
  CharUpperNoDBCSA, and CharUpperNoDBCSW functions.
- Modify shlwapi.spec.
- Add prototypes into <shlwapi_undoc.h>.
- Add CharUpperNoDBCS testcase.
2026-05-03 10:11:56 +09:00
Katayama Hirofumi MZ 0cd3b555b1 [SHLWAPI][SHLWAPI_APITEST][SDK] Support IStream_ReadPidl and IStream_WritePidl (#8918)
Implementing missing features...
JIRA issue: CORE-19278
- Implement IStream_ReadPidl and IStream_WritePidl
  functions.
- Add prototypes to <shlwapi_undoc.h>.
- Add IStreamPidl testcase.
2026-05-03 10:10:27 +09:00
Timo Kreuzer 7ab226a130 [ROSAUTOTEST] Fix ReactOS detection
bootcdregtest installs ReactOS into "c:\Windows", therefore the old detection method of checking the "Windows" directory no longer works.

A previous change tried to fix this by adding "|| IsReactOS()", but that resolves to CConfiguration::IsReactOS(), which simply returns m_IsReactOS.

Use ::IsReactOS() instead to get our versionhelper function.
2026-04-26 11:22:14 +00:00
Timo Kreuzer e5bf20d865 [USER32_APITEST] Fix stack corruption
Found by /RTC1
2026-04-24 14:17:58 +00:00
Timo Kreuzer 02c744d542 [USER32_WINETEST] Skip a test that breaks ReactOS
Desktops cannot be deleted once they got switched to, so they cause leakage of kernel address space and later failures.
See CORE-20552
2026-04-22 13:11:19 +00:00
Timo Kreuzer c950e66c31 [USER32_WINETEST] Fix usage of non-conforming swprintf
The code is using the conforming version, but _CRT_NON_CONFORMING_SWPRINTFS was defined, which caused it to crash. After removing the definition, MSVC throws a warning about an invalid argument for the format string, so fix that as well.
2026-04-22 13:11:19 +00:00
Max Korostil feb9febaae [WIN32KNT_APITEST][NTUSER] Fix NtUserConvertMemHandle BSOD (#7878)
Fix NtUserConvertMemHandle BSOD.

JIRA issue: CORE-18121
2026-04-12 19:10:34 -05:00
Mark Jansen a409e5dcd8 [EXPLORER-OLD] Retire explorer-old 2026-04-05 21:31:08 +02:00
Justin Miller e68ebe19c6 [NTDLL] Revert Implict ThreadLocalStorage for now (#8823)
We will continue with this stuff when we can understand the root issues better

* Revert "[NTDLL_APITEST] Relicense implicit tls tests as MIT"

This reverts commit ec6bae2b31.

* Revert "[NTDLL:LDR] Add Implicit Thread Local Storage Support (#7594)"

This reverts commit 23043ce0b8.
2026-04-01 13:56:00 +02:00
Carl J. Bialorucki ec6bae2b31 [NTDLL_APITEST] Relicense implicit tls tests as MIT
Approval from original author given to Carl Bialorucki in writing.
2026-03-31 16:56:51 +02:00
Shane FournierandJustin Miller 23043ce0b8 [NTDLL:LDR] Add Implicit Thread Local Storage Support (#7594)
Before Windows Vista, TLS directories were ignored by Ldr* in any module loaded after process creation, which meant that the TLS index in any delay-loaded module remained 0. This means that when running an application targeting Vista and above and its delay-load modules have TLS directories, the following events can happen:

    One or more delay-load modules claim ThreadLocalStoragePointer idx 0, resulting in data corruption and possible buffer overflows as data intended for one of the immediate-load modules is overwritten.

    None of the immediate-load modules has a TLS directory, so ThreadLocalStoragePointer is not initialized. This means that the program crashes when one of the delay-load modules attempts to access its TLS data.

Adding implicit TLS support improves support for NT 6.x/10 user-mode applications, including all contemporary major web browsers.

JIRA issue: CORE-19413

---------

Co-authored-by: Justin Miller <[email protected]>
2026-03-31 11:21:57 +00:00
Hermès Bélusca-Maïto e4aaf68c2d [KERNEL32][KERNEL32_APITEST] Remove trailing whitespaces
Addendum to commit 5e998de248.
2026-03-30 13:54:37 +02:00
Julen Urizar Compains 5e998de248 [KERNEL32][KERNEL32_APITEST] Fix the pipe buffer overflow situation into Iosb.Status in the ReadFile (#6724)
Change the way ReadFile and NTReadFile behaves under ReactOS, and fit more what Wine does. Fixes Calibre conversion failure. JIRA issue: CORE-17376
2026-03-30 12:01:28 +02:00
Justin Miller ddef59e124 [ROSTESTS] Resolve some WHS issues after the last few PRs (#8809)
* [WINETESTS:UIAUTOMATIONCORE] Add wineheaders to dependencies
* [ROSTESTS] Don't use kernel32_vista - Just gate UIAutomationCore tests
2026-03-30 07:14:05 +00:00
Hermès Bélusca-Maïto a4621bb280 [NTOS:PS][NTDLL_APITESTS] Implement ThreadNameInformation for NtQuery/SetInformationThread() (#8484)
The `ThreadNameInformation` (#38) class is the Windows 10.1607+ way
of assigning a human-readable name (i.e. description) to a given
thread object, that is visible to debuggers and diagnostic tools
(e.g. WinDbg `!thread` command, Process Explorer ...), which is
useful for debugging scenarios.[^1]

Before this, the only way to assign a name to a thread for debugging
purposes was to raise a specific exception, that had to be caught and
interpreted by a supported debugger.[^2][^3]

When the thread object is being deleted (`kill.c!PspDeleteThread()`),
free the thread name if set (courtesy of Ahmed Arif, PR #8796).

References:
[^1]: https://learn.microsoft.com/en-us/visualstudio/debugger/tips-for-debugging-threads
[^2]: https://learn.microsoft.com/en-us/archive/blogs/stevejs/naming-threads-in-win32-and-net
[^3]: https://ofekshilon.com/2009/04/10/naming-threads/
2026-03-29 19:35:34 +02:00
Hermès Bélusca-Maïto 401f3a8a79 [NTDLL_APITEST] Add a test for Nt[Query|Set]InformationThread(ThreadNameInformation) (#8484)
Thanks to 'artDev', 'HP-12C', and 'julenuri' Discord contributors for their help!
2026-03-29 16:52:31 +02:00
Hermès Bélusca-Maïto 2e1a0b73c9 [NTDLL_APITEST][NTOS:PS] Adjust probelib.c test code to skip non-implemented Win7+ thread information classes
Re-enable in ps_i.h the stubbed probing info values for thread information
classes, that were disabled in commit 60aad33ed0 (PR #8487), and adjust
the test code in probelib.c so that the failures for these non-implemented
classes are correctly taken into account.
2026-03-29 16:52:07 +02:00
Hermès Bélusca-Maïto a2a434e8d5 [NTDLL_APITEST] Minor formatting for probelib.c 2026-03-29 16:52:06 +02:00
winesync ac322153b6 [WINHTTP] Winesync to Wine-10.0 2026-03-28 11:35:17 -07:00
Ahmed Arif 5817ab8f4f [NTDLL_WINETEST] Fix InterlockedIncrement incompatible pointer type in exception test (#8781)
Fix int to LONG type mismatch for InterlockedIncrement in test_restore_context, fixing GCC 15 -Wincompatible-pointer-types error
2026-03-28 17:29:50 +01:00
Mikhail Tyukin 3908cbf5b4 [UIAUTOMATIONCORE] Import from Wine-10.0 (#8708)
* [UIAUTOMATIONCORE] import from wine-10.0
* [DXDIAG] fix build after sync

Used in many NT6+ applications like web browsers. This dll "enables assistive technology products, such as screen readers, to provide information about the UI to end users and to manipulate the UI by means other than standard input. UI Automation also allows automated test scripts to interact with the UI" according to msdn.
2026-03-28 14:17:27 +00:00
Carl J. Bialorucki 20d322fcdc [USER32_APITEST_MENUUI] Don't let rosautotest wait on a test list from user32_apitest_menuui.exe (#8469)
- [USER32_APITEST_MENUUI] Return an empty test list when called with --list
NOTE: The better way to fix this is to move this executable to \reactos\bin\suppl. But that requires some refactoring of tests already in our source tree.
2026-03-23 18:32:52 -05:00
Hermès Bélusca-Maïto dc8f9b8671 [SDK_APITEST] Revert "Fix initializing global variables" commit; improve the delayimp_apitest (#8462)
CORE-10935

- This reverts commit 522e9f6dd3.

- Implement Mark's suggestion given in PR #7784,
  https://github.com/reactos/reactos/pull/7784#pullrequestreview-2722604928

  Build three binary versions of the delayimp_apitest, named:
  delayimp_nohook_apitest, delayimp_globalhook_apitest, and delayimp_runtimehook_apitest,
  that respectively are:

  - "nohook": delayload is used, but neither of the hook/failurehook is defined;
  - "globalhook": delayload is used, and the hooks are assigned at global scope;
  - "runtimehook": delayload is used, and the hooks are assigned at runtime.

- Since the delayimp apitests are self-contained, don't use the separate
  testlist.c file. It is temporarily unused, until other SDK-specific tests
  are added in this directory.

## Testing observations:

GCC build (tested with KVM x86): binutils doesn't create specification-compliant
`IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT` table for delay-loaded imports, and as a
result, the tests show:
```
delayimp.cpp:472: Tests skipped: No IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT found,
  some advanced features might not work!
```
Additionally, both `SymGetOptions` and `MapAndLoad` tests are skipped "until
CORE-6504 is fixed", as claimed. _**This doesn't happen for MSVC builds.**_
2026-03-22 17:14:40 +01:00
Hermès Bélusca-Maïto 67e331a88d [DBGHELP_APITEST] Revert "Fix initializing global variables" commit (#8462)
This reverts commit 522e9f6dd3.
2026-03-22 16:57:46 +01:00
Timo Kreuzer 7cc4459d3c [SDK] wine/test.h: reduce diff to wine-10.0 (#8710)
* test.h: remove obsolete wine specific definitions - __winetest_cdecl, __winetest_va_* aren't used anymore
* Add missing winetest_ prefixes
* Rename winetest_get_thread_data
* Update global variables
* Move winetest_thread_data
* Make winetest_get_thread_data extern
* [ISAPNP_UNITTEST] Use static inline instead of FORCEINLINE (GCC complains when a non-static inine function calls a static inline function)
* Move winetest_win_skip and make it static
* Move winetest_start_todo and make it static inline
* Move winetest_start_todo and make it static inline
* Move winetest_get_failures and winetest_add_failures and make them static
* Add winetest_print_lock and winetest_print_unlock
* Add winetest_get_time and winetest_elapsed
* Add flaky support
* Add exc_filter and running_under_wine
* Move reactos specific things together
2026-03-20 20:02:12 +00:00
Timo Kreuzer 782ffca2ce [ROSTESTS] Disable GCC 13 misleading-indentation warning
This warning is caused by todo_wine, etc.
2026-03-18 17:29:12 +02:00
Timo Kreuzer db5bf7c828 [D3DX9_WINETEST] Disable GCC 13 sizeof-array-div warning
C:/ReactOS/reactos/modules/rostests/winetests/d3dx9_36/mesh.c: In function 'test_update_semantics':
C:/ReactOS/reactos/modules/rostests/winetests/d3dx9_36/mesh.c:4837:34: error: expression does not compute the number of elements in this array; element type is 'D3DVERTEXELEMENT9' {aka 'struct _D3DVERTEXELEMENT9'}, not 'int' [-Werror=sizeof-array-div]
 4837 |     for (i = sizeof(declaration0)/sizeof(*decl_mem); i < sizeof(declaration)/sizeof(*decl_mem); i++)
      |                                  ^
C:/ReactOS/reactos/modules/rostests/winetests/d3dx9_36/mesh.c:4837:42: note: add parentheses around '*decl_mem' to silence this warning
 4837 |     for (i = sizeof(declaration0)/sizeof(*decl_mem); i < sizeof(declaration)/sizeof(*decl_mem); i++)
      |                                         ~^~~~~~~~~~
      |                                         (          )
C:/ReactOS/reactos/modules/rostests/winetests/d3dx9_36/mesh.c:4667:23: note: array 'declaration0' declared here
 4667 |     D3DVERTEXELEMENT9 declaration0[] =
      |                       ^~~~~~~~~~~~
2026-03-18 17:29:12 +02:00
Timo Kreuzer 96a365e27d [ROSAUTOTEST] Fix invalid use of delete operator
Fixes GCC 13 warning:

C:/ReactOS/reactos/modules/rostests/rosautotest/tools.cpp: In function 'std::wstring AsciiToUnicode(const char*)':
C:/ReactOS/reactos/modules/rostests/rosautotest/tools.cpp:231:12: error: 'void operator delete(void*)' called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
  231 |     delete UnicodeString;
      |            ^~~~~~~~~~~~~
2026-03-18 17:29:12 +02:00