xref: /aosp_15_r20/external/libcups/doc/help/spec-stp.html (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2*5e7646d2SAndroid Build Coastguard Worker<HTML>
3*5e7646d2SAndroid Build Coastguard Worker<!-- SECTION: Specifications -->
4*5e7646d2SAndroid Build Coastguard Worker<HEAD>
5*5e7646d2SAndroid Build Coastguard Worker	<TITLE>CUPS Software Test Plan</TITLE>
6*5e7646d2SAndroid Build Coastguard Worker	<LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
7*5e7646d2SAndroid Build Coastguard Worker</HEAD>
8*5e7646d2SAndroid Build Coastguard Worker<BODY>
9*5e7646d2SAndroid Build Coastguard Worker
10*5e7646d2SAndroid Build Coastguard Worker<H1 CLASS="title">CUPS Software Test Plan</H1>
11*5e7646d2SAndroid Build Coastguard Worker
12*5e7646d2SAndroid Build Coastguard Worker<P>This software test plan provides detailed tests that are used
13*5e7646d2SAndroid Build Coastguard Workerto evaluate the stability and compliance of CUPS.</P>
14*5e7646d2SAndroid Build Coastguard Worker
15*5e7646d2SAndroid Build Coastguard Worker
16*5e7646d2SAndroid Build Coastguard Worker<H2 CLASS="title"><A NAME="PROCEDURE">Test Procedure</A></H2>
17*5e7646d2SAndroid Build Coastguard Worker
18*5e7646d2SAndroid Build Coastguard Worker<P>The test software and data files are located in the
19*5e7646d2SAndroid Build Coastguard Worker<VAR>test</VAR> subdirectory of the source distribution. A script
20*5e7646d2SAndroid Build Coastguard Workeris provided to compile the <CODE>ipptool</CODE> program and run
21*5e7646d2SAndroid Build Coastguard Workerall of the tests that follow, producing a success/fail
22*5e7646d2SAndroid Build Coastguard Workerreport.</P>
23*5e7646d2SAndroid Build Coastguard Worker
24*5e7646d2SAndroid Build Coastguard Worker<P>The <CODE>test</CODE> target of the top-level makefile can be
25*5e7646d2SAndroid Build Coastguard Workerused to run this script:</P>
26*5e7646d2SAndroid Build Coastguard Worker
27*5e7646d2SAndroid Build Coastguard Worker<PRE CLASS="command">
28*5e7646d2SAndroid Build Coastguard Workermake test
29*5e7646d2SAndroid Build Coastguard Worker</PRE>
30*5e7646d2SAndroid Build Coastguard Worker
31*5e7646d2SAndroid Build Coastguard Worker<P>or you can run the test script directly:</P>
32*5e7646d2SAndroid Build Coastguard Worker
33*5e7646d2SAndroid Build Coastguard Worker<PRE CLASS="command">
34*5e7646d2SAndroid Build Coastguard Workercd test
35*5e7646d2SAndroid Build Coastguard Worker./run-stp-tests
36*5e7646d2SAndroid Build Coastguard Worker</PRE>
37*5e7646d2SAndroid Build Coastguard Worker
38*5e7646d2SAndroid Build Coastguard Worker<P>A Software Test Report is stored in a HTML file in the
39*5e7646d2SAndroid Build Coastguard Worker<VAR>test</VAR> subdirectory at the conclusion of the test.</P>
40*5e7646d2SAndroid Build Coastguard Worker
41*5e7646d2SAndroid Build Coastguard Worker
42*5e7646d2SAndroid Build Coastguard Worker<H2 CLASS="title"><A NAME="IPP">IPP Compliance Tests</A></H2>
43*5e7646d2SAndroid Build Coastguard Worker
44*5e7646d2SAndroid Build Coastguard Worker<P>This section describes the tests used to validate the IPP
45*5e7646d2SAndroid Build Coastguard Workerstandards compliance of the CUPS server.</P>
46*5e7646d2SAndroid Build Coastguard Worker
47*5e7646d2SAndroid Build Coastguard Worker<H3>Request Tests</H3>
48*5e7646d2SAndroid Build Coastguard Worker
49*5e7646d2SAndroid Build Coastguard Worker<P>These tests verify that the CUPS scheduler only accepts valid
50*5e7646d2SAndroid Build Coastguard WorkerIPP requests that start with the <CODE>attributes-charset</CODE>
51*5e7646d2SAndroid Build Coastguard Workerand <CODE>attributes-natural-language</CODE> attributes and also
52*5e7646d2SAndroid Build Coastguard Workercontain a <CODE>printer-uri</CODE> or <CODE>job-uri</CODE>
53*5e7646d2SAndroid Build Coastguard Workerattribute.</P>
54*5e7646d2SAndroid Build Coastguard Worker
55*5e7646d2SAndroid Build Coastguard Worker<P>It also verifies that the CUPS scheduler always responds with
56*5e7646d2SAndroid Build Coastguard Worker<CODE>attributes-charset</CODE> and
57*5e7646d2SAndroid Build Coastguard Worker<CODE>attributes-natural-language</CODE> attributes, using
58*5e7646d2SAndroid Build Coastguard Workerdefault values if they are not provided by the client.</P>
59*5e7646d2SAndroid Build Coastguard Worker
60*5e7646d2SAndroid Build Coastguard Worker<H3>CUPS Printer Operation Tests</H3>
61*5e7646d2SAndroid Build Coastguard Worker
62*5e7646d2SAndroid Build Coastguard Worker<P>These tests verify that the CUPS printer operations are
63*5e7646d2SAndroid Build Coastguard Workersupported and function properly. Two printers called
64*5e7646d2SAndroid Build Coastguard Worker<CODE>Test1</CODE> and <CODE>Test2</CODE> are created, one as a
65*5e7646d2SAndroid Build Coastguard WorkerPostScript printer and one as a raster printer.</P>
66*5e7646d2SAndroid Build Coastguard Worker
67*5e7646d2SAndroid Build Coastguard Worker<H3>Job Operation Tests</H3>
68*5e7646d2SAndroid Build Coastguard Worker
69*5e7646d2SAndroid Build Coastguard Worker<P>These test verify that the CUPS scheduler accepts print jobs
70*5e7646d2SAndroid Build Coastguard Workerfor all supported file formats and that the
71*5e7646d2SAndroid Build Coastguard Worker<CODE>cancel-job</CODE>, <CODE>hold-job</CODE>, and
72*5e7646d2SAndroid Build Coastguard Worker<CODE>resume-job</CODE> operations work.</P>
73*5e7646d2SAndroid Build Coastguard Worker
74*5e7646d2SAndroid Build Coastguard Worker<H3>Subscription Operation Tests</H3>
75*5e7646d2SAndroid Build Coastguard Worker
76*5e7646d2SAndroid Build Coastguard Worker<P>These test verify that the CUPS scheduler accepts
77*5e7646d2SAndroid Build Coastguard Workersubscriptions with print jobs and that all subscription
78*5e7646d2SAndroid Build Coastguard Workeroperations work as required by the IPP notification and mailto
79*5e7646d2SAndroid Build Coastguard Workerspecifications.</P>
80*5e7646d2SAndroid Build Coastguard Worker
81*5e7646d2SAndroid Build Coastguard Worker
82*5e7646d2SAndroid Build Coastguard Worker<H2 CLASS="title"><A NAME="COMMAND">Command Tests</A></H2>
83*5e7646d2SAndroid Build Coastguard Worker
84*5e7646d2SAndroid Build Coastguard Worker<P>This section describes the tests used to validate the Berkeley
85*5e7646d2SAndroid Build Coastguard Workerand System V commands included with CUPS.</P>
86*5e7646d2SAndroid Build Coastguard Worker
87*5e7646d2SAndroid Build Coastguard Worker<H3>lpadmin</H3>
88*5e7646d2SAndroid Build Coastguard Worker
89*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that printers can be added, modified, and
90*5e7646d2SAndroid Build Coastguard Workerdefaulted using the <CODE>lpadmin</CODE> command.</P>
91*5e7646d2SAndroid Build Coastguard Worker
92*5e7646d2SAndroid Build Coastguard Worker<H3>lpc</H3>
93*5e7646d2SAndroid Build Coastguard Worker
94*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lpc</CODE> command can show
95*5e7646d2SAndroid Build Coastguard Workerthe current status of all print queues.</P>
96*5e7646d2SAndroid Build Coastguard Worker
97*5e7646d2SAndroid Build Coastguard Worker<H3>lpq</H3>
98*5e7646d2SAndroid Build Coastguard Worker
99*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lpq</CODE> command lists
100*5e7646d2SAndroid Build Coastguard Workerany jobs in the queue.</P>
101*5e7646d2SAndroid Build Coastguard Worker
102*5e7646d2SAndroid Build Coastguard Worker<H3>lpstat</H3>
103*5e7646d2SAndroid Build Coastguard Worker
104*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lpstat</CODE> command works
105*5e7646d2SAndroid Build Coastguard Workerwith all reports using the "<CODE>-t</CODE>" option.</P>
106*5e7646d2SAndroid Build Coastguard Worker
107*5e7646d2SAndroid Build Coastguard Worker<H3>lp</H3>
108*5e7646d2SAndroid Build Coastguard Worker
109*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lp</CODE> command works with
110*5e7646d2SAndroid Build Coastguard Workerboth the default destination and a specific destination.</P>
111*5e7646d2SAndroid Build Coastguard Worker
112*5e7646d2SAndroid Build Coastguard Worker<H3>lpr</H3>
113*5e7646d2SAndroid Build Coastguard Worker
114*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lpr</CODE> command works
115*5e7646d2SAndroid Build Coastguard Workerwith both the default destination and a specific destination.</P>
116*5e7646d2SAndroid Build Coastguard Worker
117*5e7646d2SAndroid Build Coastguard Worker<H3>lprm</H3>
118*5e7646d2SAndroid Build Coastguard Worker
119*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lprm</CODE> command can
120*5e7646d2SAndroid Build Coastguard Workerproperly cancel a job.</P>
121*5e7646d2SAndroid Build Coastguard Worker
122*5e7646d2SAndroid Build Coastguard Worker<H3>cancel</H3>
123*5e7646d2SAndroid Build Coastguard Worker
124*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>cancel</CODE> command can
125*5e7646d2SAndroid Build Coastguard Workerproperly cancel a job or all jobs.</P>
126*5e7646d2SAndroid Build Coastguard Worker
127*5e7646d2SAndroid Build Coastguard Worker<H3>lpinfo</H3>
128*5e7646d2SAndroid Build Coastguard Worker
129*5e7646d2SAndroid Build Coastguard Worker<P>This test verifies that the <CODE>lpinfo</CODE> command
130*5e7646d2SAndroid Build Coastguard Workerreturns a list of available printer drivers and devices.</P>
131*5e7646d2SAndroid Build Coastguard Worker
132*5e7646d2SAndroid Build Coastguard Worker</BODY>
133*5e7646d2SAndroid Build Coastguard Worker</HTML>
134