Commit graph

564 commits

Author SHA1 Message Date
Colin Finck 3d7b3309c1 [WINSPOOL]
Add and fully implement IsValidDevmodeA and IsValidDevmodeW.

[WINSPOOL_APITEST]
Add tests for IsValidDevmodeA and IsValidDevmodeW covering the entire functions.

svn path=/branches/colins-printing-for-freedom/; revision=70503
2016-01-06 04:31:53 +00:00
Colin Finck a4d50f82ff [LOCALSPL_APITEST]
Put the calls that eventually give us the function pointers to localspl into a separate procedure GetLocalsplFuncs to enable further tests easily.

svn path=/branches/colins-printing-for-freedom/; revision=68194
2015-06-19 15:05:58 +00:00
Colin Finck 888171ae18 [LOCALSPL_APITEST]
It's only the second disabled test, which is causing trouble for us, so reactivate the first one.
This also confirms that the problem is not related to SEH.

svn path=/branches/colins-printing-for-freedom/; revision=68104
2015-06-10 21:49:49 +00:00
Colin Finck 1e363204d6 [LOCALSPL_APITEST]
- Add more tests for fpEnumPrinters.
  For some reason, using SEH here works only once. We experience a hang in the testing process when you run the test again for a second time without restarting spoolsv. Needs more investigation.
- Ensure that the spooler service is running before starting any testing.
- Do proper cleanup in every case.

[LOCALSPL]
- Implement LocalEnumPrinters level 1 based on the API-Tests.
- Use DllAllocSplMem/DllFreeSplMem instead of HeapAlloc/HeapFree.
- Use AllocSplStr with DllFreeSplStr now that DuplicateStringW is gone.
- Use _countof where applicable.

[SPOOLSS]
- Found out that I was not the only one needing a wcsdup equivalent. My DuplicateStringW from localspl is actually exported as AllocSplStr in spoolss.
  This is actually part of a range of undocumented memory functions in spoolss, so implement and document AllocSplStr, DllAllocSplMem, DllFreeSplMem, DllFreeSplStr, ReallocSplMem and ReallocSplStr.
  Information about some of them was gathered through black box testing and DDK samples (down to Win95 DDK), which at least contained prototypes of them.
- Implement SplInitializeWinSpoolDrv based on the API-Test and simply return FALSE for SplIsUpgrade.

[SPOOLSS_APITEST]
- Add a test for ReallocSplStr, which was actually the most undocumented function of spoolss' memory functions.

[WINSPOOL]
SplInitializeWinSpoolDrv shows that we can't just auto-assign an ordinal to all winspool.drv functions. We even need to export some nameless functions by ordinal only.
Redo the whole .spec file based on the ordinals found in Windows Server 2003's winspool.drv. Trust WINE for the nameless stubs.

svn path=/branches/colins-printing-for-freedom/; revision=68089
2015-06-09 13:22:25 +00:00
Colin Finck f2a66788f8 [LOCALSPL_APITEST]
Write an API-Test for localspl.dll. As the original localspl.dll from Windows Server 2003 relies on proper initialization inside spoolsv.exe, we cannot test it standalone as usual.
To make testing possible anyway, this program basically does four things:

  - Injecting our testing code into spoolsv.exe.
  - Registering and running us as a service in the SYSTEM security context like spoolsv.exe, so that injection is possible at all.
  - Sending the test name and receiving the console output over named pipes.
  - Redirecting the received console output to stdout again, so it looks and feels like a standard API-Test.

Nevertheless, the testing code in fpEnumPrinters.c is still written like a usual test. The known ok(), skip(), etc. macros can be used as usual, their output is just redirected through the named pipes.
Thanks to Thomas for giving me the tip about injecting code into spoolsv! :)

svn path=/branches/colins-printing-for-freedom/; revision=68080
2015-06-08 17:15:44 +00:00
Colin Finck 19839c646c [SPOOLSS_APITEST]
Add a test for SplInitializeWinSpoolDrv verifying that Wine's XP-compatible implementation of this function also works for 2003 (and that we're going to need some nameless exports by ordinals in winspool.drv...)

svn path=/branches/colins-printing-for-freedom/; revision=68035
2015-06-06 12:32:30 +00:00
Colin Finck 1e4d261c62 [PRINTING]
Add an include directory for all printing components containing definitions not found in the public headers.
For now, that's just PackStrings in spoolss.h.

