Commit graph

313 commits

Author SHA1 Message Date
Colin Finck f3ea8225cb [PRINTING] Implement the undocumented MarshallDownStructure, MarshallDownStructuresArray, MarshallUpStructure, and MarshallUpStructuresArray to the extent I need and could find out through black-box testing.
PDBs reveal that these functions are also used in winspool.drv, but not imported from spoolss.dll to retain the client/server architecture.
As winspool.drv highly benefits from the MarshallUp* functions, I put them in a source file shared between spoolss.dll and winspool.drv.

The added API Tests cover my testing and all implemented features.
One more item done from https://reactos.org/wiki/Printing !
2018-01-17 10:13:25 +01:00
Timo Kreuzer a2f7de7ee8
Amd64/misc 64bit fixes (#236)
[REACTOS] Misc 64 bit fixes

* [NTOS:MM] Allow MEM_DOS_LIM in NtMapViewOfSection on x64 as well
* [NTOS:MM] Implement x64 version of MmIsDisabledPage
* [HAL] Remove obsolete code
* [NTOS:KE] Fix amd64 version of KeContextToTrapFrame and KeTrapFrameToContext
* [XDK] Fix CONTEXT_XSTATE definition
* [PCNET] Convert physical address types from pointers to PHYSICAL_ADDRESS
2018-01-01 12:07:50 +01:00
Mark Jansen cb885480b2 [SHLEXTDBG] Add utility to run / debug shell extensions.
CORE-7684 #234
2017-12-31 14:56:22 +01:00
Mark Jansen 4bdc74bf5d [COM_APITEST] Add zipfldr tests.
CORE-7684 #234
2017-12-31 14:56:22 +01:00
Thomas Faber 2cb0c129a6
[KMTESTS] Use KeClearEvent instead of KeResetEvent where the previous state is not needed. 2017-12-30 11:46:14 +01:00
Katayama Hirofumi MZ 89f9c9101a
[TRANSLATION] Use correct font name in Korean resources, CORE-9566 (#228).
Localized resources should use the correct Korean fonts that are most suitable
for UI and compatible with Windows.
2017-12-29 01:51:15 +01:00
Katayama Hirofumi MZ e9d8fa57c3
[TRANSLATION][BASE][FDEBUG][MODULES][WIN32SS] Use correct font name in Chinese resources, CORE-9566 (#227).
Localized resources should use the correct Traditional/Simplified Chinese fonts
that are most suitable for UI and compatible with Windows.
2017-12-29 01:51:06 +01:00
Colin Finck 3b93ba0f31 [LOCALSPL] Fix parameter handling in LocalSetJob and add tests for the few ways we can easily test this function.
Yes, it checks the input handle and doesn't fail if an invalid level is given, because someone may still send a Command.
This also fixes CORE-12794. Thanks for reporting!
2017-12-25 14:30:47 +01:00
Mark Jansen 9187a81538 [ATL_APITEST] Add a test for CComBSTR.Attach/Detach 2017-12-25 14:00:51 +01:00
Mark Jansen bccdcded28 [ATL_APITEST] Add a test for CString.AllocSysString 2017-12-25 14:00:51 +01:00
Amine Khaldi a66bbfa92c [SHELL32_APITEST] Rename TestShellFolder, test_data and Tests. #179 2017-12-25 13:33:33 +01:00
Giannis Adamopoulos 1db8bd46d6 [NTDLL_APITEST] -Add a hacky Microsoft.Windows.GdiPlus.manifest.
This is needed because ntdlltest.manifest has a dependency
on gdiplus and won't load because we don't have it in winsxs.
Eventually this must be removed.
2017-12-24 21:19:03 +02:00
Giannis Adamopoulos 7059421a23 [NTDLL_APITEST] Add several tests for RtlDosApplyFileIsolationRedirection_Ustr 2017-12-24 21:19:03 +02:00
Pierre Schweitzer fc921423f3
[VFD] Add support for installing driver from System32\drivers.
Patch by Doug Lyons.

CORE-14090
2017-12-23 09:34:34 +01:00
Mark Jansen f941c78f50 [ATL_APITEST] Show that CComObject's COM_MAP continues enumeration after a failing blind function. 2017-12-21 21:37:54 +01:00
Amine Khaldi 7ce46d59b4 [WINDOWSCODECS_WINETEST] Add a PCH. 2017-12-21 13:57:22 +01:00
Amine Khaldi d3626819e6 [MSXML3_WINETEST] Add a PCH. 2017-12-21 13:55:57 +01:00
Amine Khaldi ffd9617271 [DSOUND_WINETEST] Add a PCH. 2017-12-21 13:53:36 +01:00
Amine Khaldi 0b21a561cd [DINPUT_WINETEST] Add a PCH. 2017-12-21 13:45:22 +01:00
Amine Khaldi b09a63709b [WS2_32_APITEST] Improve the existing PCH and make use of it. 2017-12-21 13:36:04 +01:00
Amine Khaldi 823270e608 [ATL_APITEST] Add a PCH. 2017-12-21 13:31:24 +01:00
Amine Khaldi 9317220c00 [SHLWAPI_WINETEST] Add a PCH. 2017-12-20 13:36:27 +01:00
Amine Khaldi e32018ba19 [SHELL32_WINETEST] Add a PCH. 2017-12-20 13:29:32 +01:00
Amine Khaldi de6d0f24bc [OLEAUT32_WINETEST] Add a PCH. 2017-12-20 13:21:11 +01:00
Amine Khaldi 2cd1c84f7f [OLE32_WINETEST] Add a PCH. 2017-12-20 13:13:26 +01:00
Amine Khaldi a76e7d13e2 [NTDLL_WINETEST] Add a PCH. 2017-12-20 13:07:06 +01:00
Amine Khaldi 9cfa608dcf [MSVCRT_WINETEST] Add a PCH. 2017-12-20 12:57:58 +01:00
Mark Jansen cba274350e [BROWSEUI_APITEST] Add tests for IACLCustomMRU.
CORE-9281
2017-12-18 23:17:17 +01:00
Mark Jansen 8aaa5eea75 [COM_APITEST] Add IACLCustomMRU 2017-12-18 23:17:17 +01:00
Amine Khaldi 4cfc324cd1 [MSI_WINETEST] Add a PCH. 2017-12-18 13:48:13 +01:00
Amine Khaldi ba54c5644e [MSHTML_WINETEST] Add a PCH. 2017-12-18 13:43:24 +01:00
Amine Khaldi 98ca8ad114 [KERNEL32_WINETEST] Add a PCH. 2017-12-18 13:28:00 +01:00
Amine Khaldi e36cf4acaf [APITESTS][WINETESTS] Addendum to the recent PCH work. 2017-12-18 13:21:47 +01:00
Amine Khaldi 284a839dbd [COMCTL32_WINETEST] Add a PCH. 2017-12-17 13:40:43 +01:00
Amine Khaldi 8ed8eec17c [SHELL32_APITEST] Improve the existing PCH and make use of it. Convert AddCommas.c to c++ in order to have it benefit from the PCH. 2017-12-17 13:31:22 +01:00
Amine Khaldi 95ec9464d3 [GDI32_WINETEST] Add a PCH. 2017-12-17 13:20:00 +01:00
Amine Khaldi cded6efd75 [GDIPLUS_WINETEST] Add a PCH. 2017-12-17 13:14:57 +01:00
Amine Khaldi 5bd2230dc8 [CRYPT32_WINETEST] Add a PCH. 2017-12-17 12:33:39 +01:00
Amine Khaldi 0622ce1775 [COMDLG32_WINETEST] Add a PCH. 2017-12-17 12:28:41 +01:00
Amine Khaldi 71ddf5374a [ADVAPI32_WINETEST] Add a PCH. 2017-12-17 12:24:27 +01:00
Amine Khaldi 3bf31bf2ab [WIN32KNT_APITEST] Improve the existing PCH and make use of it. 2017-12-17 12:17:37 +01:00
Pierre Schweitzer 132c7d926b
[VFD] Remove no longer required ReactOS specific change
CORE-14090
2017-12-16 22:53:32 +01:00
Hermès Bélusca-Maïto acabbb7b85
[VFDLIB] Fix preprocessor directive compilation error when being used inside a macro expansion on MSVC. 2017-12-16 22:48:50 +01:00
Hermès Bélusca-Maïto e7b2aa65d2
[VFD] Fix build on MSVC2010. 2017-12-16 22:34:20 +01:00
Pierre Schweitzer 2a146533a5
[VFD] Fix build 2017-12-16 22:00:41 +01:00
Pierre Schweitzer 753d87468c
[VFD] Build with debug information on debug builds
CORE-14090
2017-12-16 21:57:11 +01:00
Pierre Schweitzer 25c7e1a8d0
[VFD] Import the VFD project (Virtual Floppy Drive) which allows creating virtual
floppy drives in ReactOS and mount images on them.
Only the cmd got imported. The GUI interface may come later on.
Note that, as for vcdrom, the driver is left disabled and you need to explicitely
start it through vfd command line interface.

CORE-14090
2017-12-16 21:48:34 +01:00
Pierre Schweitzer 72094e637d
[KERNEL32_APITEST] Add a test for FormatMessage backed with MC file. 2017-12-16 19:43:29 +01:00
Amine Khaldi e00cc9728c [KERNEL32_APITEST] Add a PCH. 2017-12-13 13:48:26 +01:00
Amine Khaldi 3543c43252 [COM_APITEST] Improve the existing PCH and make use of it. 2017-12-12 13:01:03 +01:00
Amine Khaldi 24f8946956 [ADVAPI32_APITEST] Add a PCH. 2017-12-12 12:44:32 +01:00
Pierre Schweitzer 1f2db8fab9
[VCDCLI] Fix typo 2017-12-10 23:44:19 +01:00
Colin Finck 3a69fd4e96 [PRINTING] Fix GetPrinterW, add tests for it and GetDefaultPrinterA/W, and add a proper stub for GetPrinterDriverDirectoryA.
* Pass the correct handle to _RpcGetPrinter in GetPrinterW.
* Pass an empty string instead of a NULL pointer as wszComputerName to the GetPrinterLevel* functions, because this variable is later used as source for StringCbCopyExW.
* Don't check for GetLastError() == ERROR_SUCCESS in tests. Windows apparently only sets the last error in case of failure.
  The Printing code should probably be changed similarly in a future commit.

Should fix CORE-14072
2017-12-10 12:28:08 +01:00
Amine Khaldi eafa77f30a [GDI32_APITEST] Properly add CreateDIBPatternBrush.c to the source files list instead of relying on CMake to do so. 2017-12-09 20:03:08 +01:00
Amine Khaldi de793ea5d6 [USER32_WINETEST] Add a PCH. 2017-12-09 13:58:55 +01:00
Mark Jansen 4ac511405f [SHELL32_APITEST] Add test for SHCreateFileExtractIconW
CORE-14082
2017-12-09 11:56:42 +01:00
Serge Gautherie a11841c939
[NTDLL_APITEST] Create Test_NtFreeVirtualMemory_Parameters(). CORE-13126
- Test 4th parameter ("ULONG FreeType") invalid values.
2017-12-08 09:47:44 +01:00
Thomas Faber 4aabe88288
[NTDLL_APITEST] Add license header for NtFreeVirtualMemory.c 2017-12-08 09:47:42 +01:00
Amine Khaldi 9b349f958c [ADVAPI32_APITEST][NTDLL_APITEST][WINDOWSCODECS] Comment out some unused functions and types. Silences some clang-cl warnings. 2017-12-08 00:22:05 +01:00
Amine Khaldi 00124d1b1a [CMAKE/CLANG-CL] Silence some clang-cl warnings in consistency with our gcc build. 2017-12-07 21:53:45 +01:00
Serge Gautherie 6fe9441d32
[NTDLL_APITEST] Allow the test to load on Windows XP. ROSTESTS-293 2017-12-07 09:54:53 +01:00
Pierre Schweitzer 4296826c58
[VCDCLI] Add support for UDF/Joliet hidding.
By providing /u or /j switch on mount, the virtual CD-ROM class driver
will break the associated signatures on read so that FSDs cannot recognize them any longer.
2017-12-05 21:41:05 +01:00
Stanislav Motylkov df88fcf5cc [SHELL32_APITEST] SHParseDisplayName: More tests for relative paths 2017-12-05 10:48:37 +02:00
Stanislav Motylkov 5dade73072 [BROWSEUI_APITEST] Improve tests for relative paths 2017-12-05 10:48:37 +02:00
Stanislav Motylkov d6e0c422e1 [IPHLPAPI_APITEST] Add tests for interface resolving functions
CORE-13831, CORE-14033
2017-12-03 21:08:31 +01:00
Pierre Schweitzer 581f32b8c2
[VCDCLI] Implement a tool that allows managing vcdrom class driver.
It allows you managing virtual drives, mounting images, ejecting images, and so on.

It will load the driver when required.

It's less features complete that the MS GUI implementation.
I'll implement them later on, it can be quickly done.
What's missing: UDF/Joliet suppr and persistent mounts
2017-12-03 18:17:57 +01:00
Pierre Schweitzer 6906e184bb
[VCDROM] Implement the virtual CD-ROM class driver.
It was provided by MS as a separate package to download for Windows (up to 7).
That class driver allows creating virtual drives on which we can later mount ISOs images.
It's rather basic, but does the job.

To use it, you can use the GUI app from Microsoft (Virtual CD-ROM Control Panel)
or the vcdcli in CLI. We're compatible :-).

Note that it's not loaded at boot, you need to manually start it, to lower memory footprint.
Both applications will handle this for you.
2017-12-03 18:17:45 +01:00
Amine Khaldi c39b0fc667 [USER32_APITEST] Add a PCH. 2017-12-02 22:18:06 +01:00
Amine Khaldi 283bbe7346 [NTDLL_APITEST] Add a PCH. 2017-12-02 22:15:04 +01:00
Amine Khaldi aee83c359c [GDI32_APITEST] Add a PCH. 2017-12-02 22:14:47 +01:00
Thomas Faber a22031dba6
[WINHTTP_WINETEST] Skip test_persistent_connection due to hang. CORE-14056 ROSTESTS-295 2017-12-02 14:18:26 +01:00
Thomas Faber ec0b69ad40
[WININET_WINETEST] Skip test_redirect and test_persistent_connection due to hang. CORE-14055 ROSTESTS-294 2017-12-02 13:49:09 +01:00
Amine Khaldi ed3bdb44f5 [DLLIMPORT_TEST] Skip this module in the clang-cl build until framedyn is back in it. CORE-11799 2017-11-24 12:07:56 +01:00
Giannis Adamopoulos b4d691ba96 [BUTTONVISTEST] Add visual tests for buttons 2017-11-22 11:34:29 +02:00
Ged Murphy dfb776380d
[FLTMGR] Latest from my branch (#135)
[FLTMGR][KMTEST] 
Squash and push my local branch across to master as the patch is getting a bit large. This is still WIP and none of this code is run in ros yet, so don't fret if you see ugly/unfinished code or int3's dotted around.

[FLTMGR] Improve loading/reg of filters and start to implement client connections
- Implement handling of connections from clients
- Implement closing of client ports
- Add a basic message waiter queue using CSQ's (untested)
- Hand off messages for the comms object to be handled by the comms file
- Initialize the connection list
- Add a registry file which will contain lib functions for accessing filter service entries

- [KMTEST] Initial usermode support for testing FS mini-filters
- Add base routines to wrap the win32 'Filter' APis
- Add support routines to be used when testing FS filter drivers
- Move KmtCreateService to a private routine so it can be shared with KmtFltCreateService
- Completely untested at the mo, so likely contains bugs at this point
- Add support for adding altitude and flags registry entries for minifilters
- Allow minifilters to setup without requiring instance attach/detach callbacks
- Add tests for FltRegisterFilter and FltUnregisterFilter and start to add associated tests
2017-11-21 16:36:29 +00:00
Hermès Bélusca-Maïto aa04c84f62
[ROSTESTS] Move the tests unsupported by rosautotest under a "suppl" (supplementary) sub-directory of "reactos/bin".
Indeed, rosautotest has an annoying tendency to fail with:
    Invalid test file name: <testname>.exe
    SYSREG_ROSAUTOTEST_FAILURE
when <testname>.exe is a test that do not comply with the rosautotest
interface.
This is indeed the case for all the tests under /rostests/win32/, with the
exception of cmd_rostest.

Addendum to 8dd89c7.
2017-11-17 01:26:02 +01:00
Hermès Bélusca-Maïto 8dd89c7cfc
[ROSTESTS] Start adding ReactOS-owned tests for cmd.exe, based on Wine's.
CORE-7998

Based on Wine's cmd_winetest code, this first bunch of tests check how the
"for" command should process the newlines inside its parenthesed set.
Adapted by Doug Lyons.
2017-11-17 00:58:45 +01:00
Serge Gautherie bcaa33e33b
[USETUP][ROSAPPS][EXT2LIB] NtReadFile() calls: Remove unused 'ByteOffset = 0', Use explicit NULL instead of ambiguous 0, Remove casts to same type. CORE-13910 2017-11-03 15:02:16 +01:00
Ged Murphy b10dd06aa5 [KMTEST] Initial usermode support for testing FS mini-filters (#81)
* [KMTEST] Initial usermode support for testing FS mini-filters
- Add base routines to wrap the win32 'Filter' APis
- Add support routines to be used when testing FS filter drivers
- Move KmtCreateService to a private routine so it can be shared with KmtFltCreateService
- Completely untested at the mo, so likely contains bugs at this point
2017-10-25 10:39:55 +01:00
Amine Khaldi f7932ba2de [NTDLL_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-23 13:48:05 +01:00
Amine Khaldi 6595983e83 [REGEDIT_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-23 13:47:48 +01:00
Amine Khaldi 8901d24b00 [QEDIT_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-23 13:47:37 +01:00
Amine Khaldi bff534936a [PSAPI_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-23 13:47:21 +01:00
Amine Khaldi 3ce9d8ab17 [OPENGL32_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-23 13:47:02 +01:00
Amine Khaldi b8549aef08 [MMDEVAPI_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 14:10:14 +01:00
Amine Khaldi 8856b0bde3 [WMIUTILS_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 14:08:03 +01:00
Amine Khaldi ddb53a4bab [UXTHEME_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 14:01:30 +01:00
Amine Khaldi 7a90aee56c [SHLWAPI_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 14:00:13 +01:00
Amine Khaldi 684625e49f [QMGR_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 13:33:33 +01:00
Amine Khaldi 2f9927dddc [PDH_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 13:22:17 +01:00
Amine Khaldi 6c2597df71 [ODBCCP32_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 13:15:59 +01:00
Amine Khaldi 3a06e69a11 [MSXML3_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 13:14:13 +01:00
Amine Khaldi 959d60f54a [MPR_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-21 13:11:27 +01:00
Amine Khaldi 68eadadcc6 [SHELL32_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-19 22:30:28 +01:00
Amine Khaldi 867a81a46b [MSVCRT_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-19 22:30:16 +01:00
Amine Khaldi 9a436e2dfa [KERNEL32_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-19 22:29:35 +01:00
Pierre Schweitzer 3a33ab9638 [NTDLL_APITEST] Add simple tests for RtlUnicodeStringToAnsiString() that were used to test the kernel32 regression 2017-10-16 22:04:22 +02:00
Pierre Schweitzer eb05356a26 [KERNEL32_APITEST] Add a few tests for GetVolumeInformation that were used to fix previous issues 2017-10-15 10:44:50 +02:00
Ged Murphy 9d15fb9279 Start to implement fltmgr tests [WIP] (#52)
[FLTMGR]
- Partially implement registering contexts
- Add a misc file which contains stubs of the APIs needed in the test suite
- Export some APIs needed by the test suite

[KMTESTS]
- Create a File System Mini-filter wrapper to host drivers for the filter manager tests
- Add a test file which will be used for testing that mini-filters load correctly
- Add a test file which will be used to write tests for IRP_MJ_CREATE requests
2017-10-12 15:32:30 +01:00
Amine Khaldi 561bed7b55 [ADVAPI32_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-08 13:41:17 +01:00
Amine Khaldi 84ccccabe0 [WMVCORE_WINETEST] Import from Wine Staging 2.16. CORE-13762 2017-10-08 11:49:33 +01:00
Amine Khaldi 2f8e6f711c [MSI_WINETEST] Sync with Wine Staging 2.16. CORE-13762 2017-10-08 11:31:31 +01:00
Pierre Schweitzer d788a52c79 [KERNEL32_APITEST]: Add tests for IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME that show its usage is "one-shot". Once queried, it gets forgotten. 2017-10-08 10:12:08 +02:00
Pierre Schweitzer ac8d045461 [KERNEL32_APITEST]: Rewrite DeviceIoControl to test both disk.sys and cdrom.sys 2017-10-07 14:07:06 +02:00
Pierre Schweitzer d3b4f09eb3 [KERNEL32_APITEST]: Fix uninit stack var usage 2017-10-07 12:11:17 +02:00
Pierre Schweitzer a6b61b855c [KERNEL32_APITEST]: Add few tests for IOCTL_MOUNTDEV_QUERY_UNIQUE_ID 2017-10-07 12:09:27 +02:00
Colin Finck da53a9399a [WS2_32_APITEST] Make the apitest fully C89-compliant to fix building under MSVC 2010.
In C89, you can only initialize the first member of a union within a declaration. Unfortunately, that is the S_un_b UCHAR array for the S_un union inside struct in_addr.
So we have to initialize it with each UCHAR member of Address.
2017-10-06 17:33:47 +02:00
Colin Finck 9ebf43567d Add .gitattributes and .gitignore files and normalize line endings in the repository (#10) 2017-10-04 20:37:32 +02:00
Hermès Bélusca-Maïto acdf04bad2 Add .keep guard files in order to restore lost but empty directories we had with SVN.
Note that when you start populating these directories, you can remove the associated .keep guard file(s)!
2017-10-04 10:28:36 +02:00
Hermès Bélusca-Maïto 221ed4cefe Remove unwanted .gitignore files. 2017-10-04 10:28:36 +02:00
Colin Finck 417e262dfc Build rosapps, rostests, wallpapers when their CMake variables are set instead of checking for directory existence.
By default, ReactOS will now build without any of these modules.
You can enable them using e.g. "configure -DENABLE_ROSTESTS=1".
2017-10-03 16:36:59 +02:00
Colin Finck 3d6040615a Make ReactOS report the Git revision as output by "git describe".
- REVISION is now something like "0.4.7-dev-53-g1304b53" instead of "r12345".
- Change WINDOWS_NT_BANNER to better represent the ReactOS version and the reported NT version.
- Introduce REACTOS_COMMIT_HASH which contains the full 40-character commit hash (for comparing revisions, e.g. in rosautotest/testman).
2017-10-03 12:55:38 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00