This software test plan provides detailed tests that are used to evaluate the stability and compliance of CUPS.
The test software and data files are located in the
test subdirectory of the source distribution. A script
is provided to compile the ipptool
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 a HTML file in the test subdirectory at the conclusion of the test.
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.
These test verify that the CUPS scheduler accepts subscriptions with print jobs and that all subscription operations work as required by the IPP notification and mailto specifications.
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.