[SPOOLSS_APITEST]
Use the new spoolss.h header.

[WINPRINT_APITEST]
Add an API-Test for the winprint Print Processor, so far for its EnumPrintProcessorDatatypesW function. Tests succeed in Windows Server 2003.
winspool.drv also provides functions that go into winprint.dll, but as these tests show, they behave slightly different in terms of error codes due to the involved RPC and routing.
Windows Server 2003 has winprint functions in localspl.dll, so you have to copy its localspl.dll to winprint.dll for testing.

[WINPRINT]
- Use PackStrings to simplify the code.
- Fix test failures.

svn path=/branches/colins-printing-for-freedom/; revision=68025
2015-06-05 18:16:51 +00:00
Colin Finck ecd7f83ffb [SPOOLSS]
In an attempt to simplify the code for further functions that return information structures, implement and document the undocumented PackStrings function.
Hints were taken from an XP DDK sample and own testing.

[SPOOLSS_APITEST]
Add some tests for PackStrings that succeed under Windows Server 2003.

svn path=/branches/colins-printing-for-freedom/; revision=68023
2015-06-05 15:52:39 +00:00
Colin Finck af0a3b64a9 [WINSPOOL_APITEST]
- Add tests for EnumPrinters
- Fix a test for EnumPrintProcessorDatatypes

svn path=/branches/colins-printing-for-freedom/; revision=68007
2015-06-04 12:19:06 +00:00
Colin Finck 99b62ed313 [WINSPOOL_APITEST]
Make the tests actually succeed under Windows Server 2003.

svn path=/branches/colins-printing-for-freedom/; revision=67884
2015-05-24 16:55:20 +00:00
Colin Finck beaa69af38 Time to commit some Work-In-Progress stuff before my diff gets too large..
[LOCALSPL]
- Begin work on the Local Spooler. Return a structure with function pointers in InitializePrintProvidor.
- Design and document internal structures for managing LocalSpl Handles, Printer Handles, Printers, Print Jobs and Print Processors.
  Manage Printers and Print Processors in Generic Tables, with one Job Queue per Printer managed as a Doubly Linked List.
- Implement LocalOpenPrinter, LocalEnumPrintProcessorDatatypes, LocalEnumPrintProcessors, LocalGetPrintProcessorDirectory, with focus on catching all corner cases.
  Currently working on LocalStartDocPrinter.
- Build upon the documentation at http://www.undocprint.org/formats/winspool/shd to read and write .SHD files.

[WINPRINT]
Begin work on the Standard Print Processor. Implement EnumPrintProcessorDatatypesW.

[WINSPOOL_APITEST]
Add an API Test for winspool.drv, currently testing some corner cases of ClosePrinter, EnumPrintProcessorDatatypesW, GetPrintProcessorDirectoryW, OpenPrinterW, StartDocPrinterW.
TODO: Find a way to actually test the localspl.dll functions instead of only winspool.drv. This DLL doesn't like to be tested standalone under Windows, e.g. without being used through spoolsv/spoolss.

[SPOOLSS]
Implement InitializeRouter by calling the InitializePrintProvidor function of localspl there.
This function should later also initialize further Print Providers.

[SPOOLSV]
Call InitializeRouter when starting up the service.

[WINSPOOL]
Add dummy functions for EnumPrintProcessorDatatypesA/EnumPrintProcessorDatatypesW.

[All modules]
Fix printf format specifiers for errors (%lu) and statuses (%ld).

svn path=/branches/colins-printing-for-freedom/; revision=67847
2015-05-22 15:29:07 +00:00
Hermès Bélusca-Maïto 71a0dd0f0e Forgot this change too.
svn path=/trunk/; revision=67443
2015-04-26 17:50:38 +00:00
Hermès Bélusca-Maïto b4ebdb1ae9 [REACTOS]: Add a "testdata" subdirectory in %SystemRoot%\bin\ where you can put all needed extra files for the tests. In addition, all the files present in your rostests\testdata local directory of your working copy are also copied into %SystemRoot%\bin\testdata .
svn path=/trunk/; revision=67442
2015-04-26 17:47:55 +00:00
Kamil Hornicek d3a6637990 [W32KNAPI]
- NEW_CURSORICON is no more

