
This software test plan provides detailed tests that are used to evaluate the stability and compliance of the Common UNIX Printing System ("CUPS") Version 1.1.
CUPS provides a portable printing layer for UNIX®-based operating systems. It has been developed by Easy Software Products to promote a standard printing solution for all UNIX vendors and users. CUPS provides the System V and Berkeley command-line interfaces.
CUPS uses the Internet Printing Protocol ("IPP") as the basis for managing print jobs and queues. The Line Printer Daemon ("LPD") Server Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported with reduced functionality. CUPS adds network printer browsing and PostScript Printer Description ("PPD") based printing options to support real-world printing under UNIX.
CUPS includes an image file RIP that supports printing of image files to non-PostScript printers. A customized version of GNU Ghostscript 7.05 for CUPS called ESP Ghostscript is available separately to support printing of PostScript files within the CUPS driver framework. Sample drivers for Dymo, EPSON, HP, and OKIDATA printers are included that use these filters.
Drivers for thousands of printers are provided with our ESP Print Pro software, available at:
    http://www.easysw.com/printpro/
CUPS is licensed under the GNU General Public License and GNU Library General Public License. Please contact Easy Software Products for commercial support and "binary distribution" rights.
This software test plan is organized into the following sections:
The following CUPS documentation is referenced by this document:
The following non-CUPS documents are referenced by this document:
The test software and data files are located in the test
 subdirectory of the source distribution. A script is provided to
 compile the ipptest program and run all of the tests that
 follow, producing a success/fail report.
The test target of the top-level makefile can be used to
 run this script:
make test
or you can run the test script directly:
cd test ./run-stp-tests
A Software Test Report is stored in HTML and PDF files that are generated using the HTMLDOC software.
This section describes the tests used to validate the IPP standards compliance of the CUPS server.
These tests verify that the CUPS scheduler only accepts valid IPP
 requests that start with the attributes-charset and 
attributes-natural-language attributes and also contain a 
printer-uri or job-uri attribute.
It also verifies that the CUPS scheduler always responds with 
attributes-charset and attributes-natural-language
 attributes, using default values if they are not provided by the
 client.
These tests verify that the CUPS printer operations are supported and
 function properly. Two printers called Test1 and 
Test2 are created, one as a PostScript printer and one as a
 raster printer.
These test verify that the CUPS scheduler accepts print jobs for all
 supported file formats and that the cancel-job, 
hold-job, and resume-job operations work.
This section describes the tests used to validate the Berkeley and System V commands included with CUPS.
This test verifies that printers can be added, modified, and
 defaulted using the lpadmin command.
This test verifies that the lpc command can show the
 current status of all print queues.
This test verifies that the lpq command lists any jobs
 in the queue.
This test verifies that the lpstat command works with
 all reports using the "-t" option.
This test verifies that the lp command works with both
 the default destination and a specific destination.
This test verifies that the lpr command works with both
 the default destination and a specific destination.
This test verifies that the lprm command can properly
 cancel a job.
This test verifies that the cancel command can properly
 cancel a job or all jobs.
This test verifies that the lpinfo command returns a
 list of available printer drivers and devices.