{
memcpy(fp->ptr, fp->printf_buffer, (size_t)bytes);
fp->ptr += bytes;
- return ((int)bytes);
+
+ if (fp->is_stdio && cupsFileFlush(fp))
+ return (-1);
+ else
+ return ((int)bytes);
}
}
{
memcpy(fp->ptr, s, (size_t)bytes);
fp->ptr += bytes;
- return ((int)bytes);
+
+ if (fp->is_stdio && cupsFileFlush(fp))
+ return (-1);
+ else
+ return ((int)bytes);
}
}
#
# Test the lpstat command.
#
-# Copyright 2007-2011 by Apple Inc.
+# Copyright 2007-2017 by Apple Inc.
# Copyright 1997-2005 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
# file is missing or damaged, see the license at "http://www.cups.org/".
#
-echo "LPSTAT Test"
+echo "LPSTAT Basic Test"
echo ""
echo " lpstat -t"
$VALGRIND ../systemv/lpstat -t 2>&1
fi
echo ""
-echo "LPSTAT Test"
+echo "LPSTAT Enumeration Test"
+echo ""
+echo " lpstat -e"
+printers="`$VALGRIND ../systemv/lpstat -e 2>&1`"
+if test $? != 0 -o "x$printers" = x; then
+ echo " FAILED"
+ exit 1
+else
+ for printer in $printers; do
+ echo $printer
+ done
+ echo " PASSED"
+fi
+echo ""
+
+echo "LPSTAT Get Host Test"
echo ""
echo " lpstat -H"
server="`$VALGRIND ../systemv/lpstat -H 2>&1`"
#
-# "$Id$"
+# IPP/1.1 test suite.
#
-# IPP/1.1 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
#
-# Copyright 2007-2015 by Apple Inc.
-# Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-# These coded instructions, statements, and computer programs are the
-# property of Apple Inc. and are protected by Federal copyright
-# law. Distribution and use rights are outlined in the file "LICENSE.txt"
-# which should have been included with this file. If this file is
-# file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
#
# Usage:
#
# Test that a request-id value of 0 is not accepted.
#
-# Required by: RFC 2911 section 3.1.1
+# Required by: RFC 8011 section 4.1.1
{
- NAME "RFC 2911 section 3.1.1: Bad request-id value 0"
+ NAME "RFC 8011 section 4.1.1: Bad request-id value 0"
REQUEST-ID 0
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
# Test that the first two attributes must be attributes-charset and
# attributes-natural-language.
#
-# Required by: RFC 2911 section 3.1.4
+# Required by: RFC 8011 section 4.1.4
{
- NAME "RFC 2911 section 3.1.4: No Operation Attributes"
+ NAME "RFC 8011 section 4.1.4: No Operation Attributes"
REQUEST-ID random
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
EXPECT !printer-uri-supported
}
{
- NAME "RFC 2911 section 3.1.4: attributes-charset"
+ NAME "RFC 8011 section 4.1.4: attributes-charset"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
EXPECT !printer-uri-supported
}
{
- NAME "RFC 2911 section 3.1.4: attributes-natural-language"
+ NAME "RFC 8011 section 4.1.4: attributes-natural-language"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR naturalLanguage attributes-natural-language en
EXPECT !printer-uri-supported
}
{
- NAME "RFC 2911 section 3.1.4: attributes-natural-language + attributes-charset"
+ NAME "RFC 8011 section 4.1.4: attributes-natural-language + attributes-charset"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR naturalLanguage attributes-natural-language en
EXPECT !printer-uri-supported
}
{
- NAME "RFC 2911 section 3.1.4: attributes-charset + attributes-natural-language"
+ NAME "RFC 8011 section 4.1.4: attributes-charset + attributes-natural-language"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test that bad IPP versions are not supported.
#
-# Required by: RFC 2911 section 3.1.8
+# Required by: RFC 8011 section 4.1.8
{
# The name of the test...
- NAME "RFC 2911 section 3.1.8: Unsupported IPP version 0.0"
+ NAME "RFC 8011 section 4.1.8: Unsupported IPP version 0.0"
VERSION 0.0
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
# Test that printer operations require the printer-uri operation attribute.
#
-# Required by: RFC 2911 section 3.2
+# Required by: RFC 8011 section 4.2
{
- NAME "RFC 2911 section 3.2: No printer-uri operation attribute"
+ NAME "RFC 8011 section 4.2: No printer-uri operation attribute"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Print-Job operation
#
-# Required by: RFC 2911 section 3.2.1
+# Required by: RFC 8011 section 4.2.1
{
- NAME "RFC 2911 section 3.2.1: Print-Job Operation"
+ NAME "RFC 8011 section 4.2.1: Print-Job Operation"
OPERATION Print-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Validate-Job operation
#
-# Required by: RFC 2911 section 3.2.3
+# Required by: RFC 8011 section 4.2.3
{
- NAME "RFC 2911 section 3.2.3: Validate-Job Operation"
+ NAME "RFC 8011 section 4.2.3: Validate-Job Operation"
OPERATION Validate-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Printer-Attributes operation
#
-# Required by: RFC 2911 section 3.2.5
+# Required by: RFC 8011 section 4.2.5
{
- NAME "RFC 2911 section 3.2.5: Get-Printer-Attributes Operation (default)"
+ NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (default)"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Printer-Attributes operation with requested-attributes
#
-# Required by: RFC 2911 section 3.2.5
+# Required by: RFC 8011 section 4.2.5
{
- NAME "RFC 2911 section 3.2.5: Get-Printer-Attributes Operation (requested-attributes)"
+ NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (requested-attributes)"
OPERATION Get-Printer-Attributes
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (default)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (default)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
SKIP-IF-DEFINED PRINT_JOB_COMPLETED
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (requested-attributes)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (requested-attributes)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
SKIP-IF-DEFINED PRINT_JOB_COMPLETED
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (my-jobs)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
SKIP-IF-DEFINED PRINT_JOB_COMPLETED
# use the authenticated username over the requesting-user-name value.
SKIP-IF-DEFINED uriuser
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (my-jobs different user)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs different user)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
SKIP-IF-DEFINED PRINT_JOB_COMPLETED
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs=not-completed)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=not-completed)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs=completed)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=completed)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Jobs operation
#
-# Required by: RFC 2911 section 3.2.6
+# Required by: RFC 8011 section 4.2.6
{
SKIP-IF-DEFINED PRINT_JOB_COMPLETED
- NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs, requested-attributes)"
+ NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs, requested-attributes)"
OPERATION Get-Jobs
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
# Test Cancel-Job operation
#
-# Required by: RFC 2911 section 3.3.3
+# Required by: RFC 8011 section 4.3.3
{
- NAME "RFC 2911 section 3.3.3: Cancel-Job Operation (completed job)"
+ NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (completed job)"
OPERATION Cancel-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Print-Job operation
#
-# Required by: RFC 2911 section 3.2.1
+# Required by: RFC 8011 section 4.2.1
{
- NAME "RFC 2911 section 3.2.1: Print-Job Operation"
+ NAME "RFC 8011 section 4.2.1: Print-Job Operation"
OPERATION Print-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Cancel-Job operation
#
-# Required by: RFC 2911 section 3.3.3
+# Required by: RFC 8011 section 4.3.3
{
- NAME "RFC 2911 section 3.3.3: Cancel-Job Operation (pending/processing job)"
+ NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (pending/processing job)"
OPERATION Cancel-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Get-Job-Attributes operation
#
-# Required by: RFC 2911 section 3.3.4
+# Required by: RFC 8011 section 4.3.4
{
- NAME "RFC 2911 section 3.3.4: Get-Job-Attributes Operation"
+ NAME "RFC 8011 section 4.3.4: Get-Job-Attributes Operation"
OPERATION Get-Job-Attributes
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
- EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
# Test Print-URI operation
#
-# Defined by: RFC 2911 section 3.2.2
+# Defined by: RFC 8011 section 4.2.2
{
SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI
SKIP-IF-NOT-DEFINED document-uri
- NAME "RFC 2911 section 3.2.2: Print-URI Operation"
+ NAME "RFC 8011 section 4.2.2: Print-URI Operation"
OPERATION Print-URI
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Print-URI operation with bad document-uri
#
-# Defined by: RFC 2911 section 3.2.2
+# Defined by: RFC 8011 section 4.2.2
{
SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI
SKIP-IF-NOT-DEFINED document-uri
# Test Create-Job and Send-Document operations
#
-# Defined by: RFC 2911 section 3.2.4 and 3.3.1
+# Defined by: RFC 8011 section 4.2.4 and 4.3.1
{
SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
- NAME "RFC 2911 section 3.2.4: Create-Job Operation"
+ NAME "RFC 8011 section 4.2.4: Create-Job Operation"
OPERATION Create-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
SKIP-PREVIOUS-ERROR yes
- NAME "RFC 2911 section 3.3.1: Send-Document Operation"
+ NAME "RFC 8011 section 4.3.1: Send-Document Operation"
OPERATION Send-Document
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Create-Job and Send-Document operations (no last-document)
#
-# Defined by: RFC 2911 section 3.2.4 and 3.3.1
+# Defined by: RFC 8011 section 4.2.4 and 4.3.1
{
SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
SKIP-PREVIOUS-ERROR yes
- NAME "RFC 2911 section 3.3.3: Cancel-Job Operation"
+ NAME "RFC 8011 section 4.3.3: Cancel-Job Operation"
OPERATION Cancel-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Create-Job and Send-URI operations
#
-# Defined by: RFC 2911 section 3.2.4 and 3.3.2
+# Defined by: RFC 8011 section 4.2.4 and 4.3.2
{
SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
SKIP-IF-NOT-DEFINED document-uri
- NAME "RFC 2911 section 3.2.4: Create-Job Operation"
+ NAME "RFC 8011 section 4.2.4: Create-Job Operation"
OPERATION Create-Job
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
SKIP-IF-NOT-DEFINED document-uri
SKIP-PREVIOUS-ERROR yes
- NAME "RFC 2911 section 3.3.2: Send-URI Operation"
+ NAME "RFC 8011 section 4.3.2: Send-URI Operation"
OPERATION Send-URI
GROUP operation-attributes-tag
ATTR charset attributes-charset utf-8
# Test Create-Job and Send-URI operations (bad URI)
#
-# Defined by: RFC 2911 section 3.2.4 and 3.3.2
+# Defined by: RFC 8011 section 4.2.4 and 4.3.2
{
SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
STATUS successful-ok
STATUS client-error-not-possible
}
-
-
-#
-# End of "$Id$".
-#
#
-# "$Id$"
+# IPP/2.0 test suite.
#
-# IPP/2.0 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
#
-# Copyright 2007-2012 by Apple Inc.
-# Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-# These coded instructions, statements, and computer programs are the
-# property of Apple Inc. and are protected by Federal copyright
-# law. Distribution and use rights are outlined in the file "LICENSE.txt"
-# which should have been included with this file. If this file is
-# file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
#
# Usage:
#
# Do all of the IPP/1.1 tests as an IPP/2.0 client
#
-# Required by: PWG 5100.12 section 4.3
+# Required by: PWG 5100.12 section 4.1
INCLUDE "ipp-1.1.test"
EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
}
-
-
-#
-# End of "$Id$".
-#
#
-# "$Id$"
+# IPP/2.1 test suite.
#
-# IPP/2.1 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
#
-# Copyright 2007-2011 by Apple Inc.
-# Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-# These coded instructions, statements, and computer programs are the
-# property of Apple Inc. and are protected by Federal copyright
-# law. Distribution and use rights are outlined in the file "LICENSE.txt"
-# which should have been included with this file. If this file is
-# file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
#
# Usage:
#
EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
}
-
-
-#
-# End of "$Id$".
-#
#
-# "$Id$"
+# IPP/2.2 test suite.
#
-# IPP/2.2 test suite.
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
#
-# Copyright 2007-2011 by Apple Inc.
-# Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-# These coded instructions, statements, and computer programs are the
-# property of Apple Inc. and are protected by Federal copyright
-# law. Distribution and use rights are outlined in the file "LICENSE.txt"
-# which should have been included with this file. If this file is
-# file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
#
# Usage:
#
EXPECT operations-supported WITH-VALUE 0x003A # Resubmit-Job
EXPECT operations-supported WITH-VALUE 0x003B # Close-Job
}
-
-
-#
-# End of "$Id$".
-#
#
-# "$Id$"
+# IPP Everywhere test suite.
#
-# IPP Everywhere test suite.
+# Copyright 2007-2013 by Apple Inc.
+# Copyright 2001-2006 by Easy Software Products. All rights reserved.
#
-# Copyright 2007-2013 by Apple Inc.
-# Copyright 2001-2006 by Easy Software Products. All rights reserved.
-#
-# These coded instructions, statements, and computer programs are the
-# property of Apple Inc. and are protected by Federal copyright
-# law. Distribution and use rights are outlined in the file "LICENSE.txt"
-# which should have been included with this file. If this file is
-# file is missing or damaged, see the license at "http://www.cups.org/".
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
#
# Usage:
#
STATUS successful-ok
STATUS server-error-busy REPEAT-MATCH
}
-
-
-#
-# End of "$Id$".
-#
* Show a summary report if there were multiple tests...
*/
- printf("\nSummary: %d tests, %d passed, %d failed, %d skipped\n"
- "Score: %d%%\n", TestCount, PassCount, FailCount, SkipCount,
- 100 * (PassCount + SkipCount) / TestCount);
+ cupsFilePrintf(cupsFileStdout(), "\nSummary: %d tests, %d passed, %d failed, %d skipped\nScore: %d%%\n", TestCount, PassCount, FailCount, SkipCount, 100 * (PassCount + SkipCount) / TestCount);
}
- /*
+ cupsFileClose(outfile);
+
+/*
* Exit...
*/
if (Output == _CUPS_OUTPUT_PLIST)
print_xml_header(outfile);
if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
- printf("\"%s\":\n", testfile);
+ cupsFilePrintf(cupsFileStdout(), "\"%s\":\n", testfile);
show_header = 0;
}
{
if (Verbosity)
{
- printf(" %s:\n", ippOpString(op));
+ cupsFilePrintf(cupsFileStdout(), " %s:\n", ippOpString(op));
for (attrptr = request->attrs; attrptr; attrptr = attrptr->next)
print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
}
cupsFilePrintf(cupsFileStdout(), " %-68.68s [", name);
- cupsFileFlush(cupsFileStdout());
}
if ((skip_previous && !prev_pass) || skip_test)
}
if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
- cupsFilePuts(cupsFileStdout(), "SKIP]");
+ cupsFilePuts(cupsFileStdout(), "SKIP]\n");
goto skip_error;
}
if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
{
cupsFilePrintf(cupsFileStdout(), "%04d]\n", repeat_count);
- cupsFileFlush(cupsFileStdout());
-
+\
if (num_displayed > 0)
{
for (attrptr = ippFirstAttribute(response); attrptr; attrptr = ippNextAttribute(response))
if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
{
cupsFilePrintf(cupsFileStdout(), " %-68.68s [", name);
- cupsFileFlush(cupsFileStdout());
}
}
}
if (Output == _CUPS_OUTPUT_TEST || (Output == _CUPS_OUTPUT_PLIST && outfile != cupsFileStdout()))
{
- cupsFilePuts(cupsFileStdout(), prev_pass ? "PASS]" : "FAIL]");
+ cupsFilePuts(cupsFileStdout(), prev_pass ? "PASS]\n" : "FAIL]\n");
if (!prev_pass || (Verbosity && response))
{
if (Output == _CUPS_OUTPUT_PLIST)
cupsFilePuts(outfile, "</dict>\n");
- cupsFileFlush(cupsFileStdout());
-
ippDelete(response);
response = NULL;
* Display the prompt...
*/
- printf("%s\n---- PRESS ANY KEY ----", message);
- cupsFileFlush(cupsFileStdout());
+ cupsFilePrintf(cupsFileStdout(), "%s\n---- PRESS ANY KEY ----", message);
#ifdef WIN32
/*
*/
cupsFilePuts(cupsFileStdout(), "\r \r");
- cupsFileFlush(cupsFileStdout());
}
# Perform the complete set of IPP compliance tests specified in the
# CUPS Software Test Plan.
#
-# Copyright 2007-2016 by Apple Inc.
+# Copyright 2007-2017 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
date=`date "+%Y-%m-%d"`
-if test -d $root/.svn; then
- rev=`svn info . | grep Revision: | awk '{print $2}'`
- strfile=$BASE/cups-str-2.2-r$rev-$user.html
-else
- strfile=$BASE/cups-str-2.2-$date-$user.html
-fi
+strfile=$BASE/cups-str-$date-$user.html
rm -f $strfile
cat str-header.html >$strfile
echo ""
echo "Running IPP compliance tests..."
-echo "<H1><A NAME='IPP'>1 - IPP Compliance Tests</A></H1>" >>$strfile
-echo "<P>This section provides the results to the IPP compliance tests" >>$strfile
-echo "outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
-echo `date "+%Y-%m-%d"` by $user on `hostname`. >>$strfile
-echo "<PRE>" >>$strfile
+echo " <h1><a name='IPP'>1 - IPP Compliance Tests</a></h1>" >>$strfile
+echo " <p>This section provides the results to the IPP compliance tests" >>$strfile
+echo " outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
+echo " $date by $user on `hostname`." >>$strfile
+echo " <pre>" >>$strfile
fail=0
for file in 4*.test ipp-2.1.test; do
fi
done
-echo "</PRE>" >>$strfile
+echo " </pre>" >>$strfile
#
# Run the command tests...
echo ""
echo "Running command tests..."
-echo "<H1><A NAME='COMMAND'>2 - Command Tests</A></H1>" >>$strfile
-echo "<P>This section provides the results to the command tests" >>$strfile
-echo "outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
-echo $date by $user on `hostname`. >>$strfile
-echo "<PRE>" >>$strfile
+echo " <h1><a name='COMMAND'>2 - Command Tests</a></h1>" >>$strfile
+echo " <p>This section provides the results to the command tests" >>$strfile
+echo " outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile
+echo " $date by $user on `hostname`." >>$strfile
+echo " <pre>" >>$strfile
for file in 5*.sh; do
echo $ac_n "Performing $file: $ac_c"
#
# Log all allocations made by the scheduler...
#
+
if test `uname` = Darwin -a "x$VALGRIND" = x; then
malloc_history $cupsd -callTree -showContent >$BASE/log/malloc_log 2>&1
fi
echo PASS
fi
-echo "</PRE>" >>$strfile
+echo " </pre>" >>$strfile
#
# Stop the server...
echo "Test Summary"
echo ""
-echo "<H1><A NAME='SUMMARY'>3 - Test Summary</A></H1>" >>$strfile
+echo " <h1><a name='SUMMARY'>3 - Test Summary</a></h1>" >>$strfile
if test $cupsdstatus != 0; then
echo "FAIL: cupsd failed with exit status $cupsdstatus."
- echo "<p>FAIL: cupsd failed with exit status $cupsdstatus.</p>" >>$strfile
+ echo " <p>FAIL: cupsd failed with exit status $cupsdstatus.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: cupsd exited with no errors."
- echo "<p>PASS: cupsd exited with no errors.</p>" >>$strfile
+ echo " <p>PASS: cupsd exited with no errors.</p>" >>$strfile
fi
# Job control files
count=`expr $count - 1`
if test $count != 0; then
echo "FAIL: $count job control files were not purged."
- echo "<P>FAIL: $count job control files were not purged.</P>" >>$strfile
+ echo " <p>FAIL: $count job control files were not purged.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: All job control files purged."
- echo "<P>PASS: All job control files purged.</P>" >>$strfile
+ echo " <p>PASS: All job control files purged.</p>" >>$strfile
fi
# Pages printed on Test1 (within 1 page for timing-dependent cancel issues)
expected2=`expr $expected + 2`
if test $count -lt $expected -a $count -gt $expected2; then
echo "FAIL: Printer 'Test1' produced $count page(s), expected $expected."
- echo "<P>FAIL: Printer 'Test1' produced $count page(s), expected $expected.</P>" >>$strfile
+ echo " <p>FAIL: Printer 'Test1' produced $count page(s), expected $expected.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: Printer 'Test1' correctly produced $count page(s)."
- echo "<P>PASS: Printer 'Test1' correctly produced $count page(s).</P>" >>$strfile
+ echo " <p>PASS: Printer 'Test1' correctly produced $count page(s).</p>" >>$strfile
fi
# Paged printed on Test2
expected=`expr $pjobs \* 2 + 3`
if test $count != $expected; then
echo "FAIL: Printer 'Test2' produced $count page(s), expected $expected."
- echo "<P>FAIL: Printer 'Test2' produced $count page(s), expected $expected.</P>" >>$strfile
+ echo " <p>FAIL: Printer 'Test2' produced $count page(s), expected $expected.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: Printer 'Test2' correctly produced $count page(s)."
- echo "<P>PASS: Printer 'Test2' correctly produced $count page(s).</P>" >>$strfile
+ echo " <p>PASS: Printer 'Test2' correctly produced $count page(s).</p>" >>$strfile
fi
# Paged printed on Test3
expected=2
if test $count != $expected; then
echo "FAIL: Printer 'Test3' produced $count page(s), expected $expected."
- echo "<P>FAIL: Printer 'Test3' produced $count page(s), expected $expected.</P>" >>$strfile
+ echo " <p>FAIL: Printer 'Test3' produced $count page(s), expected $expected.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: Printer 'Test3' correctly produced $count page(s)."
- echo "<P>PASS: Printer 'Test3' correctly produced $count page(s).</P>" >>$strfile
+ echo " <p>PASS: Printer 'Test3' correctly produced $count page(s).</p>" >>$strfile
fi
# Requests logged
expected=`expr 37 + 18 + 30 + $pjobs \* 8 + $pprinters \* $pjobs \* 4`
if test $count != $expected; then
echo "FAIL: $count requests logged, expected $expected."
- echo "<P>FAIL: $count requests logged, expected $expected.</P>" >>$strfile
+ echo " <p>FAIL: $count requests logged, expected $expected.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count requests logged."
- echo "<P>PASS: $count requests logged.</P>" >>$strfile
+ echo " <p>PASS: $count requests logged.</p>" >>$strfile
fi
# Did CUPS-Get-Default get logged?
if $GREP -q CUPS-Get-Default $BASE/log/access_log; then
echo "FAIL: CUPS-Get-Default logged with 'AccessLogLevel actions'"
- echo "<P>FAIL: CUPS-Get-Default logged with 'AccessLogLevel actions'</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: CUPS-Get-Default logged with 'AccessLogLevel actions'</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP CUPS-Get-Default $BASE/log/access_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: CUPS-Get-Default not logged."
- echo "<P>PASS: CUPS-Get-Default not logged.</P>" >>$strfile
+ echo " <p>PASS: CUPS-Get-Default not logged.</p>" >>$strfile
fi
# Emergency log messages
if test $count != 0; then
echo "FAIL: $count emergency messages, expected 0."
$GREP '^X ' $BASE/log/error_log
- echo "<P>FAIL: $count emergency messages, expected 0.</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: $count emergency messages, expected 0.</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP '^X ' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count emergency messages."
- echo "<P>PASS: $count emergency messages.</P>" >>$strfile
+ echo " <p>PASS: $count emergency messages.</p>" >>$strfile
fi
# Alert log messages
if test $count != 0; then
echo "FAIL: $count alert messages, expected 0."
$GREP '^A ' $BASE/log/error_log
- echo "<P>FAIL: $count alert messages, expected 0.</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: $count alert messages, expected 0.</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP '^A ' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count alert messages."
- echo "<P>PASS: $count alert messages.</P>" >>$strfile
+ echo " <p>PASS: $count alert messages.</p>" >>$strfile
fi
# Critical log messages
if test $count != 0; then
echo "FAIL: $count critical messages, expected 0."
$GREP '^C ' $BASE/log/error_log
- echo "<P>FAIL: $count critical messages, expected 0.</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: $count critical messages, expected 0.</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP '^C ' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count critical messages."
- echo "<P>PASS: $count critical messages.</P>" >>$strfile
+ echo " <p>PASS: $count critical messages.</p>" >>$strfile
fi
# Error log messages
if test $count != 33; then
echo "FAIL: $count error messages, expected 33."
$GREP '^E ' $BASE/log/error_log
- echo "<P>FAIL: $count error messages, expected 33.</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: $count error messages, expected 33.</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP '^E ' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count error messages."
- echo "<P>PASS: $count error messages.</P>" >>$strfile
+ echo " <p>PASS: $count error messages.</p>" >>$strfile
fi
# Warning log messages
if test $count != 8; then
echo "FAIL: $count warning messages, expected 8."
$GREP '^W ' $BASE/log/error_log
- echo "<P>FAIL: $count warning messages, expected 8.</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: $count warning messages, expected 8.</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP '^W ' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count warning messages."
- echo "<P>PASS: $count warning messages.</P>" >>$strfile
+ echo " <p>PASS: $count warning messages.</p>" >>$strfile
fi
# Notice log messages
if test $count != 0; then
echo "FAIL: $count notice messages, expected 0."
$GREP '^N ' $BASE/log/error_log
- echo "<P>FAIL: $count notice messages, expected 0.</P>" >>$strfile
- echo "<PRE>" >>$strfile
+ echo " <p>FAIL: $count notice messages, expected 0.</p>" >>$strfile
+ echo " <pre>" >>$strfile
$GREP '^N ' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
- echo "</PRE>" >>$strfile
+ echo " </pre>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count notice messages."
- echo "<P>PASS: $count notice messages.</P>" >>$strfile
+ echo " <p>PASS: $count notice messages.</p>" >>$strfile
fi
# Info log messages
count=`$GREP '^I ' $BASE/log/error_log | wc -l | awk '{print $1}'`
if test $count = 0; then
echo "FAIL: $count info messages, expected more than 0."
- echo "<P>FAIL: $count info messages, expected more than 0.</P>" >>$strfile
+ echo " <p>FAIL: $count info messages, expected more than 0.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count info messages."
- echo "<P>PASS: $count info messages.</P>" >>$strfile
+ echo " <p>PASS: $count info messages.</p>" >>$strfile
fi
# Debug log messages
count=`$GREP '^D ' $BASE/log/error_log | wc -l | awk '{print $1}'`
if test $count = 0; then
echo "FAIL: $count debug messages, expected more than 0."
- echo "<P>FAIL: $count debug messages, expected more than 0.</P>" >>$strfile
+ echo " <p>FAIL: $count debug messages, expected more than 0.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count debug messages."
- echo "<P>PASS: $count debug messages.</P>" >>$strfile
+ echo " <p>PASS: $count debug messages.</p>" >>$strfile
fi
# Debug2 log messages
count=`$GREP '^d ' $BASE/log/error_log | wc -l | awk '{print $1}'`
if test $count = 0; then
echo "FAIL: $count debug2 messages, expected more than 0."
- echo "<P>FAIL: $count debug2 messages, expected more than 0.</P>" >>$strfile
+ echo " <p>FAIL: $count debug2 messages, expected more than 0.</p>" >>$strfile
fail=`expr $fail + 1`
else
echo "PASS: $count debug2 messages."
- echo "<P>PASS: $count debug2 messages.</P>" >>$strfile
+ echo " <p>PASS: $count debug2 messages.</p>" >>$strfile
fi
#
# Log files...
#
-echo "<H1><A NAME='LOGS'>4 - Log Files</A></H1>" >>$strfile
-
-echo "<H2><A NAME='access_log'>access_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-sed -e '1,$s/&/&/g' -e '1,$s/</</g' $BASE/log/access_log >>$strfile
-echo "</PRE>" >>$strfile
-
-echo "<H2><A NAME='error_log'>error_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-$GREP -v '^d' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
-echo "</PRE>" >>$strfile
-
-echo "<H2><A NAME='page_log'>page_log</A></H2>" >>$strfile
-echo "<PRE>" >>$strfile
-sed -e '1,$s/&/&/g' -e '1,$s/</</g' $BASE/log/page_log >>$strfile
-echo "</PRE>" >>$strfile
+echo " <h1><a name='LOGS'>4 - Log Files</a></h1>" >>$strfile
+
+for file in $BASE/log/*_log; do
+ baselog=`basename $file`
+
+ echo " <h2><a name=\"$baselog\">$baselog</a></h2>" >>$strfile
+ case $baselog in
+ error_log)
+ echo " <blockquote>Note: debug2 messages have been filtered out of the HTML report.</blockquote>" >>$strfile
+ echo " <pre>" >>$strfile
+ $GREP -v '^d' $BASE/log/error_log | sed -e '1,$s/&/&/g' -e '1,$s/</</g' >>$strfile
+ echo " </pre>" >>$strfile
+ ;;
+
+ *)
+ echo " <pre>" >>$strfile
+ sed -e '1,$s/&/&/g' -e '1,$s/</</g' $file >>$strfile
+ echo " </pre>" >>$strfile
+ ;;
+ esac
+done
#
# Format the reports and tell the user where to find them...
if test $fail != 0; then
echo "$fail tests failed."
- if test -d $root/.svn; then
- cp $BASE/log/error_log error_log-r$rev-$user
- else
- cp $BASE/log/error_log error_log-$date-$user
- fi
-
+ for file in $BASE/log/*_log; do
+ baselog=`basename $file`
+ cp $file $baselog-$date-$user
+ echo "Copied log file \"$baselog-$date-$user\" to test directory."
+ done
cp $strfile .
-else
- echo "All tests were successful."
-fi
+ echo "Copied report file \"cups-str-$date-$user.html\" to test directory."
-echo "Log files can be found in $BASE/log."
-echo "A HTML report was created in $strfile."
-echo ""
-
-if test $fail != 0; then
- echo "Copies of the error_log and `basename $strfile` files are in"
- echo "`pwd`."
- echo ""
+ # Clean out old failure log files after 1 week...
+ find . -name \*_log-\*-$user -a -mtime +1w -print -exec rm -f '{}' \; | awk '{print "Removed old log file \"" substr($1,3) "\" from test directory."}'
+ find . -name cups-str-\*-$user.html -a -mtime +1w -print -exec rm -f '{}' \; | awk '{print "Removed old report file \"" $1 "\" from test directory."}'
+ echo ""
exit 1
+
+else
+ echo "All tests were successful."
+ echo ""
+ echo "Log files can be found in $BASE/log."
+ echo "A HTML report was created in $strfile."
+ echo ""
fi
-<HTML>
-<HEAD>
- <META NAME="Description" CONTENT="CUPS Test Report">
- <META NAME="COPYRIGHT" CONTENT="Copyright 2007-2016, All Rights Reserved">
- <META NAME="DOCNUMBER" CONTENT="CUPS-STR-2.2">
- <META NAME="Author" CONTENT="Apple Inc.">
- <TITLE>CUPS 2.2 Software Test Report</TITLE>
- <STYLE TYPE="text/css"><!--
- PRE {
- font-size: 80%;
- margin-left: 2em;
- }
- --></STYLE>
-</HEAD>
-<BODY>
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta name="Description" content="CUPS Test Report">
+ <meta name="Copyright" content="Copyright © 2007-2017, All Rights Reserved">
+ <meta name="Author" content="Apple Inc.">
+ <title>CUPS Software Test Report</title>
+ <style type="text/css"><!--
+blockquote {
+ background: #eee;
+ border: 1px solid #ccc;
+ padding: 5px;
+}
+pre {
+ background: #eee;
+ border-left: 2px solid #ccc;
+ font-size: 80%;
+ margin-left: 2em;
+ padding: 5px;
+ white-space: pre-wrap;
+}
+--></style>
+ </head>
+ <body>
+ <h1>CUPS Software Test Report</h1>
-<H1>CUPS 2.2 Software Test Report</H1>
+ <p>This software test report provides detailed test results that are used to evaluate the stability and standards compliance of the CUPS software.</p>
-<P>This software test report provides detailed test results that
-are used to evaluate the stability and compliance of CUPS Version 2.2.
+ <h2>Document Overview</h2>
-<H2>Document Overview</H2>
+ <p>This software test plan is organized into the following sections:</p>
-<P>This software test plan is organized into the following sections:
-
-<UL>
- <LI><A HREF="#IPP">1 - IPP Compliance Tests</A></LI>
- <LI><A HREF="#COMMAND">2 - Command Tests</A></LI>
- <LI><A HREF="#SUMMARY">3 - Test Summary</A></LI>
- <LI><A HREF="#LOGS">4 - Log Files</A><UL>
- <LI><A HREF="#access_log">access_log</A></LI>
- <LI><A HREF="#error_log">error_log</A></LI>
- <LI><A HREF="#page_log">page_log</A></LI>
- </UL></LI>
-</UL>
+ <ul>
+ <li><a href="#IPP">1 - IPP Compliance Tests</a></li>
+ <li><a href="#COMMAND">2 - Command Tests</a></li>
+ <li><a href="#SUMMARY">3 - Test Summary</a></li>
+ <li><a href="#LOGS">4 - Log Files</a><ul>
+ <li><a href="#access_log">access_log</a></li>
+ <li><a href="#debug_log">debug_log</a></li>
+ <li><a href="#error_log">error_log</a></li>
+ <li><a href="#page_log">page_log</a></li>
+ </ul></li>
+ </ul>
-</BODY>
-</HTML>
+ </body>
+</html>