- Fix and enable tests for redirection support in LoadLibraryExW.
- Add tests for the default activation context that is active for every process.
svn path=/trunk/; revision=73568
- Fix SHAddDataBlock function signature & return value.
- Back this up by updating the corresponding wine test.
Send upstream, I will remove the __REACTOS__ markups once this is merged in Wine.
svn path=/trunk/; revision=73565
- Fix the names of some expected return values get from the APIs;
- Move a bit the TestShellLink() function.
- When displaying hexadecimal, prepend the "0x" string (otherwise, when you see: "hr = 10", is it 10 in decimal or in hex??)
- Call CoUninitialize() at the end of the tests.
svn path=/trunk/; revision=73559
- Add more tests for RtlDosApplyFileIsolationRedirection_Ustr. Unfortunately creating .local files and making it have instant effect seems to be impossible. So I added tests for .local than can be enabled to show that this is indeed the behaviour but I have disabled them to avoid random failed tests.
svn path=/trunk/; revision=73551
- Add tests for PathIsUNCServer and PathIsUNCServerShare, by Jared Smudde. Thanks! ROSTESTS-258 #resolve
- Simplify the code: Since those functions (as well as PathIsUNC) are public and exported by name, we can directly load the apitest with shlwapi and call the APIs directly (no need for explicit LoadLibrary & GetProcAddress).
svn path=/trunk/; revision=73544
Disable fpGetPrintProcessorDirectory tests that use PSEH.
For some reason, they can only be run once and corrupt something inside spoolsv, so that spoolsv needs to be restarted afterwards.
svn path=/trunk/; revision=73539
Temporarily disable kmtests for "rostests_install" (and subsequently the WHS-Testbot) as long as kmtest:ExPools crashes the machine and I have to reboot it manually.
svn path=/trunk/; revision=73535
- Add a function "add_rostests_file" that calls both add_cd_file() and install() accordingly for regression tests.
Use this function everywhere in rostests where add_cd_file() was used previously. This puts tests always in the right place on CD and also generates proper installation rules for them.
- Add a custom target "rostests_install" that performs an "install" on all rostests components.
This finally gives us a convenient and reliable way to copy all regression tests and their dependencies into a single directory (specified by the ROSTESTS_INSTALL environment variable).
Will be used on the WHS-Testbot to let it finally run each and every test.
CORE-12401
ONLINE-441
svn path=/trunk/; revision=73533
[ADVAPI32]: Correctly set up both the ANSI and UNICODE service command-line arguments. Adapted from a patch by Thomas Faber. Thanks!
[SERVICES]
- Correctly pack the service command-line arguments in the control packet structure. In particular, the offsets stored in the vector are relative to the beginning of the vector (and not relative to the previous offset ^^). Improve comments...
- Fix the definition of the SCM_CONTROL_PACKET control packet structure to make it Win2k3-compatible, so that we can use Win2k3' advapi32.dll or services.exe on ReactOS and vice-versa.
CORE-9235 CORE-9838
svn path=/trunk/; revision=73413
Tests show that the Print Provider functions are less forgiving and expect winspool.drv and spoolss.dll to perform the necessary sanity checks.
Also they don't default to the current environment if none was supplied as pEnvironment. Change our functions accordingly to pass the tests.
[LOCALSPL_APITEST]
Add a test to prove that spoolss.dll isn't just a forwarder, but also performs some sanity checks even though winspool.drv and localspl.dll also do.
This rather belongs to spoolss_apitest. But it needs to be tested inside the Spooler Server Process and it's not worth it to copy all the DLL injection code to spoolss_apitest just for a single test.
[SPOOLSS]
Check for an invalid buffer in GetPrintProcessorDirectoryW.
[WINSPOOL]
* Check the level before the RPC call in GetPrintProcessorDirectoryW.
* Supply our current environment if the caller didn't give any in EnumPrintProcessorsW and GetPrintProcessorDirectoryW.
* Implement GetPrintProcessorDirectoryA.
[WINSPOOL_APITEST]
Prove that pcbNeeded isn't touched when calling GetPrintProcessorDirectoryW with an invalid level.
ReactOS now passes all API tests for GetPrintProcessorDirectoryA and GetPrintProcessorDirectoryW. These tests also cover all known behaviors of both functions.
CORE-12399
svn path=/trunk/; revision=73373
Add a test for fpGetPrintProcessorDirectory, the actual worker function inside localspl.dll at the end of the call chain.
With that final test, we should have enough information to implement 100% compatible versions of GetPrintProcessorDirectoryA/W and fpGetPrintProcessorDirectory.
[WINSPOOL_APITEST]
Initialize some more variables with bogus values to verify that they have actually changed.
Next step for CORE-12399
svn path=/trunk/; revision=73264
Load all functions to test dynamically from either winprint.dll in the Print Processor Directory (for ReactOS and NT6) or localspl.dll in the system path (for NT5).
Should fix winprint_apitest on ReactOS and Windows Server 2003.
svn path=/trunk/; revision=73247
Fix some NULL vs. INVALID_HANDLE_VALUE checks.
Now localspl_apitest.exe should properly quit when it cannot find its DLL.
svn path=/trunk/; revision=73239
Add tests for GetPrintProcessorDirectoryA and another one for GetPrintProcessorDirectoryW.
Tested against Windows Server 2003 SP2.
Step 1 for CORE-12399
svn path=/trunk/; revision=73238
- Add tests for the Initialize method for CDesktopFolder and CDrivesFolder.
- Add tests for CFSFolder to see how it behaves whhile not initialized.
svn path=/trunk/; revision=73212
Bugfix for IRP_MJ_SET_INFORMATION/FileEndOfFileInformation: really set the information. The test still works fine in Windows and still fails hard in ReactOS.
svn path=/trunk/; revision=73200
Add tests for the NtCreateSection functions which mimic some of the behavior that can be exposed by FSDs (late init, too small files, and so on).
It was designed in W2K3.
svn path=/trunk/; revision=73198
- The new interfaces are not registered in the registry
- Add a few interfaces that were discovered for CLSID_Printers and CLSID_QueryAssociations.
svn path=/trunk/; revision=73156
- accesschk.c: Remove redundant SepAccessCheck/SepAccessCheckEx pair of private functions; instead just rename SepAccessCheckEx into SepAccessCheck and use it directly in the code. NOTE: SepAccessCheck is *incomplete* (in particular it doesn't retrieve the information needed to initialize the 'Privileges' parameter).
- sid.c: Comments formatting fix.
- token.c:
* Finish to implement SeQueryInformationToken . This function is really the same as NtQueryInformationToken but without all the stuff needed for user-mode buffer access protection.
* Some code simplifications in NtQueryInformationToken.
I need this to fix a "FIXME: Use SeQueryInformationToken" in some code I'm also fixing (& commit later).
[NDK]: Fix parameter types and add annotations to RtlCopySidAndAttributesArray.
[KMTESTS:NTOS_SE]
- Reenable the 'SeQueryInfoToken' test.
- Show that SeQueryInformationToken doesn't support 4 token information classes, which are supported only by NtQueryInformationToken.
- Fix calling of SeAccessCheck. In particular the 'Privileges' parameter is not allocated by the caller, but instead is allocated by SeAccessCheck *and* returned to the caller (who then must free the buffer using SeFreePrivileges). This fixes the encountered BSODs that leaded to disabling preventively the test in r59178.
- Minor code cleaning.
svn path=/trunk/; revision=73122
- Add extensive tests for SHParseDisplayName. I tried to add as many as possible but this list of tests is still incomplete. In the meantime I discovered interesting stuff like the "shell:system" path which if you enter in the run dialog will open the system32 folder. I tried to test parsing protocols like ftp paths but couldn't find wht it should look like yet. Afaik all protocol except for the shell protocol like the one mentioned before should be parsed by CInternet class as noted in the appropriate comment in the tests.
svn path=/trunk/; revision=73121
- Support 2k3 and Vista+ versions of the SDBQUERYRESULT structure.
- Add tests for SdbFindFirstNamedTag, SdbTagIDToTagRef, SdbGetLayerTagRef
- Implement SdbFindFirstNamedTag, SdbTagIDToTagRef, SdbGetLayerTagRef
- Add a version resource to apphelp, so that we can use it to identify which tests to use.
svn path=/trunk/; revision=73083
Finally merge my branch "colins-printing-for-freedom", giving us an initial implementation of a Win32-compatible Printing Stack (localmon, localspl, spoolss, spoolsv, winspool)
You can now send raw data to parallel port printers using documented Win32 API. An example application is in my "winspool_print" commandline tool merged to rosapps.
ReactOS folks, thanks for your support during the development of this, making my bachelor's thesis a reality! :)
Documentation/Thesis: https://svn.reactos.org/reactos/trunk/documentation/articles/Printing%20Stack%20Thesis/thesis.pdf
Video: https://www.youtube.com/watch?v=cNzePucTOLY
CORE-10489
svn path=/trunk/; revision=73039