1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
4 <TITLE>CUPS Software Test Plan
</TITLE>
5 <META NAME=
"author" CONTENT=
"Easy Software Products">
6 <META NAME=
"copyright" CONTENT=
"Copyright 1997-2001, All Rights Reserved">
7 <META NAME=
"docnumber" CONTENT=
"CUPS-STP-1.1">
8 <META HTTP-EQUIV=
"Content-Type" CONTENT=
"text/html; CHARSET=iso-8859-1">
9 <STYLE TYPE=
"text/css"><!--
10 BODY { font-family: serif }
11 H1 { font-family: sans-serif }
12 H2 { font-family: sans-serif }
13 H3 { font-family: sans-serif }
14 H4 { font-family: sans-serif }
15 H5 { font-family: sans-serif }
16 H6 { font-family: sans-serif }
17 SUB { font-size: smaller }
18 SUP { font-size: smaller }
19 PRE { font-family: monospace }
23 <CENTER><A HREF=
"#CONTENTS"><IMG SRC=
"images/cups-large.gif" BORDER=
"0" WIDTH=
"431" HEIGHT=
"511"><BR>
24 <H1>CUPS Software Test Plan
</H1></A><BR>
26 Easy Software Products
<BR>
27 Copyright
1997-
2001, All Rights Reserved
<BR>
30 <H1 ALIGN=
"CENTER"><A NAME=
"CONTENTS">Table of Contents
</A></H1>
32 <BR><B><A HREF=
"#1">1 Scope
</A></B>
34 <LI><A HREF=
"#1_1">1.1 Identification
</A></LI>
35 <LI><A HREF=
"#1_2">1.2 System Overview
</A></LI>
36 <LI><A HREF=
"#1_3">1.3 Document Overview
</A></LI>
38 <B><A HREF=
"#2">2 References
</A></B>
40 <LI><A HREF=
"#2_1">2.1 CUPS Documentation
</A></LI>
41 <LI><A HREF=
"#2_2">2.2 Other Documents
</A></LI>
43 <B><A HREF=
"#3">3 Test Procedure
</A></B>
45 <BR><B><A HREF=
"#4">4 IPP Compliance Tests
</A></B>
47 <LI><A HREF=
"#4_1">4.1 Request Tests
</A></LI>
48 <LI><A HREF=
"#4_2">4.2 CUPS Printer Operation Tests
</A></LI>
49 <LI><A HREF=
"#4_3">4.3 Job Operation Tests
</A></LI>
51 <B><A HREF=
"#5">5 Command Tests
</A></B>
53 <LI><A HREF=
"#5_1">5.1 lpadmin
</A></LI>
54 <LI><A HREF=
"#5_2">5.2 lpc
</A></LI>
55 <LI><A HREF=
"#5_3">5.3 lpq
</A></LI>
56 <LI><A HREF=
"#5_4">5.4 lpstat
</A></LI>
57 <LI><A HREF=
"#5_5">5.5 lp
</A></LI>
58 <LI><A HREF=
"#5_6">5.6 lpr
</A></LI>
59 <LI><A HREF=
"#5_7">5.7 lprm
</A></LI>
60 <LI><A HREF=
"#5_8">5.8 cancel
</A></LI>
61 <LI><A HREF=
"#5_9">5.9 lpinfo
</A></LI>
63 <B><A HREF=
"#6">A Glossary
</A></B>
65 <LI><A HREF=
"#6_1">A
.1 Terms
</A></LI>
66 <LI><A HREF=
"#6_2">A
.2 Acronyms
</A></LI>
69 <H1><A NAME=
"1">1 Scope
</A></H1>
70 <H2><A NAME=
"1_1">1.1 Identification
</A></H2>
71 <P>This software test plan provides detailed tests that are used to
72 evaluate the stability and compliance of the Common UNIX Printing
73 System (
"CUPS
") Version
1.1.
</P>
74 <H2><A NAME=
"1_2">1.2 System Overview
</A></H2>
75 <P>CUPS provides a portable printing layer for UNIX
®-based operating
76 systems. It has been developed by
<A HREF=
"http://www.easysw.com"> Easy
77 Software Products
</A> to promote a standard printing solution for all
78 UNIX vendors and users. CUPS provides the System V and Berkeley
79 command-line interfaces.
</P>
80 <P>CUPS uses the Internet Printing Protocol (
"IPP
") as the basis for
81 managing print jobs and queues. The Line Printer Daemon (
"LPD
") Server
82 Message Block (
"SMB
"), and AppSocket (a.k.a. JetDirect) protocols are
83 also supported with reduced functionality. CUPS adds network printer
84 browsing and PostScript Printer Description (
"PPD
") based printing
85 options to support real-world printing under UNIX.
</P>
86 <P>CUPS also includes a customized version of GNU Ghostscript (currently
87 based off GNU Ghostscript
5.50) and an image file RIP that are used to
88 support non-PostScript printers. Sample drivers for HP and EPSON
89 printers are included that use these filters.
</P>
90 <H2><A NAME=
"1_3">1.3 Document Overview
</A></H2>
91 <P>This software test plan is organized into the following sections:
</P>
94 <LI>2 - References
</LI>
95 <LI>3 - Test Procedure
</LI>
96 <LI>4 - IPP Compliance Tests
</LI>
97 <LI>5 - Command Tests
</LI>
100 <H1><A NAME=
"2">2 References
</A></H1>
101 <H2><A NAME=
"2_1">2.1 CUPS Documentation
</A></H2>
102 <P>The following CUPS documentation is referenced by this document:
</P>
104 <LI>CUPS-CMP-
1.1: CUPS Configuration Management Plan
</LI>
105 <LI>CUPS-IDD-
1.1: CUPS System Interface Design Description
</LI>
106 <LI>CUPS-IPP-
1.1: CUPS Implementation of IPP
</LI>
107 <LI>CUPS-SAM-
1.1.x: CUPS Software Administrators Manual
</LI>
108 <LI>CUPS-SDD-
1.1: CUPS Software Design Description
</LI>
109 <LI>CUPS-SPM-
1.1.x: CUPS Software Programming Manual
</LI>
110 <LI>CUPS-SSR-
1.1: CUPS Software Security Report
</LI>
111 <LI>CUPS-STP-
1.1: CUPS Software Test Plan
</LI>
112 <LI>CUPS-SUM-
1.1.x: CUPS Software Users Manual
</LI>
113 <LI>CUPS-SVD-
1.1: CUPS Software Version Description
</LI>
115 <H2><A NAME=
"2_2">2.2 Other Documents
</A></H2>
116 <P>The following non-CUPS documents are referenced by this document:
</P>
118 <LI><A HREF=
"http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
119 Adobe PostScript Printer Description File Format Specification, Version
121 <LI><A HREF=
"http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
122 Adobe PostScript Language Reference, Third Edition.
</A></LI>
123 <LI>IPP: Job and Printer Set Operations
</LI>
124 <LI>IPP/
1.1: Encoding and Transport
</LI>
125 <LI>IPP/
1.1: Implementers Guide
</LI>
126 <LI>IPP/
1.1: Model and Semantics
</LI>
127 <LI><A HREF=
"http://www.ietf.org/rfc/rfc1179.txt">RFC
1179, Line Printer
128 Daemon Protocol
</A></LI>
129 <LI><A HREF=
"http://www.ietf.org/rfc/rfc2567.txt">RFC
2567, Design Goals
130 for an Internet Printing Protocol
</A></LI>
131 <LI><A HREF=
"http://www.ietf.org/rfc/rfc2568.txt">RFC
2568, Rationale
132 for the Structure of the Model and Protocol
</A> for the Internet
133 Printing Protocol
</LI>
134 <LI><A HREF=
"http://www.ietf.org/rfc/rfc2569.txt">RFC
2569, Mapping
135 between LPD and IPP Protocols
</A></LI>
136 <LI><A HREF=
"http://www.ietf.org/rfc/rfc2616.txt">RFC
2616, Hypertext
137 Transfer Protocol -- HTTP/
1.1</A></LI>
138 <LI><A HREF=
"http://www.ietf.org/rfc/rfc2617.txt">RFC
2617, HTTP
139 Authentication: Basic and Digest Access
</A> Authentication
</LI>
141 <H1><A NAME=
"3">3 Test Procedure
</A></H1>
142 <P>The test software and data files are located in the
<VAR> test
</VAR>
143 subdirectory of the source distribution. A script is provided to
144 compile the
<CODE>ipptest
</CODE> program and run all of the tests that
145 follow, producing a success/fail report.
</P>
146 <P>The
<CODE>test
</CODE> target of the top-level makefile can be used to
153 <P>or you can run the test script directly:
</P>
160 <P>A Software Test Report is stored in HTML and PDF files that are
161 generated using the
<A HREF=
"http://www.easysw.com/htmldoc"> HTMLDOC
</A>
163 <H1><A NAME=
"4">4 IPP Compliance Tests
</A></H1>
164 <P>This section describes the tests used to validate the IPP standards
165 compliance of the CUPS server.
</P>
166 <H2><A NAME=
"4_1">4.1 Request Tests
</A></H2>
167 <P>These tests verify that the CUPS scheduler only accepts valid IPP
168 requests that start with the
<CODE>attributes-charset
</CODE> and
<CODE>
169 attributes-natural-language
</CODE> attributes and also contain a
<CODE>
170 printer-uri
</CODE> or
<CODE>job-uri
</CODE> attribute.
</P>
171 <P>It also verifies that the CUPS scheduler always responds with
<CODE>
172 attributes-charset
</CODE> and
<CODE>attributes-natural-language
</CODE>
173 attributes, using default values if they are not provided by the
175 <H2><A NAME=
"4_2">4.2 CUPS Printer Operation Tests
</A></H2>
176 <P>These tests verify that the CUPS printer operations are supported and
177 function properly. Two printers called
<CODE>Test1
</CODE> and
<CODE>
178 Test2
</CODE> are created, one as a PostScript printer and one as a
180 <H2><A NAME=
"4_3">4.3 Job Operation Tests
</A></H2>
181 <P>These test verify that the CUPS scheduler accepts print jobs for all
182 supported file formats and that the
<CODE>cancel-job
</CODE>,
<CODE>
183 hold-job
</CODE>, and
<CODE>resume-job
</CODE> operations work.
</P>
184 <H1><A NAME=
"5">5 Command Tests
</A></H1>
185 <P>This section describes the tests used to validate the Berkeley and
186 System V commands included with CUPS.
</P>
187 <H2><A NAME=
"5_1">5.1 lpadmin
</A></H2>
188 <P>This test verifies that printers can be added, modified, and
189 defaulted using the
<CODE>lpadmin
</CODE> command.
</P>
190 <H2><A NAME=
"5_2">5.2 lpc
</A></H2>
191 <P>This test verifies that the
<CODE>lpc
</CODE> command can show the
192 current status of all print queues.
</P>
193 <H2><A NAME=
"5_3">5.3 lpq
</A></H2>
194 <P>This test verifies that the
<CODE>lpq
</CODE> command lists any jobs
196 <H2><A NAME=
"5_4">5.4 lpstat
</A></H2>
197 <P>This test verifies that the
<CODE>lpstat
</CODE> command works with
198 all reports using the
"<CODE>-t
</CODE>" option.
</P>
199 <H2><A NAME=
"5_5">5.5 lp
</A></H2>
200 <P>This test verifies that the
<CODE>lp
</CODE> command works with both
201 the default destination and a specific destination.
</P>
202 <H2><A NAME=
"5_6">5.6 lpr
</A></H2>
203 <P>This test verifies that the
<CODE>lpr
</CODE> command works with both
204 the default destination and a specific destination.
</P>
205 <H2><A NAME=
"5_7">5.7 lprm
</A></H2>
206 <P>This test verifies that the
<CODE>lprm
</CODE> command can properly
208 <H2><A NAME=
"5_8">5.8 cancel
</A></H2>
209 <P>This test verifies that the
<CODE>cancel
</CODE> command can properly
210 cancel a job or all jobs.
</P>
211 <H2><A NAME=
"5_9">5.9 lpinfo
</A></H2>
212 <P>This test verifies that the
<CODE>lpinfo
</CODE> command returns a
213 list of available printer drivers and devices.
</P>
214 <H1 TYPE=
"A" VALUE=
"1"><A NAME=
"6">A Glossary
</A></H1>
215 <H2><A NAME=
"6_1">A
.1 Terms
</A></H2>
218 <DD>A computer language.
</DD>
220 <DD>Sending or receiving data more than
1 bit at a time.
</DD>
222 <DD>A one-way communications channel between two programs.
</DD>
224 <DD>Sending or receiving data
1 bit at a time.
</DD>
226 <DD>A two-way network communications channel.
</DD>
228 <H2><A NAME=
"6_2">A
.2 Acronyms
</A></H2>
231 <DD>American Standard Code for Information Interchange
</DD>
233 <DD>Common UNIX Printing System
</DD>
235 <DD>EPSON Standard Code for Printers
</DD>
237 <DD>File Transfer Protocol
</DD>
239 <DD>Hewlett-Packard Graphics Language
</DD>
241 <DD>Hewlett-Packard Page Control Language
</DD>
243 <DD>Hewlett-Packard Printer Job Language
</DD>
245 <DD>Internet Engineering Task Force
</DD>
247 <DD>Internet Printing Protocol
</DD>
249 <DD>International Standards Organization
</DD>
251 <DD>Line Printer Daemon
</DD>
253 <DD>Multimedia Internet Mail Exchange
</DD>
255 <DD>PostScript Printer Description
</DD>
257 <DD>Server Message Block
</DD>
259 <DD>Trivial File Transfer Protocol
</DD>