]> git.ipfire.org Git - thirdparty/cups.git/blob - doc/stp.html
Load cups into easysw/current.
[thirdparty/cups.git] / doc / stp.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
2 <HTML>
3 <HEAD>
4 <TITLE>CUPS Software Test Plan</TITLE>
5 <META NAME="author" CONTENT="Easy Software Products">
6 <META NAME="copyright" CONTENT="Copyright 1997-2003, All Rights Reserved">
7 <META NAME="docnumber" CONTENT="CUPS-STP-1.2">
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 }
20 --></STYLE>
21 </HEAD>
22 <BODY>
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>
25 CUPS-STP-1.2<BR>
26 Easy Software Products<BR>
27 Copyright 1997-2003, All Rights Reserved<BR>
28 </CENTER>
29 <HR>
30 <H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
31 <BR>
32 <BR><B><A HREF="#1">1 Scope</A></B>
33 <UL>
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>
37 </UL>
38 <B><A HREF="#2">2 References</A></B>
39 <UL>
40 <LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
41 <LI><A HREF="#2_2">2.2 Other Documents</A></LI>
42 </UL>
43 <B><A HREF="#3">3 Test Procedure</A></B>
44 <BR>
45 <BR><B><A HREF="#4">4 IPP Compliance Tests</A></B>
46 <UL>
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>
50 </UL>
51 <B><A HREF="#5">5 Command Tests</A></B>
52 <UL>
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>
62 </UL>
63 <B><A HREF="#6">A Glossary</A></B>
64 <UL>
65 <LI><A HREF="#6_1">A.1 Terms</A></LI>
66 <LI><A HREF="#6_2">A.2 Acronyms</A></LI>
67 </UL>
68 <HR>
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 (&quot;CUPS&quot;) Version 1.2.</P>
74 <H2><A NAME="1_2">1.2 System Overview</A></H2>
75 <P>CUPS provides a portable printing layer for UNIX&reg;-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 (&quot;IPP&quot;) as the basis for
81 managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
82 Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
83 also supported with reduced functionality. CUPS adds network printer
84 browsing and PostScript Printer Description (&quot;PPD&quot;) 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>
92 <UL>
93 <LI>1 - Scope</LI>
94 <LI>2 - References</LI>
95 <LI>3 - Test Procedure</LI>
96 <LI>4 - IPP Compliance Tests</LI>
97 <LI>5 - Command Tests</LI>
98 <LI>A - Glossary</LI>
99 </UL>
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>
103 <UL>
104 <LI>CUPS-CMP-1.2: CUPS Configuration Management Plan</LI>
105 <LI>CUPS-IDD-1.2: CUPS System Interface Design Description</LI>
106 <LI>CUPS-IPP-1.2: CUPS Implementation of IPP</LI>
107 <LI>CUPS-SAM-1.2.x: CUPS Software Administrators Manual</LI>
108 <LI>CUPS-SDD-1.2: CUPS Software Design Description</LI>
109 <LI>CUPS-SPM-1.2.x: CUPS Software Programming Manual</LI>
110 <LI>CUPS-SSR-1.2: CUPS Software Security Report</LI>
111 <LI>CUPS-STP-1.2: CUPS Software Test Plan</LI>
112 <LI>CUPS-SUM-1.2.x: CUPS Software Users Manual</LI>
113 <LI>CUPS-SVD-1.2: CUPS Software Version Description</LI>
114 </UL>
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>
117 <UL>
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
120 4.3.</A></LI>
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 for the Internet Printing
133 Protocol</A></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>
140 </UL>
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
147 run this script:</P>
148 <UL>
149 <PRE>
150 make test
151 </PRE>
152 </UL>
153 <P>or you can run the test script directly:</P>
154 <UL>
155 <PRE>
156 cd test
157 ./run-stp-tests
158 </PRE>
159 </UL>
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>
162 software.</P>
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
174 client.</P>
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
179 raster printer.</P>
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
195 in the queue.</P>
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 &quot;<CODE>-t</CODE>&quot; 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
207 cancel a job.</P>
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>
216 <DL>
217 <DT>C</DT>
218 <DD>A computer language.</DD>
219 <DT>parallel</DT>
220 <DD>Sending or receiving data more than 1 bit at a time.</DD>
221 <DT>pipe</DT>
222 <DD>A one-way communications channel between two programs.</DD>
223 <DT>serial</DT>
224 <DD>Sending or receiving data 1 bit at a time.</DD>
225 <DT>socket</DT>
226 <DD>A two-way network communications channel.</DD>
227 </DL>
228 <H2><A NAME="6_2">A.2 Acronyms</A></H2>
229 <DL>
230 <DT>ASCII</DT>
231 <DD>American Standard Code for Information Interchange</DD>
232 <DT>CUPS</DT>
233 <DD>Common UNIX Printing System</DD>
234 <DT>ESC/P</DT>
235 <DD>EPSON Standard Code for Printers</DD>
236 <DT>FTP</DT>
237 <DD>File Transfer Protocol</DD>
238 <DT>HP-GL</DT>
239 <DD>Hewlett-Packard Graphics Language</DD>
240 <DT>HP-PCL</DT>
241 <DD>Hewlett-Packard Page Control Language</DD>
242 <DT>HP-PJL</DT>
243 <DD>Hewlett-Packard Printer Job Language</DD>
244 <DT>IETF</DT>
245 <DD>Internet Engineering Task Force</DD>
246 <DT>IPP</DT>
247 <DD>Internet Printing Protocol</DD>
248 <DT>ISO</DT>
249 <DD>International Standards Organization</DD>
250 <DT>LPD</DT>
251 <DD>Line Printer Daemon</DD>
252 <DT>MIME</DT>
253 <DD>Multimedia Internet Mail Exchange</DD>
254 <DT>PPD</DT>
255 <DD>PostScript Printer Description</DD>
256 <DT>SMB</DT>
257 <DD>Server Message Block</DD>
258 <DT>TFTP</DT>
259 <DD>Trivial File Transfer Protocol</DD>
260 </DL>
261 </BODY>
262 </HTML>