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