Commit graph

935 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
b17ce9c805 [NTDLL_APITEST]: Temporarily disable part of the NtLoad/UnloadKey test (related to force-unload a hive while some handles to subkeys are still opened), because this creates memory corruptions, due to the fact we currently don't perform force-unloads correctly.
CORE-13448

svn path=/trunk/; revision=75138
2017-06-19 19:50:49 +00:00
Mark Jansen
8f2f019415 [APPSHIM_APITEST] Addendum to r75041, add a missed line.
svn path=/trunk/; revision=75131
2017-06-19 15:24:05 +00:00
Colin Finck
a82d7577b3 [PRINTING]
- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.
  They support all features for Print Server and Printer Handles (minus security checks!)
  I've also added tests for them.
- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.
  According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/a683ab54-c43c-4ebe-af8f-1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.
- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.
- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.
- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)
- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)
- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.
- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.
- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.

One more item done from https://reactos.org/wiki/Printing !
This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..

svn path=/trunk/; revision=75125
2017-06-19 14:18:19 +00:00
Thomas Faber
d88cd4165d [PSDK]
- Properly add NTSTATUS code

svn path=/trunk/; revision=75081
2017-06-17 20:26:53 +00:00
Hermès Bélusca-Maïto
7f8dc7dfcc Just use REG_FORCE_UNLOAD since we're at it.
svn path=/trunk/; revision=75079
2017-06-17 20:13:17 +00:00
Hermès Bélusca-Maïto
9808e1ee19 [NTDLL_APITEST]: Add tests for NtLoadKey and NtUnloadKey.
CORE-13448

svn path=/trunk/; revision=75078
2017-06-17 20:08:48 +00:00
Mark Jansen
272bc3ef9f [APITEST] Move RedirectIat into it's own header so that it can be used from multiple tests.
svn path=/trunk/; revision=75041
2017-06-14 15:25:04 +00:00
Mark Jansen
3a302c5330 [APPHELP_APITEST] Addendum to r74986, make the test work on win7. CORE-13284
svn path=/trunk/; revision=75004
2017-06-11 13:09:43 +00:00
Mark Jansen
b8ea78efa1 [WIN32NT_APITEST] Do not assert on a driver without DirectX support.
svn path=/trunk/; revision=75001
2017-06-11 11:47:41 +00:00
Mark Jansen
7583b2b298 [WIN32KNT_APITEST] Do not assert on the result of an unimplemented function.
svn path=/trunk/; revision=74996
2017-06-11 08:51:36 +00:00
Mark Jansen
be0666cf16 [APPHELP_APITEST] Add tests for ApphelpCheckRunApp[Ex], SdbGetMatchingExe, Sdb[Un]PackAppCompatData. CORE-13284
svn path=/trunk/; revision=74986
2017-06-10 20:31:58 +00:00
Mark Jansen
1b27b462ec [SHLWAPI_APITEST] Add PathFindOnPath tests. Patch by Katayama Hirofumi MZ. ROSTESTS-283 #comment Thanks!
svn path=/trunk/; revision=74984
2017-06-10 19:41:31 +00:00
Mark Jansen
d4db41b968 Addendum to r74982, remove some debugging code.
svn path=/trunk/; revision=74983
2017-06-10 17:47:56 +00:00
Mark Jansen
20cbe80c85 [SHELL32_APITEST] Add tests for PathResolve. Patch by Katayama Hirofumi MZ. CORE-12665 #comment Thanks!
svn path=/trunk/; revision=74982
2017-06-10 17:46:11 +00:00
Hermès Bélusca-Maïto
7384a6a1d5 [GDI32_APITEST]: Fix the "missing braces around initializer" GCC error that I've introduced in r74962.
svn path=/trunk/; revision=74966
2017-06-08 19:09:01 +00:00
Hermès Bélusca-Maïto
72c5e65e8c [GDI32_APITEST]: Fix compilation under MSVC 2010.
svn path=/trunk/; revision=74962
2017-06-08 17:00:55 +00:00
Giannis Adamopoulos
759a452d44 [COMCTL32_APITEST] -Make comctl32v5.manifest really point to the v5 library.
svn path=/trunk/; revision=74929
2017-06-05 21:50:21 +00:00
Giannis Adamopoulos
3767fcf5cc Fix gcc build.
svn path=/trunk/; revision=74924
2017-06-05 14:40:48 +00:00
Giannis Adamopoulos
0cfb73fce3 [COMCTL32_APITEST] -Add tests for CCM_GETVERSION and CCM_SETVERSION for the v5 and v6 toolbar control.
svn path=/trunk/; revision=74923
2017-06-05 14:25:37 +00:00
Hermès Bélusca-Maïto
93cfc03633 [SETUPAPI]: Fix a 9-year old bug in the SETUP_CreateClassKey() logic, introduced in r31860, that set a wrong Class name value if the corresponding registry key already existed. The bug was unveiled by my commit r74761.
[SETUPAPI_APITEST]: When selecting another test_class_guid and test_class_name couple via SetupDiClassNameFromGuidA(), check whether this function actually succeeds. Also, improve some error output.

