Commit Graph

2392 Commits

Author SHA1 Message Date
Timo Kreuzer
50985d9702 [NTDLL_APITEST] Add a test for RtlGetProductInfo 2026-05-19 14:40:01 +00:00
Timo Kreuzer
ae71db5608 [GDIPLUS] Sync to Wine-10.0 2026-05-16 10:43:08 +00:00
Timo Kreuzer
e62eea07f8 [GDIPLUS_WINETEST] Skip failing tests on Vista 2026-05-16 10:43:08 +00:00
Timo Kreuzer
04c7639769 [GDIPLUS_WINETEST] Fix crash on Vista
GdipDrawImageFX isn't available pn Vista
2026-05-16 10:43:08 +00:00
Timo Kreuzer
e6a61fb3c7 [GDIPLUS_WINETEST] Sync to Wine-10.0 2026-05-16 10:43:08 +00:00
Timo Kreuzer
632b09f55e [SDK] include/wine/test.h: add __wine_dbg_strdup
Taken from wine-10.0
2026-05-16 10:43:08 +00:00
Timo Kreuzer
f530cf99a0 [ROSTESTS] Get rid of some test lists 2026-05-15 16:50:48 +00:00
Timo Kreuzer
151c67ebfc [ROSTESTS] Implement automatic test discovery
This uses the START_TEST macro to create test entries in a ".test" section in the binary.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
104d889c7a [ROSTESTS] Do not compile tests that should not run
With automatic test list creation, whatever is built will also run.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
dd27d0e194 [APITESTS] Make sure test functions are name correctly
With automatic test list creation, the function name (from START_TEST(name)) will also be the test name and some of those conflict with wine tests.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
5f51f24697 [CRT_APITEST] Improve some tests
This is needed to automatically derive the test name from START_TEST.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
86ced29104 [DELAYIMP_APITEST] Fix crash on Vista x64
For some reason on Vista x64 0xdeadbeef isn't detected as an invalid handle and the whole thing crashes. INVALID_HANDLE_VALUE on the other hand is detected as an invalid handle, so use that.
2026-05-15 13:31:25 +00:00
Stanislav Motylkov
b24dd41549 [KERNEL32_APITEST] Add tests for EnumSystemCodePages (#8986)
Inspired by PoC test code by Aliaksandr in CORE-20535.
These tests are passing on Windows.

Co-authored-by: Aliaksandr Lebiadzevich <bsalex2025@gmail.com>
2026-05-14 11:32:25 +03:00
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
3b7960e2f8 [FRAG] Fix usage of non-conforming swprintf 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 Kreuzer
35bd6f97b5 [NTDLL_WINETEST] Sync to wine-10.0
Co-authored-by: Carl J. Bialorucki <carl.bialorucki@reactos.org>
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
Hermès Bélusca-Maïto
b2e33f26eb [REACTOS] Merge our bootcd and livecd into an all-in-one ReactOS BootCD (#7313)
CORE-9069, CORE-13525, RELEASE-11

This new BootCD contains the functionality of both the original bootcd
(text-mode 1st-stage installer) and the livecd (that will include the
1st-stage GUI installer later).
Our separate livecd ISOs become obsolete, and this completely removes
the need for the so-called "hybridcd" ISO.

Some details:

- The "hybridcd" build target is completely removed, since now the new
  BootCD *is* basically what we used to call "hybridcd".

- The "livecd" build target is kept so far (to minimize the code changes),
  but internally I start to refer to it as "LiveImage", and is reduced
  to a minimum.

  A minimal non-bootable "liveimg.iso" is built (but currently not
  included within the BootCD). Its purpose will be to implement the
  "ReactOS Live" functionality as a RAMDISK.
  (We currently don't support other file formats apart from ISO and
  flat disk for a RAMDISK).

  The "ReactOS Live" (non-RAMDISK) is implemented by adding to the
  BootCD file tree the files from the LiveImage.
  These files add two root directories, "Profiles" and "reactos"
  (which is the SystemRoot for the non-ramdisk LiveImage).

- The minimal text-mode ReactOS installation used for the 1st-stage
  installer, including USETUP itself, and the executable for the
  1st-stage GUI installer and the reactos.cab (installation source),
  are moved to the root directory called "i386" (ideally, one directory
  per architecture).

- The "bootcdregtest" target, i.e. the ISOs we feed our testbots with,
  are left untouched, i.e. they are only constituted of the 1st-stage
  text-mode installation only, but placed in a per-architecture root
  directory ("i386", etc. as for the bootcd).

- Remove the ACPI APIC/SMP entries from bootcd.ini. They will be made
  available via the Advanced Boot Options F8 menu in Debug builds, for
  testing purposes only, in a subsequent commit.

This commit is based upon an older SVN one:
svn path=/branches/setup_improvements/; revision=75273
2026-04-28 23:11:10 +02: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 Fournier
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 <justin.miller@reactos.org>
2026-03-31 11:21:57 +00:00
Hermès Bélusca-Maïto
7331a0186d [SYSTEMINFO] Improve imports, includes, LP* -> P*, etc.
`LoadStringW(NULL, ...)` == `LoadStringW(GetModuleHandle(NULL), ...)`
for all purposes.
2026-03-30 16:02:59 +02: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