reactos/rostests
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
..
apitests [PRINTING] 2017-06-19 14:18:19 +00:00
dibtests * Addendum to r60650. 2013-10-13 23:12:09 +00:00
drivers [ROSTESTS] 2017-01-13 09:24:15 +00:00
dxtest * Addendum to r55855. 2012-02-25 17:23:58 +00:00
kmtests [KMTESTS:MM] 2017-06-18 08:00:29 +00:00
regtests * Addendum to r55855. 2012-02-25 17:23:58 +00:00
rosautotest [REACTOS]: Do not gather all the generated message resource files in the same directory (sdk/include/reactos/), so that to avoid potential file collisions, but instead place them into their respective per-target directories. 2016-09-28 23:20:20 +00:00
testdata [ROSTESTS] 2015-08-10 11:42:19 +00:00
tests [ROSTESTS] 2017-01-13 09:24:15 +00:00
win32 [ROSTESTS] 2017-01-13 09:24:15 +00:00
winetests [DEVENUM_WINETEST] 2017-06-14 06:44:39 +00:00
.gitignore Create a branch for Thomas Faber's work on creating a kernel mode test suite for the Google Summer of Code project 2011-05-06 13:25:33 +00:00
CMakeLists.txt [ROSTESTS] 2017-01-13 09:24:15 +00:00
COPYING Create a branch for Thomas Faber's work on creating a kernel mode test suite for the Google Summer of Code project 2011-05-06 13:25:33 +00:00
readme.txt [ROS***]: Add few more information in the readme's. 2015-01-29 00:15:35 +00:00

====================
ReactOS Tests
====================

This directory contains various tests for ReactOS.
Make sure you also have a copy of the rest of the ReactOS
source before you attempt to build anything in this module.
It is to be placed under "modules" subdirectory of a trunk checkout.
No additional changes to build files are necessary, it'll be picked up
automatically.

To include "rostests" in your build folder:
1. Copy the rostests folder into the reactos\modules folder, or
2. Link reactos/modules/rostests to rostests

# For Windows users

    cd %%_ROSSOURCEDIR%%\reactos\modules
    mklink /j rostests %%_ROSSOURCEDIR%%\rostests

# For UNIX users

    cd \$$_ROSSOURCEDIR/reactos/modules
    ln -s \$$_ROSSOURCEDIR/rostests rostests