svn path=/trunk/; revision=74916
2017-06-04 18:16:24 +00:00
Thomas Faber
440e3c69e4 [KERNEL32_APITEST]
- Add tests for IsDBCSLeadByteEx. Patch by Katayama Hirofumi MZ.
ROSTESTS-281 #resolve

svn path=/trunk/; revision=74758
2017-06-03 07:05:31 +00:00
Mark Jansen
9a54d4a3a0 [KERNEL32_APITEST] Add test to show that we should not spoil TEB->StaticUnicodeString in CreateProcessA. CORE-10368
svn path=/trunk/; revision=74701
2017-05-30 20:55:15 +00:00
Mark Jansen
440290e1cb [USER32_APITEST] Add more tests to validate messages sent during window creation / modifying of styles. CORE-12052
svn path=/trunk/; revision=74691
2017-05-28 17:40:48 +00:00
Mark Jansen
9386daa570 [USER32_APITEST] Add tests to validate messages sent during window creation / modifying of styles. CORE-12052
svn path=/trunk/; revision=74689
2017-05-28 13:55:05 +00:00
Peter Hater
1c9d856e91 [WS2_32_APITESTS] Add close tests ROSTESTS-279
svn path=/trunk/; revision=74672
2017-05-26 14:02:25 +00:00
Peter Hater
a6a53b4231 [WS2_32_APITESTS] Fix broadcast test ROSTESTS-278
svn path=/trunk/; revision=74671
2017-05-26 14:00:47 +00:00
Peter Hater
a09e47fe40 [WS2_32_APITESTS] Fix broadcast test ROSTESTS-278
svn path=/trunk/; revision=74667
2017-05-26 10:31:50 +00:00
Peter Hater
92ccd9c174 [WS2_32_APITESTS] Add rebind and bind to broadcast tests ROSTESTS-278
svn path=/trunk/; revision=74666
2017-05-26 09:02:08 +00:00
Peter Hater
b2ba90c6b5 [WS2_32_APITESTS] Fix GCC build ROSTESTS-278
svn path=/trunk/; revision=74664
2017-05-26 07:11:13 +00:00
Peter Hater
4214877a10 [WS2_32_APITESTS] Improve bind test output ROSTESTS-278
svn path=/trunk/; revision=74663
2017-05-26 07:08:06 +00:00
Peter Hater
27fe85a2cb [WS2_32_APITESTS] Set the size of addr when calling getsockname ROSTESTS-278
svn path=/trunk/; revision=74655
2017-05-25 15:57:38 +00:00
Peter Hater
a569e0aa3a [WS2_32_APITESTS] Remove compile warning disable for GCC. Thanks Thomas. ROSTESTS-278
svn path=/trunk/; revision=74653
2017-05-25 15:12:40 +00:00
Peter Hater
44ac5bf123 [WS2_32_APITESTS] Add some bind API tests
svn path=/trunk/; revision=74651
2017-05-25 14:43:57 +00:00
Mark Jansen
f64b823282 [GDI32_APITEST] Improve GetFontResourceInfoW tests. Patch by Katayama Hirofumi MZ. ROSTESTS-269 #resolve #comment Thanks!
svn path=/trunk/; revision=74602
2017-05-19 20:26:49 +00:00
Thomas Faber
10e08033ca [NTDLL_APITEST]
- Add a test for RTL handle tables
CORE-13271

svn path=/trunk/; revision=74598
2017-05-19 18:05:12 +00:00
Colin Finck
a366e71f50 [PRINTING]
SetDefaultPrinterW needs to fail with ERROR_INVALID_PRINTER_NAME if the input parameter is invalid. Also add a test for that.

svn path=/trunk/; revision=74518
2017-05-10 13:03:08 +00:00
Giannis Adamopoulos
643b7c9da9 [SHELL32_APITEST] -Add tests for Control_RunDLLW.
svn path=/trunk/; revision=74517
2017-05-10 10:06:02 +00:00
Colin Finck
5b6e082869 [PRINTING]
- Implement GetDefaultPrinterA/W and SetDefaultPrinterA/W in winspool.drv. Also add tests for these functions.
- Set our "Dummy Printer on LPT1" as the default printer in the user registry.
- Return meaningful values for DeviceNotSelectedTimeout and TransmissionRetryTimeout in PRINTER_INFO_5 in localspl.

