#CONTENTS
CUPS Software Test Plan
CUPS Software Test Plan
CUPS-STP-1.1
Easy Software Products
Copyright 1997-2005, All Rights Reserved
Table of Contents
#1
1 Scope
#1_1
1.1 Identification
#1_2
1.2 System Overview
#1_3
1.3 Document Overview
#2
2 References
#2_1
2.1 CUPS Documentation
#2_2
2.2 Other Documents
#3
3 Test Procedure
#4
4 IPP Compliance Tests
#4_1
4.1 Request Tests
#4_2
4.2 CUPS Printer Operation Tests
#4_3
4.3 Job Operation Tests
#5
5 Command Tests
#5_1
5.1 lpadmin
#5_2
5.2 lpc
#5_3
5.3 lpq
#5_4
5.4 lpstat
#5_5
5.5 lp
#5_6
5.6 lpr
#5_7
5.7 lprm
#5_8
5.8 cancel
#5_9
5.9 lpinfo
#6
A Glossary
#6_1
A.1 Terms
#6_2
A.2 Acronyms
1 Scope
1.1 Identification
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.
1.2 System Overview
CUPS provides a portable printing layer for UNIX®-based operating
systems. It has been developed by
http://www.easysw.com
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/
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.
1.3 Document Overview
This software test plan is organized into the following sections:
1 - Scope
2 - References
3 - Test Procedure
4 - IPP Compliance Tests
5 - Command Tests
A - Glossary
2 References
2.1 CUPS Documentation
The following CUPS documentation is referenced by this document:
CUPS-CMP-1.1: CUPS Configuration Management Plan
CUPS-IDD-1.1: CUPS System Interface Design Description
CUPS-IPP-1.1: CUPS Implementation of IPP
CUPS-SAM-1.1.x: CUPS Software Administrators Manual
CUPS-SDD-1.1: CUPS Software Design Description
CUPS-SPM-1.1.x: CUPS Software Programming Manual
CUPS-SSR-1.1: CUPS Software Security Report
CUPS-STP-1.1: CUPS Software Test Plan
CUPS-SUM-1.1.x: CUPS Software Users Manual
CUPS-SVD-1.1: CUPS Software Version Description
2.2 Other Documents
The following non-CUPS documents are referenced by this document:
http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf
Adobe PostScript Printer Description File Format Specification, Version
4.3.
http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf
Adobe PostScript Language Reference, Third Edition.
IPP/1.1: Implementers Guide
http://www.ietf.org/rfc/rfc1179.txt
RFC 1179, Line Printer
Daemon Protocol
http://www.ietf.org/rfc/rfc2396.txt
RFC 2396, Uniform
Resource Identifiers (URI): Generic Syntax
http://www.ietf.org/rfc/rfc2567.txt
RFC 2567, Design Goals
for an Internet Printing Protocol
http://www.ietf.org/rfc/rfc2568.txt
RFC 2568, Rationale
for the Structure of the Model and Protocol for the Internet Printing
Protocol
http://www.ietf.org/rfc/rfc2569.txt
RFC 2569, Mapping
between LPD and IPP Protocols
http://www.ietf.org/rfc/rfc2616.txt
RFC 2616, Hypertext
Transfer Protocol -- HTTP/1.1
http://www.ietf.org/rfc/rfc2617.txt
RFC 2617, HTTP
Authentication: Basic and Digest Access
Authentication
http://www.ietf.org/rfc/rfc2910.txt
RFC 2910, IPP/1.1:
Encoding and Transport
http://www.ietf.org/rfc/rfc2911.txt
RFC 2911, IPP/1.1:
Model and Semantics
http://www.ietf.org/rfc/rfc3380.txt
RFC 3380, IPP: Job and
Printer Set Operations
3 Test Procedure
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
http://www.easysw.com/htmldoc
HTMLDOC
software.
4 IPP Compliance Tests
This section describes the tests used to validate the IPP standards
compliance of the CUPS server.
4.1 Request Tests
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.
4.2 CUPS Printer Operation Tests
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.
4.3 Job Operation Tests
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.
5 Command Tests
This section describes the tests used to validate the Berkeley and
System V commands included with CUPS.
5.1 lpadmin
This test verifies that printers can be added, modified, and
defaulted using the
lpadmin
command.
5.2 lpc
This test verifies that the
lpc
command can show the
current status of all print queues.
5.3 lpq
This test verifies that the
lpq
command lists any jobs
in the queue.
5.4 lpstat
This test verifies that the
lpstat
command works with
all reports using the "
-t
" option.
5.5 lp
This test verifies that the
lp
command works with both
the default destination and a specific destination.
5.6 lpr
This test verifies that the
lpr
command works with both
the default destination and a specific destination.
5.7 lprm
This test verifies that the
lprm
command can properly
cancel a job.
5.8 cancel
This test verifies that the
cancel
command can properly
cancel a job or all jobs.
5.9 lpinfo
This test verifies that the
lpinfo
command returns a
list of available printer drivers and devices.
A Glossary
A.1 Terms
C
A computer language.
parallel
Sending or receiving data more than 1 bit at a time.
pipe
A one-way communications channel between two programs.
serial
Sending or receiving data 1 bit at a time.
socket
A two-way network communications channel.
A.2 Acronyms
ASCII
American Standard Code for Information Interchange
CUPS
Common UNIX Printing System
ESC/P
EPSON Standard Code for Printers
FTP
File Transfer Protocol
HP-GL
Hewlett-Packard Graphics Language
HP-PCL
Hewlett-Packard Page Control Language
HP-PJL
Hewlett-Packard Printer Job Language
IETF
Internet Engineering Task Force
IPP
Internet Printing Protocol
ISO
International Standards Organization
LPD
Line Printer Daemon
MIME
Multimedia Internet Mail Exchange
PPD
PostScript Printer Description
SMB
Server Message Block
TFTP
Trivial File Transfer Protocol