svn path=/trunk/; revision=67436
2015-04-26 13:17:24 +00:00
Thomas Faber 410d16c399 [NTDLL_APITEST]
- Add a test for NtQueryKey(KeyFullInformation)
CORE-6976

svn path=/trunk/; revision=67414
2015-04-25 15:05:36 +00:00
Thomas Faber c92559c27c [GDI32_APITEST]
- Add a test for NtGdiAddFontResourceW. This goes in gdi32_apitest until we fix w32knapi to be Testman-compatible (ROSTESTS-167). Patch by Víctor Martínez Calvo.
ROSTESTS-166 #resolve

svn path=/trunk/; revision=67391
2015-04-25 10:41:32 +00:00
Thomas Faber bccac1a15b [NTDLL_APITEST]
- Gracefully handle failures in NtMapViewOfSection test. CORE-9189
- Correctly handle unterminated strings in NtQueryKey test. Powered by DPH.

svn path=/trunk/; revision=67370
2015-04-23 18:41:08 +00:00
Thomas Faber 95ebf88866 [NTDLL_APITEST]
- Add some more tests for RtlDoesFileExists_*, in particular passing NT paths
CORE-9523

svn path=/trunk/; revision=67334
2015-04-21 10:50:12 +00:00
Thomas Faber 45c2f87c87 [WIN32K:NTUSER]
- Fix some GetWindowPlacement tests
CORE-9578

svn path=/trunk/; revision=67333
2015-04-21 10:14:12 +00:00
Pierre Schweitzer c45bd159ff [KERNEL32_APITEST]
Force hexa output

svn path=/trunk/; revision=67332
2015-04-21 09:30:05 +00:00
Thomas Faber 842d5b87ea [USER32_APITEST]
- Use correct format specifiers aka fix GCC build

svn path=/trunk/; revision=67331
2015-04-21 09:25:51 +00:00
Thomas Faber ea06801805 [USER32_APITEST]
- Add a test for GetWindowPlacement
CORE-9578

svn path=/trunk/; revision=67330
2015-04-21 09:21:22 +00:00
Thomas Faber e7c17c0741 [NETSHELL][COM_APITEST]
- Remove another MessageBox...
- Also test some more interfaces found in netshell classes

svn path=/trunk/; revision=67316
2015-04-19 22:50:25 +00:00
Thomas Faber a04d175469 [COM_APITEST]
- Add test for netshell classes
- Add some interfaces

svn path=/trunk/; revision=67313
2015-04-19 21:28:09 +00:00
Pierre Schweitzer 2a8f6b6f83 [KERNEL32_APITEST]
Complete a bit more the PrivMoveFileIdentityW tests

svn path=/trunk/; revision=67306
2015-04-19 19:36:42 +00:00
Pierre Schweitzer f033a19054 [KERNEL32_APITEST]
Erm. That wasn't meant to remain here! :-P

svn path=/trunk/; revision=67279
2015-04-18 21:34:12 +00:00
Pierre Schweitzer f656eab188 [KERNEL32_APITEST]
Make PrivMoveFileIdentityW test work even if kernel32_apitest.exe isn't in current directory

svn path=/trunk/; revision=67278
2015-04-18 21:30:15 +00:00
Pierre Schweitzer ad157d2c6f [KERNEL32_APITEST]
Add tests for PrivMoveFileIdentityW().

Tested on w2k3 by Thomas

svn path=/trunk/; revision=67273
2015-04-18 19:46:57 +00:00
Thomas Faber 2829ed5afe [USER32_APITEST]
- Add a test for SetScrollInfo
CORE-9553

svn path=/trunk/; revision=67226
2015-04-17 17:22:07 +00:00
Thomas Faber e69c4796da [KERNEL32_APITEST]
- Make GetDriveType test succeed if the current directory is the drive root. Spotted by Edijs.
- Use strsafe functions
ROSTESTS-160 #resolve

svn path=/trunk/; revision=67222
2015-04-17 08:09:30 +00:00
Thomas Faber f499a92d44 [USER32_APITEST]
- Add a test for CreateDialog. Patch by Andreas Maier.
ROSTESTS-163 #resolve

svn path=/trunk/; revision=67213
2015-04-16 11:35:23 +00:00
Thomas Faber 3233f5f8b3 [USER32_APITEST]
- Rename CreateWindowEx test to SetParent since that's what it tests