The Print dialog now preselects "Dummy Printer on LPT1" in all applications.
One more task done from the list at https://reactos.org/wiki/Printing :)

svn path=/trunk/; revision=74513
2017-05-09 15:44:42 +00:00
Thomas Faber
a465b60e7f [SHELL32]
- Fix AddCommasW

svn path=/trunk/; revision=74510
2017-05-09 07:45:30 +00:00
Thomas Faber
5d5f53ae61 [KERNEL32_APITEST]
- Fix a broken test name. APITests can not have names already used by Wine tests!  ... they should be named after APIs, anyway...

svn path=/trunk/; revision=74478
2017-05-04 16:45:42 +00:00
Hermès Bélusca-Maïto
3849c29490 [KERNEL32_APITEST]: Internationalization console tests by Katayama Hirofumi MZ.
Passes on Win2k3 (either are skipped because either Russian or Japanese locales or codepages are absent, or are passed OK), but not on ReactOS yet. They are committed as reference for future work.
CORE-12451

svn path=/trunk/; revision=74475
2017-05-04 15:39:50 +00:00
Giannis Adamopoulos
21c885f66d [BROWSEUI_APITEST] -Add tests for SHExplorerParseCmdLine for CORE-12882.
svn path=/trunk/; revision=74474
2017-05-04 15:15:45 +00:00
Giannis Adamopoulos
afa3aa776e [SHELL32_APITEST] -Add some tests for SHParseDisplayName for CORE-12882.
svn path=/trunk/; revision=74473
2017-05-04 15:05:10 +00:00
Pierre Schweitzer
f10b1d9976 [KERNEL32_APITEST]
- Refactor a bit tests, to split more logically tests
- Fix a bug in tests
- Add new tests for MountMgr showing our storage stack doesn't behave as expected

svn path=/trunk/; revision=74432
2017-04-30 11:43:04 +00:00
Colin Finck
daf94f98b0 [WINSPOOL]
Added tests for some more basic and newly discovered corner cases of EnumPrintersW.

svn path=/trunk/; revision=74350
2017-04-17 13:40:51 +00:00
Colin Finck
12e208e27a Fix GCC build, part 4/X (losing my optimism)
svn path=/trunk/; revision=74328
2017-04-16 15:51:44 +00:00
Colin Finck
cb609f0b17 [LOCALSPL]
- Refactor LocalEnumPrinters to make it ready for supporting additional levels.
- Correctly handle all passed flags for Level 1 queries to the Local Print Provider.
- Introduce strsafe functions to LocalEnumPrinters in a way that actually makes the code smaller. To be done in other parts too.
- Use PackStrings in LocalEnumPrinters to simplify the code.
- Return the correct 3 strings in the Description field of Level 1 queries. That also introduces the "Location" field.
- Remove debug spam in _OpenEnvironment.

[SPOOLSV]
- Make use of the newly implemented AlignRpcPtr/UndoAlignRpcPtr. Fixes a test.

[WINSPOOL]
- Dismiss invalid levels already in EnumPrintersW and zero the input buffer here (but not in localspl). Verified by a test.

EnumPrintersW for Level 1 should be fully supported now.

svn path=/trunk/; revision=74324
2017-04-16 14:12:01 +00:00
Colin Finck
c860e2b80d [SPOOLSS]
Add ASSERTs, improve documentation and the variety of tests for AlignRpcPtr/UndoAlignRpcPtr.
Based on comments by Serge Gautherie.

svn path=/trunk/; revision=74323
2017-04-16 10:36:16 +00:00
Mark Jansen
246f24bd7f [WIN32SS] Cleanup fonts at process destruction + implement font memory reference counting.
Thanks to everyone involved in reviewing this code! (See CR-112)
CORE-13056

svn path=/trunk/; revision=74309
2017-04-14 18:22:57 +00:00
Colin Finck
a737c007e8 [SPOOLSS]
Implement the undocumented AlignRpcPtr and UndoAlignRpcPtr functions used by many Rpc* functions in spoolsv according to traced callchains.
I could reverse engineer them entirely using rohitab.com's API Monitor and black-box testing.
I also add documented tests covering all cases I found out. We now pass 17/17 tests on Windows Server 2003 and ReactOS.

Also const-ify a parameter in PackStrings.

svn path=/trunk/; revision=74297
2017-04-13 16:48:40 +00:00