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
Export NtUserGetClassInfoEx (as it's called in 2k3) both as NtUserGetClassInfo (as it's called on XP) and NtUserGetClassInfo. They have the same prototype.
svn path=/trunk/; revision=70463
- "Fix" an export name: NtUserGetClassInfoEx on 2k3 is the same as NtUserGetClassInfo on XP (note that we currently use the default, aka ros specific, win32kdll on the WHS testbot, but it's mostly identical.
[WIN32KNT_APITEST]
- Fix a typo
- add missing tests to testlist.c
svn path=/trunk/; revision=70462
- Convert win32k native api test to actual wine style api-tests
- Hack around a bit with the win32k dlls, some renaming, etc.
- Delete old apitest stuff
svn path=/trunk/; revision=70458
Add another test for strlen, that tests, whether the direction flag in ELFAGS has been modified. While clearing it is legitimate to do according to the ABI, the native implementation does not change it, so we don't want to do it either.
svn path=/trunk/; revision=70429
- disable GCC builtins
- Add simple tests for strlen, showing that a NULL pointer will cause an access violation, which is broken in our asm implementation
svn path=/trunk/; revision=70427
Rewrite the two existing tests for ICMP and add a third one (for IPv6).
Patch by Tim Crawford.
ROSTESTS-212 #resolve #comment Commited in r70367. Thanks!
svn path=/trunk/; revision=70367
Add another check that shows that data returned by GetAdaptersAddresses() are incomplete and thus broken...
"This isn't the type you're looking for." would say an old man
svn path=/trunk/; revision=70290
Add a new apitest for iphlpapi.dll.
It includes tests for testing the SendARP() and its underlying IOCTL.
Tested against W2K3.
Obviously, most of these tests fail on ReactOS.
svn path=/trunk/; revision=70210
Add more tests for RtlGenerate8dot3Name().
Not sure how many more are failing in ReactOS: they all pass in my WC (teasing :-))
CORE-10223
svn path=/trunk/; revision=69388
Add a test for CORE-10188 (which was fixed by Thomas in r69236).
It is based on Nikita Pechenkin's patch with a few modifications by me to avoid race condition on start (and avoid flappy test) and to match more closely our coding style
ROSTESTS-190 #resolve #comment Committed in r69351. Thanks!
svn path=/trunk/; revision=69351
-include the testdata in all targets
-load it from the correct path even when the application is using a different working directory
svn path=/trunk/; revision=68623
- Add a test for SystemFlagsInformation that demonstrates the parameter checks performed by NtQuerySystemInformation/NtSetSystemInformation
CORE-9849
svn path=/trunk/; revision=68225
- Add a test showing that repeated calls to SHGetDesktopFolder return pointers to the same object, and that its CreateViewObject method instead creates new objects.
CORE-9839
svn path=/trunk/; revision=68200
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
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
- 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
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
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
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
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
Add very long tests for tunnel cache.
So far, they are skipped because they are really long (they require more than 15s to complete).
Unfortunately, for unknown reason now, they are failing in ReactOS (whereas they shouldn't!).
An idea would be to see whether we can set an expiry of 1s for tunnel cache just for dbgtests and query the value from registry, so that it could help reduce test duration on ReactOS (but not on w2k3).
ROSTESTS-177
svn path=/trunk/; revision=67901
Add simple tests regarding renaming and tunnel cache behavior for short names in user mode.
Longer tests should be added to show what happens in case of cache expiry.
All pass on w2k3 but not on ReactOS.
CORE-3875
svn path=/trunk/; revision=67897
[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
- 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
- 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
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
- 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
- Add IID_ITranslateShellChangeNotify, the answer to CORE-8844 - found by David
- Fix some non-constant offsets
- Re-alphabetize the lists
svn path=/trunk/; revision=66440
- Add a test for process termination behavior. This shows that CreateProcess with CREATE_SUSPENDED followed by TerminateProcess causes a handle leak.
CORE-9234
svn path=/trunk/; revision=66367
- Refactor EnumFontFamilies test to be more generic, and check for some common expected system fonts. This shows that EnumFontFamilies behaves correctly, but that we're missing the System font in the enumeration.
CORE-9222
svn path=/trunk/; revision=66347
Load NtGdiFlushUserBatch dynamically to allow loading on Win 2003, where the function does not exist.
ROSTESTS-131 #resolve
svn path=/trunk/; revision=66172
So...
... first of all NtUserQueryInformationThread takes only 4 parameters in Win2k3 so do it as well...
... and since we claim at being compatible with Win2k3 (and not XP), one **MUST** review **ALL** our win32k exports, in win32ss/w32ksvc.db database first, and then in our w32kdll apitests !!!!!
But I won't do it !
svn path=/trunk/; revision=65519
[USER32_APITEST] Disable WndProc test when runtime checks are enabled
[KERNEL32_WINETEST] Zero initialize a buffer. This is necessary, since we fail all calls to GetVolumePathNamesForVolumeNameW and thus never get any data into the buffer, which can later result in a buffer-overrun, when doing a lstrlenW on it.
svn path=/trunk/; revision=64831
- Extend GetUserObjectInformation test to include the ansi version. ... this is the lazy way and just duplicates the code, feel free to make it more concise.
CORE-8101
svn path=/trunk/; revision=64706
- Remove some tests that are broken if HKCU\software\classes\CLSID key exists.
Better tests were added later anyway.
CORE-8582
svn path=/trunk/; revision=64413
- Add tests testing behaviour of RegOpen/Create for HKEY_CLASSES_ROOT subkeys
- Clean up a bit the other tests
CORE-8582
svn path=/trunk/; revision=64402
- Add tests for NtQueryKey(KeyNameInformation)
[ADVAPI32_APITEST]
- Don't be so generous and claim back my code.
@Thomas: If you ever find out how buggy it is, feel free to claim it back. ;-)
svn path=/trunk/; revision=64394