Commit graph

702 commits

Author SHA1 Message Date
Timo Kreuzer
565828127f [WIN32U_VISTA] Add win32u.dll for Vista 2024-04-22 10:15:40 +02:00
Ratin Gao
f61e14f554 [NTDLL][ADVAPI32][ADVAPI32_APITEST][CRYPTLIB] Add hash API exports for NT6+ and apitests with small fixes
- For NT6.0+, NTDLL exports those hash APIs that ADVAPI32 thunks forward to
- Fix undocumented context structure layout and content
- Add apitests to verify both of hash result and structure content
2024-04-13 12:41:36 +02:00
Katayama Hirofumi MZ
31ce37da2a
[SHELL32][SHELL32_APITEST][SDK] Implement GUIDFromStringA (#6734)
Implementing missing features...
JIRA issue: CORE-19278
- Add GUIDFromString testcase.
- Implement GUIDFromStringA function.
- Add NULL check to GUIDFromStringW.
- Add GUIDFromStringA prototype to "undocshell.h".
2024-04-12 21:29:07 +09:00
Katayama Hirofumi MZ
ff531eaade
[SHLWAPI][SHLWAPI_APITEST] Fix NULL behavior of StrDupA/W (#6720)
Fix wrong behavior of shlwapi!StrDupA and shlwapi!StrDupW functions.
JIRA issue: CORE-19495
Return NULL when lpszStr == NULL.
2024-04-08 09:17:08 +09:00
Timo Kreuzer
c4498d751d [KERNEL32_APITEST] Add test for multiple queued user APCs 2024-04-07 09:14:26 +02:00
Timo Kreuzer
85fc290bb7 [KERNEL32_APITEST] Use InterlockedIncrement for proper synchronization 2024-04-07 09:14:26 +02:00
Timo Kreuzer
ea28951607 [UMKM_APITEST] Add a test for syscall handling
This is intentionally not part of ntdll_apitest, because that links to advapi32, which links to rpcrt4, which (wrongly!) links to ws2_32, which (wrongly!) links to user32, which breaks the test.
2024-04-06 08:14:52 +02:00
Dmitry Borisov
5070e8960a
[ACPI] Fix object evaluation (#6302)
CORE-17256

- Implement support for complex input buffers.
  This will enable the IDE driver with some hack
  to execute the _STM (channel timing settings) control method.
- Fix a memory leak.
- Fix returned status code.
- Correctly calculate the output buffer size.
- Improve buffer validation.
- Implement support for async control requests.
- Implement local reference conversion.
- Implement support for subpackage argument conversion.
- Place some code into INIT section.
2024-04-01 18:21:35 +02:00
Ratin Gao
1cf8759d69
[KERNEL32][KERNEL32_VISTA][KERNEL32_APITEST] Implement and export NT6+ firmware API (#6580)
- Implement `GetFirmwareType` and improve existing API test for it
- Move (Get/Set)FirmwareEnvironmentVariableEx(A/W) to kernel32_vista_static and export them when NT version >= 6.2

Addendum to 4c8a2a8815. CORE-11954
2024-03-30 15:46:34 +03:00
Katayama Hirofumi MZ
84f15b15fb
[SHELL32][SHELL32_APITEST] FindExecutable: Add PRF_FIRSTDIRDEF flag (#6681)
Follow-up to #6635. The directory search without this flag didn't work.
JIRA issue: CORE-19493
- Add PRF_FIRSTDIRDEF flag for PathResolveW call.
- Delete needless macro definitions in PathQualifyExW.
- Remove an assertion in IsLFNDriveW.
- Fix shell32_apitest:FindExecutable testcase.
2024-03-29 11:15:38 +09:00
Katayama Hirofumi MZ
3be8934107
[SHLWAPI_APITEST] Add AssocQueryString testcase (#6648)
JIRA issue: CORE-19493
- Add AssocQueryString testcase.
- Test AssocQueryStringA and AssocQueryStringW
  functions.
2024-03-20 07:37:37 +09:00
Katayama Hirofumi MZ
436cfa94c9
[SHELL32_APITEST] Add RealShellExecuteEx testcase (#6647)
Follow-up to #5849.
JIRA issue: CORE-19278
- Add closewnd.cpp, closewnd.h, and
  RealShellExecuteEx.cpp files.
- In closewnd.cpp, close newly-opened windows.
- Add RealShellExecuteEx testcase.
2024-03-20 07:36:14 +09:00
Katayama Hirofumi MZ
1ad90967d7
[SHELL32_APITEST] Enhance FindExecutable testcase (#6634)
I want to know the details of FindExecutable
behavior.
JIRA issue: CORE-19493
Enhance the tests of return values.
2024-03-18 07:36:17 +09:00
Katayama Hirofumi MZ
4854a1d7b6
[SHELL32_APITEST] ShellExecuteEx: Fix command line checker (#6618)
Follow-up to #6617.
JIRA issue: CORE-19482
Add traces for error checking.
2024-03-15 23:46:14 +09:00
Katayama Hirofumi MZ
ab4c0d6afd
[SHELL32_APITEST] Make ShellExecuteEx testcase stable (#6617)
Making the tests trustworthy.
JIRA issue: ROSTESTS-389
- Enable command line checking.
- Rewrite the tests for better tests.
- Remove dependency with shell32_apitest_sub.
- Close the newly opened windows by Alt+F4 at ending.
2024-03-13 17:09:20 +09:00
Katayama Hirofumi MZ
e6c0081c28
[IMM32_APITEST] Add KLID testcase (#6590)
Confirming keyboard layout
implementation by checking
HKL, KLID, and registry.
JIRA issue: CORE-19268
- Add KLID testcase.
- Check HKLs, KLIDs (Keyboard
  Layout IDs), and related
 registry, with using
  user32!GetKeyboardLayoutList
  function.
2024-03-10 22:36:40 +09:00
Katayama Hirofumi MZ
b383b70089
[SHELL32_APITEST] Improve ShellHook testcase (#6582)
Make shell32:ShellHook testcase stable and trustworthy.
JIRA issue: ROSTESTS-389
- Use real shell hook.
- Delete HSHELL_RUDEAPPACTIVATED tests.
- Add HSHELL_WINDOWDESTROYED tests.
2024-03-08 18:17:09 +09:00
Katayama Hirofumi MZ
0709dff84c
[SHELL32_APITEST] Improve FindExecutable testcase (#6583)
Make shell32:FindExecutable testcase stable and trustworthy.
JIRA issue: ROSTESTS-389
- Reduce dependency with sub-program (instead use copy of
  notepad.exe).
- Simplify.
2024-03-08 17:21:57 +09:00
Katayama Hirofumi MZ
1cc721e6d5
[NTDLL][NTDLL_APITEST] Add LdrLoadDll testcase (#6563)
JIRA issue: CORE-6585
- Add one comment into LdrpLoadDll function.
- Add LdrLoadDll testcase.
2024-03-06 07:58:07 +09:00
Katayama Hirofumi MZ
0d43ce7879
[USER32_APITEST][SDK] Add GW_ENABLEDPOPUP testcase (#6564)
JIRA issue: CORE-6920
- Add GW_ENABLEDPOPUP constant to
  <winuser.h>.
- Add GW_ENABLEDPOPUP testcase.
2024-03-06 07:52:30 +09:00
Katayama Hirofumi MZ
ac870f986d
[SHLWAPI_APITEST] Add SHGetRestriction testcase (#6557)
I have a plan to implement
shell32!SHRestricted correctly.
JIRA issue: CORE-11515
In the testcase:
- Get procedure SHGetRestriction
  from shlwapi.dll.
- Call SHGetRestriction to test and
  check the results.
2024-02-29 20:28:10 +09:00
Katayama Hirofumi MZ
b944563c7b
[SHELL32_APITEST] Add SHRestricted testcase (#6558)
I have a plan to implement
shell32!SHRestricted correctly.
JIRA issue: CORE-11515
- Get SHRestricted and
  SHSettingsChanged procedures
  from shell32.dll.
- Use them and check the results.
2024-02-29 20:26:01 +09:00
Katayama Hirofumi MZ
8ea93d2ab2
[REACTOS] Standardize <imm.h> and <immdev.h> (#6493)
Improve header compatibility and
code quality.
JIRA issue: CORE-19268
- Improve <imm.h> and <immdev.h>
  compatibility by correctly choosing
  the items.
- Use <immdev.h> instead of
  <ddk/immdev.h>.
- Move INPUTCONTEXTDX, IMEINFOEX,
  IMEDPI, and CLIENTIMC into
  <imm32_undoc.h>.
- Adapt to these changes.
2024-02-13 20:33:14 +09:00
Serge Gautherie
2c895c986f
[CMAKE][WIN32U_APITEST] Remove 3 useless 'set_module_type(... IMAGEBASE default)' (#6328)
And add an explicit documentation comment.

Addendum to commit 2b7246fd3.
2024-01-14 16:07:00 +01:00
Timo Kreuzer
d52b70a73e [NTDLL_APITEST] Add test for x86 RtlUnwind 2024-01-13 19:39:23 +02:00
Timo Kreuzer
4c9037fff1 [CRT_APITEST] Fix some Vista+ tests 2024-01-13 15:15:47 +02:00
Thomas Faber
286d460b45
[CRTDLL_APITEST] Oops. Fix that other compiler. CORE-16933 2024-01-12 12:58:27 -05:00
Thomas Faber
c8aba5a172
[CRT_APITEST] Add tests for _mbsncmp and _mbsstr. CORE-16933 2024-01-12 12:36:43 -05:00
Mark Jansen
e8f9564c20
[NTDLL_APITEST] Add test for RtlGetProcessHeaps 2023-12-17 22:28:40 +01:00
Whindmar Saksit
82c07abf1a
[USER32] Support loading icons from data file module (#6065)
GetModuleFileName() fails on LOAD_LIBRARY_AS_DATAFILE causing LoadImage to fail.
Use a fake filename for LR_SHARED (with same format as Windows).
This may not be a good design, but it does match Windows' behaviour.

+ Added test.
2023-12-17 22:11:50 +01:00
Katayama Hirofumi MZ
4bccb6e6c9
[SHELL32][SDK][SHELL32_APITEST] Add PathIsTemporaryA/W (#6067)
- Implement PathIsTemporaryA and
  PathIsTemporaryW functions.
- Add them to <undocshell.h>.
- Add PathIsTemporary testcase.
CORE-19278
2023-12-02 23:07:28 +09:00
Katayama Hirofumi MZ
2aeda3dc15
[SHELL32][SHELL32_APITEST][SDK] Implement PathIsEqualOrSubFolder (#5714)
Implement PathIsEqualOrSubFolder function.
- Add it to <undocshell.h>.
- Add PathIsEqualOrSubFolder testcase.
- Add SHGetPathCchFromIDListW as an
  extension of SHGetPathFromIDListW.
CORE-19278
2023-11-29 22:50:01 +09:00
Doug Lyons
c00d41d91c
[USER32_APITEST] Add test for bad 'Icon Groups' but good 'Icons' such as F1'97 (#6020)
Add test for bad 'Icon Groups' but good 'Icons' such as created
by old versions of Watcom C/C++
That icon shows fine in Windows Explorer WinXP/Win2K3,
but does not show in WinVista/Win7 anymore.
A very special corner case.

We will commit the proposed fix shortly after committing the new test.
2023-11-26 15:26:05 +00:00
Katayama Hirofumi MZ
f3bd8ffb20 [GDI32_APITEST] Strengthen PatBlt with negative values
CORE-19334
2023-11-26 15:31:00 +09:00
Hermès Bélusca-Maïto
6cdaad13bd
Add missing OEMRESOURCE for using the OBM_, OIC_, OCR_ defines from winuser.h
Fix build by commit 072965eb0 for modules:
EXPLORER, COMCTL32, IERNONCE, URLMON, USER32_(API|WINE)TESTS

Note that some of these modules (from Wine) already have the OEMRESOURCE
defined; however, only in one of their files. But we have added
precompiled headers for them where we have included either windows.h
or winuser.h in them, without OEMRESOURCE. The result is, that when
compiling these modules with PCH support, the OEMRESOURCE define was
_not_ satisfied and thus, compile errors arose.

Fix this by adding #define OEMRESOURCE before the windows headers also
in the precompiled headers we have added for these modules.
2023-11-22 17:02:45 +01:00
Serge Gautherie
a5c3bb5bce
[WIN32KNT_APITEST] 2 minor code improvements and a first fix (#5980)
- Update .rc filename; addendum to 7ad21a4 (r70458).
- Move one '#include "resource.h"' around to where it is needed.
  Addendum to e1b2e7a (r29284) then ec5e0ea (r48103).
- Adjust all '#include <win32nt.h>'
2023-11-16 21:57:10 +01:00
George Bișoc
1d8ce79080
[NTDLL_APITEST] Write some tests for NtSetDefaultLocale 2023-11-16 21:09:08 +01:00
Serge Gautherie
7901a4c8fe
[WIN32KNT_APITEST] w32knapi.c: Update dll name (#5977)
Addendum to commits 7ad21a4 (r70458) and bed6d00 (r76026).
2023-11-14 12:14:39 +01:00
Serge Gautherie
8d54c2d433
[WIN32U_VISTA] .def: Delete this obsolete file (#5931) 2023-11-13 11:01:31 +01:00
Timo Kreuzer
2b7246fd3c [CMAKE] Add support for "IMAGEBASE default" and use it for test/sample dlls 2023-11-10 19:20:24 +02:00
Timo Kreuzer
a3d22bba1a [RTL_APITEST] Move RtlIntSafe test from kmtest to rtl_apitest 2023-11-10 19:00:41 +02:00
Timo Kreuzer
bdf52a9868 [RTL_APITEST] Add rtl_unittest
First test is RtlCaptureContext
2023-11-10 19:00:41 +02:00
Timo Kreuzer
520cf2294d [APITESTS] Share ok_eq_* macros between apitests and kmtests
This makes it possible to share sources between kmtest and apitests, e.g. for rtl.
2023-11-10 19:00:41 +02:00
Hermès Bélusca-Maïto
bdae8cf966
[SHLWAPI_APITEST] Fix MSVC compilation warning C4309
SHPropertyBag.cpp(161): warning C4309: 'initializing': truncation of constant value

See https://stackoverflow.com/questions/33333448/warning-c4309-what-does-it-mean-and-can-it-be-ignored-in-this-case
for some details.
2023-10-28 18:19:04 +02:00
Katayama Hirofumi MZ
8669679499
[ATL][ATL_APITEST] Add some missing CRect methods (#5800)
- Strengthen "atltest.h".
- Strengthen atl_apitest:atltypes testcase.
- Implement some missing CRect methods.
2023-10-16 21:57:57 +09:00
Hermès Bélusca-Maïto
2a5fd78f1b
[APPHELP_APITEST] Fix build, addendum to commit a8755711b 2023-10-05 21:32:38 +02:00
Hermès Bélusca-Maïto
a8755711b9
[APPHELP_APITEST] Deduplicate the IsUserAdmin() helper. 2023-10-05 20:58:57 +02:00
George Bișoc
fefb1b7745
[NTDLL_APITEST] Write NtAccessCheck testcase that tests for empty generic mapping scenario
See b79aadd50bb7d5d6f08532284941c0334514c477 for further information.
2023-10-04 18:04:29 +02:00
Doug Lyons
1b3eed58ca
[SHELL32] Fix for shlexec.cpp regressions (#5282)
fixes CORE-18967 'Taskbar toolbar - Right click > Open folder fails'
by restoring the code-path we removed with the guilty 
0.4.15-dev-3847-g /9b716539182864bc077e362febcda74da50287ed 

and add test_sei_lpIDList to shell32:ShellExecuteEx apitest test to protect
that functionality on future attempts to simplify.
2023-09-24 20:35:28 +00:00
Katayama Hirofumi MZ
6c55a3aa2a
[SHELL32][SHELL32_APITEST][SDK] Implement Int64ToString (#5706)
- Implement Int64ToString and LargeIntegerToString functions.
- Add Int64ToString and LargeIntegerToString prototypes to <shellundoc.h>.
- Add Int64ToString testcase.
- I found a bug in GetNumberFormat.LeadingZero.

http://undoc.airesoft.co.uk/shell32.dll/Int64ToString.php
http://undoc.airesoft.co.uk/shell32.dll/LargeIntegerToString.php
2023-09-21 09:14:40 +09:00