
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 also includes a customized version of GNU Ghostscript (currently based off GNU Ghostscript 5.50) and an image file RIP that are used to support non-PostScript printers. Sample drivers for HP and EPSON printers are included that use these filters.
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.