| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <HTML> |
| <!-- SECTION: Specifications --> |
| <HEAD> |
| <TITLE>CUPS Software Test Plan</TITLE> |
| <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css"> |
| </HEAD> |
| <BODY> |
| |
| <H1 CLASS="title">CUPS Software Test Plan</H1> |
| |
| <P>This software test plan provides detailed tests that are used |
| to evaluate the stability and compliance of CUPS.</P> |
| |
| |
| <H2 CLASS="title"><A NAME="PROCEDURE">Test Procedure</A></H2> |
| |
| <P>The test software and data files are located in the |
| <VAR>test</VAR> subdirectory of the source distribution. A script |
| is provided to compile the <CODE>ipptool</CODE> program and run |
| all of the tests that follow, producing a success/fail |
| report.</P> |
| |
| <P>The <CODE>test</CODE> target of the top-level makefile can be |
| used to run this script:</P> |
| |
| <PRE CLASS="command"> |
| make test |
| </PRE> |
| |
| <P>or you can run the test script directly:</P> |
| |
| <PRE CLASS="command"> |
| cd test |
| ./run-stp-tests |
| </PRE> |
| |
| <P>A Software Test Report is stored in a HTML file in the |
| <VAR>test</VAR> subdirectory at the conclusion of the test.</P> |
| |
| |
| <H2 CLASS="title"><A NAME="IPP">IPP Compliance Tests</A></H2> |
| |
| <P>This section describes the tests used to validate the IPP |
| standards compliance of the CUPS server.</P> |
| |
| <H3>Request Tests</H3> |
| |
| <P>These tests verify that the CUPS scheduler only accepts valid |
| IPP requests that start with the <CODE>attributes-charset</CODE> |
| and <CODE>attributes-natural-language</CODE> attributes and also |
| contain a <CODE>printer-uri</CODE> or <CODE>job-uri</CODE> |
| attribute.</P> |
| |
| <P>It also verifies that the CUPS scheduler always responds with |
| <CODE>attributes-charset</CODE> and |
| <CODE>attributes-natural-language</CODE> attributes, using |
| default values if they are not provided by the client.</P> |
| |
| <H3>CUPS Printer Operation Tests</H3> |
| |
| <P>These tests verify that the CUPS printer operations are |
| supported and function properly. Two printers called |
| <CODE>Test1</CODE> and <CODE>Test2</CODE> are created, one as a |
| PostScript printer and one as a raster printer.</P> |
| |
| <H3>Job Operation Tests</H3> |
| |
| <P>These test verify that the CUPS scheduler accepts print jobs |
| for all supported file formats and that the |
| <CODE>cancel-job</CODE>, <CODE>hold-job</CODE>, and |
| <CODE>resume-job</CODE> operations work.</P> |
| |
| <H3>Subscription Operation Tests</H3> |
| |
| <P>These test verify that the CUPS scheduler accepts |
| subscriptions with print jobs and that all subscription |
| operations work as required by the IPP notification and mailto |
| specifications.</P> |
| |
| |
| <H2 CLASS="title"><A NAME="COMMAND">Command Tests</A></H2> |
| |
| <P>This section describes the tests used to validate the Berkeley |
| and System V commands included with CUPS.</P> |
| |
| <H3>lpadmin</H3> |
| |
| <P>This test verifies that printers can be added, modified, and |
| defaulted using the <CODE>lpadmin</CODE> command.</P> |
| |
| <H3>lpc</H3> |
| |
| <P>This test verifies that the <CODE>lpc</CODE> command can show |
| the current status of all print queues.</P> |
| |
| <H3>lpq</H3> |
| |
| <P>This test verifies that the <CODE>lpq</CODE> command lists |
| any jobs in the queue.</P> |
| |
| <H3>lpstat</H3> |
| |
| <P>This test verifies that the <CODE>lpstat</CODE> command works |
| with all reports using the "<CODE>-t</CODE>" option.</P> |
| |
| <H3>lp</H3> |
| |
| <P>This test verifies that the <CODE>lp</CODE> command works with |
| both the default destination and a specific destination.</P> |
| |
| <H3>lpr</H3> |
| |
| <P>This test verifies that the <CODE>lpr</CODE> command works |
| with both the default destination and a specific destination.</P> |
| |
| <H3>lprm</H3> |
| |
| <P>This test verifies that the <CODE>lprm</CODE> command can |
| properly cancel a job.</P> |
| |
| <H3>cancel</H3> |
| |
| <P>This test verifies that the <CODE>cancel</CODE> command can |
| properly cancel a job or all jobs.</P> |
| |
| <H3>lpinfo</H3> |
| |
| <P>This test verifies that the <CODE>lpinfo</CODE> command |
| returns a list of available printer drivers and devices.</P> |
| |
| </BODY> |
| </HTML> |