svn path=/trunk/; revision=67070
2015-04-06 06:34:04 +00:00
Timo Kreuzer dd4901282a [GDI32_APITEST]
Add/fix some tests for CreateDIBPatternBrush, GetDIBits, PatBlt and SetWindowExtEx

svn path=/trunk/; revision=67051
2015-04-04 15:58:18 +00:00
Timo Kreuzer 4eebb1e0c9 [GDI32_APITEST]
Add some more tests for MaskBlt

svn path=/trunk/; revision=67047
2015-04-04 14:58:17 +00:00
Timo Kreuzer 9729094318 [GDI32_APITEST]
Fix some broken tests or disable them.

svn path=/trunk/; revision=67046
2015-04-04 14:51:20 +00:00
Timo Kreuzer 437306080d [GDI32_APITEST]
Improve/fix tests for CreateBitmap.

svn path=/trunk/; revision=67045
2015-04-04 14:38:04 +00:00
Timo Kreuzer 7d51577276 [CRT_APITEST]
Disable a broken test.

svn path=/trunk/; revision=67044
2015-04-04 13:42:41 +00:00
Timo Kreuzer 462b429d45 [GDI32_APITEST]
Disable the 7.5 million tests, that make our testbot print failure message forever.

svn path=/trunk/; revision=67043
2015-04-04 13:35:19 +00:00
Timo Kreuzer f7f6d79a8d [GDI32_APITEST]
Fix GCC build

svn path=/trunk/; revision=67042
2015-04-04 13:09:54 +00:00
Timo Kreuzer afc9bc7f2a [GDI32_APITEST]
Add more tests for ExtCreatePen. This adds tests for almost all thinkable combinations of parameters. On win7: "ExtCreatePen: 7594830 tests executed (0 marked as todo, 0 failures), 0 skipped." After evaluating the results on WHS2003, this test will be disabled, since it is expected that most of these fail on ros atm.

svn path=/trunk/; revision=67040
2015-04-04 12:53:05 +00:00
Amine Khaldi c2a8901863 [SETUPAPI_APITEST] Add tests for SetupDiInstallClassExA and SetupInstallServicesFromInfSectionEx. Brought to you by Victor Martinez with some changes by me. ROSTESTS-157
svn path=/trunk/; revision=66983
2015-03-30 21:08:47 +00:00
Thomas Faber b11c872f36 [NTDLL_APITEST]
- Also test decreasing the size in RtlReAllocateHeap. Patch by Mark Jansen.
CORE-9441

svn path=/trunk/; revision=66960
2015-03-29 14:47:21 +00:00
Thomas Faber c7d57b853b [NTDLL_APITEST]
- Add a test for RtlReAllocateHeap -- shows that it doesn't handle allocations larger than 0x7f000 correctly in ROS
CORE-9441

svn path=/trunk/; revision=66958
2015-03-29 14:07:00 +00:00
Timo Kreuzer e209e6b5ac [WS2_32_APITEST]
Addendum to r66695: use winternl.h from wine folder

svn path=/trunk/; revision=66696
2015-03-14 13:41:50 +00:00
Hermès Bélusca-Maïto 2fd746a504 Revert r66580 and r66579.
svn path=/trunk/; revision=66587
2015-03-06 14:31:32 +00:00
Hermès Bélusca-Maïto 5d3273e56a I hope this is the last one.
svn path=/trunk/; revision=66580
2015-03-06 00:37:49 +00:00
Hermès Bélusca-Maïto dc5cf71fa4 ... and that.
svn path=/trunk/; revision=66579
2015-03-06 00:34:20 +00:00
Thomas Faber 8e610dc42c [COM_APITEST]
- Add some more interfaces

svn path=/trunk/; revision=66455
2015-02-25 16:22:26 +00:00
Thomas Faber 4c25d9683c [COM_APITEST]
- Add some more interfaces
- Add CLSID_CDBurn

svn path=/trunk/; revision=66453
2015-02-25 15:00:24 +00:00
Timo Kreuzer 42017a3c83 [USER32_APITEST]
Add some test for GetDCEx that highlight the ridiculous implementation of owned and class DCs.

svn path=/trunk/; revision=66444
2015-02-24 23:15:08 +00:00