]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Remove obsolete files and ignore Xcode files.
authorMichael Sweet <msweet@msweet-imac.local>
Thu, 17 Mar 2016 19:24:36 +0000 (15:24 -0400)
committerMichael Sweet <msweet@msweet-imac.local>
Thu, 17 Mar 2016 19:24:36 +0000 (15:24 -0400)
22 files changed:
.gitignore
CHANGES-IPPTOOL.txt [deleted file]
IPPTOOL.txt [deleted file]
everywhere/README.txt [deleted file]
everywhere/bonjour-access-tests.test [deleted file]
everywhere/bonjour-tests.bat [deleted file]
everywhere/bonjour-tests.sh [deleted file]
everywhere/bonjour-value-tests.test [deleted file]
everywhere/document-tests.bat [deleted file]
everywhere/document-tests.sh [deleted file]
everywhere/document-tests.test [deleted file]
everywhere/ipp-tests.bat [deleted file]
everywhere/ipp-tests.sh [deleted file]
everywhere/ipp-tests.test [deleted file]
everywhere/make-ippeveselfcert.sh [deleted file]
everywhere/man-ippserver.html [deleted file]
tools/makeipptoolpkg [deleted file]
tools/makesrcdist-obsolete [moved from tools/makesrcdist with 100% similarity]
tools/products.php [deleted file]
tools/testbtmm.c [deleted file]
tools/testosx [deleted file]
tools/testrpm [deleted file]

index 0d647fa7304c9d84ed4ab4555e3b1a290b5de74b..dc113fe45fb44aca67c4f604687bbf1689671ade 100644 (file)
@@ -140,4 +140,7 @@ test/ippfind
 test/ippfind-static
 test/ippserver
 test/ipptool
-test/ipptool-static
\ No newline at end of file
+test/ipptool-static
+xcode/CUPS.xcodeproj/project.xcworkspace/
+xcode/CUPS.xcodeproj/xcuserdata/
+
diff --git a/CHANGES-IPPTOOL.txt b/CHANGES-IPPTOOL.txt
deleted file mode 100644 (file)
index c96addb..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-CHANGES-IPPTOOL.txt - 2015-05-15
---------------------------------
-
-This file provides a list of changes to the ipptool binary distribution posted
-on CUPS.org.
-
-2014-05-15
-
-       - Added support for simultaneous XML and test output from ipptool.
-       - Added support for PAUSE directive in ipptool test files.
-
-
-2013-07-15
-
-       - New ippfind tool now included with ipptool.
-       - Added support for automatically extending the timeout when all of the
-         request data has not yet been written (all platforms but Windows
-         which does not support it...)
-       - Fixed several ipptool test files that used old STATUS names.
-
-
-2013-04-18
-
-       - Fixed some HTTP issues with authentication and compression.
-       - The IPP/1.1 test file did not allow for sufficient retries when
-         printing.
-       - The IPP/1.1 test file did not allow for empty printer-name values.
-       - The IPP Everywhere test file contained numerous errors.
-       - The color.jpg test file used a progressive mode instead of the
-         baseline JPEG mode.
-       - The IPP/1.1 test file referenced "color.jpeg" instead of "color.jpg".
-
-
-2013-01-31
-
-       - Added support for DEFINE-MATCH and DEFINE-NO-MATCH as STATUS
-         predicates.
-       - Added support for WITH-VALUE and resolution values.
-       - Added support for SKIP-IF-MISSING (skip test if file is missing)
-       - Added support for octetString values.
-       - Added support for document compression in Print-Job and Send-Document
-         requests.
-       - Fixed REPEAT-MATCH for STATUS and EXPECT - was incorrectly erroring
-         out.
-       - Fixed a bug where bad IPP responses would cause ipptool to crash.
-
-
-2012-02-28
-
-       - Changed behavior of WITH-VALUES "/regex/" to not require all values to
-         match.
-       - Added WITH-ALL-VALUES directive for EXPECT predicates that require all
-         values to match.
-       - Updated test files to use WITH-ALL-VALUES where necessary.
-       - Updated test files to use new ABNF for media names from PWG Media
-         Names 2.0.
-
-
-2012-02-06
-
-       - Fixed the packaging of ipptool on Windows (removed unnecessary DLLs)
-       - Fixed an crash in ipptool when mixing DISPLAY with -I and a failed
-         request.
-       - Added a Print-Job test file.
-       - Added a "setdebug" batch file for Windows
-       - Added support for a CUPS_DISABLE_ASYNC_CONNECT environment variable.
-
-
-2012-01-10
-
-       - Fixed an issue with the IPP/1.1 test file where the "waiting for job
-         completion" test did not work.
-       - The attribute groups out of order error was not shown for the
-         operation-attributes-tag group.
-
-
-2011-12-02
-
-       - Fixed a truncated XML output bug that would happen for certain errors.
-       - Fixed the order-of-groups tests.
-       - Fixed "WITH-VALUE >N" for rangeOfInteger attributes.
-       - The Windows installer was missing the get-printer-attributes.test
-         file.
-       - The Linux binaries are now compiled for all LSB 4.x-compliant Linux
-         distributions.
-       - The Linux binaries no longer support SSL or TLS.
-
-
-2011-10-05
-
-       - Fixed a crasher bug that showed up on Windows.
-       - The IPP/1.1 test would hang if the initial Print-Job test failed.
-       - Fixed a typo in the IPP/2.0 test.
-
-
-2011-10-03
-
-       - Using OF-TYPE with the "no-value" or "unknown" out-of-band value tags
-         now works without special WITH-VALUE strings.
-       - ipptool now shows an error when an attribute appears more than once
-         within the same attribute group.
-       - ipptool did not display attributes as specified by the DISPLAY
-         directive when a test error failed.
-       - Fixed one spot where DEFINE-VALUE was still treated as an error when
-         the EXPECT test failed.
-       - uriScheme values were not displayed properly.
-       - Updated the IPP/1.1 tests to properly validate support for
-         job-hold-until-default and job-hold-until-supported when the Hold-Job
-         operation is supported.
-       - Updated the IPP/1.1 tests to properly check for the various standard
-         media sizes for the printing tests.
-       - Updated the IPP/1.1 tests to accept "no-value" for media-default an
-         orientation-requested-default.
-       - Updated the IPP/1.1 tests to accept "unknown" for job-state.
-       - Updated the IPP/1.1 tests to not perform the bogus URI printing tests
-         unless the "document-uri" variable is defined.
-       - Updated the IPP/2.0 tests to properly validate media-col
-         "media-xxx-supported" attributes.
-       - Updated the IPP/2.2 tests to properly validate media-ready and
-         media-col-ready.
-
-
-2011-09-28
-
-       - Test output now includes a summary and overall score at the end.
-       - The MATCH-VALUE predicate now correctly deals with a failed EXPECT
-         condition.
-       - The IPP/1.1 test suite now looks for legacy media names and uses them
-         if the corresponding PWG standard names are not present.
-       - The IPP/1.1 test suite now tests the Print-Job+Release-Job when the
-         printer supports the job-hold-until attribute, Hold-Job operation, and
-         Release-Job operation.
-
-
-2011-09-21
-
-       - Fixes for HTTP chunking, timeout, and encryption issues reported by
-         various users.
-       - Greatly improved IPP tests with added IPP/2.2 tests.
-       - New test documents - 1-page and 4-page mixed A4/Letter PDF/PS and a
-         couple JPEGs.
-       - New REPEAT directives to programmatically repeat tests as needed.
-
-
-2011-08-16
-
-       - The Windows version no longer requires Visual Studio to be installed.
-       - The Windows version now supports SSL.
-       - Added "ipps" URI support.
-       - Added a new "-T" option.
-       - Added support for fractional seconds for the -i option and DELAY
-         directive.
-       - Added support for authentication.
-       - Added DEFINE-MATCH, DEFINE-NO-MATCH, DEFINE-VALUE, IF-NOT-DEFINED,
-         IGNORE-ERRORS, SKIP-IF-DEFINED, SKIP-IF-NOT-DEFINED,
-         SKIP-PREVIOUS-ERROR directives.
-       - WITH-VALUE now supports variable expansion.
-       - Updated the IPP/1.1 conformance test to skip the "my-jobs different
-         user" test if the printer URI contains a username.
-       - Updated the IPP conformance tests to validate media, media-default,
-         and media-supported values.
-       - No longer error out if a Printer returns a different version number in
-         the response when the request contains the version 0.0.
-
-
-2010-10-16
-
-       - Initial release of standalone binary.
diff --git a/IPPTOOL.txt b/IPPTOOL.txt
deleted file mode 100644 (file)
index 2293a45..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-IPPTOOL.txt - 2013-07-15
-------------------------
-
-See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
-
-
-INTRODUCTION
-
-    CUPS includes two user programs for IPP printers.  The first is called
-    ipptool and can be used to send arbitrary IPP requests to a CUPS server or
-    IPP printer.  This tool started life as part of the CUPS automated test
-    suite and has grown to support complex conformance tests and a simple way
-    to query printer, job, and subscription attributes.
-
-    The second program called ippfind that can be used to find IPP printers
-    that have registered themselves using Bonjour (DNS-SD, mDNS, and Zeroconf)
-    and run commands such as ipptool.
-
-
-READING THE DOCUMENTATION
-
-    Full documentation on the ipptool command can be found in the
-    "man-ipptool.html" and "man-ipptoolfile.html" files; the latter describes
-    the test file format supported by ipptool.
-
-    Full documentation on the ippfind command can be found in the
-    "man-ippfind.html" file.
-
-
-IPPFIND BASIC USAGE
-
-    The ippfind command can be used to discover IPP printers on your network.
-    For example, the following command prints the printer URI of registered IPP
-    printers:
-
-        ippfind
-
-    To find all color IPP printers, run:
-
-        ippfind --txt-color T
-
-    And to run the IPP Everywhere conformance test file on every registered IPP
-    printer, run the following command:
-
-        ippfind _ipp._tcp,_print --exec ipptool -t '{}' ipp-everywhere.test \;
-
-
-IPPTOOL BASIC USAGE
-
-    The ipptool command requires a printer URI and one or more "test" files that
-    describe the operations, attributes to display, and expected status and
-    attribute values. Several standard files are included with CUPS, for example
-    to show a list of pending print jobs on a CUPS printer called "myprinter"
-    you'd run:
-
-        ipptool ipp://localhost/printers/myprinter get-jobs.test
-
-    which would produce something like this:
-
-       job-id job-state    job-name     job-originating-user-name
-       ------ ------------ ------------ -------------------------
-       72     pending      testfile.pdf msweet
-       73     pending      testfile.ps  msweet
-       74     pending-held testfile.jpg msweet
-       75     pending-held testfile.txt msweet
-
-    To get output suitable for import into a spreadsheet, use the "-c" (CSV)
-    option:
-
-        ipptool -c ipp://localhost/printers/myprinter get-jobs.test
-
-    which will produce something like this:
-
-       job-id,job-state,job-name,job-originating-user-name
-       72,pending,testfile.pdf,msweet
-       73,pending,testfile.ps,msweet
-       74,pending-held,testfile.jpg,msweet
-       75,pending-held,testfile.txt,msweet
-
-
-STANDARD TEST FILES
-
-    The following standard test files are included with ipptool:
-
-        create-printer-subscription.test    Creates a printer subscription for
-                                            state change notifications
-        get-completed-jobs.test             Shows a list of completed jobs
-        get-jobs.test                       Shows a list of pending jobs
-        get-notifications.test              Shows events for an ippget
-                                           subscription.
-        get-printer-attributes.test         Shows printer attributes
-        get-subscriptions.test              Shows a list of subscriptions
-        ipp-1.1.test                        IPP/1.1 conformance test suite
-        ipp-2.0.test                        IPP/2.0 conformance test suite
-        ipp-2.1.test                        IPP/2.1 conformance test suite
-        ipp-2.2.test                        IPP/2.2 conformance test suite
-        ipp-everywhere.test                 IPP Everywhere conformance test
-                                            suite
-        print-job.test                      Prints a file
-        print-job-deflate.test              Prints a file, compressing with
-                                            deflate.
-        print-job-gzip.test                 Prints a file, compressing with gzip
-        validate-job.test                   Validates attributes for a job
-                                            submission.
-
-
-CONFORMANCE TESTS
-
-    We provide basic IPP conformance tests for IPP/1.1, IPP/2.0, IPP/2.1,
-    IPP/2.2, and IPP Everywhere.  For a given printer URI, the following
-    commands perform tests at each level:
-
-        ipptool -tf filename [options] -I printer-uri ipp-1.1.test
-        ipptool -tf filename [options] -I -V 2.0 printer-uri ipp-2.0.test
-        ipptool -tf filename [options] -I -V 2.1 printer-uri ipp-2.1.test
-        ipptool -tf filename [options] -I -V 2.2 printer-uri ipp-2.2.test
-
-    The filename must use a format supported by the printer; ipptool will guess
-    the MIME media type using the extension, otherwise application/octet stream
-    will be used.  The following standard test files are included:
-
-       color.jpg
-       document-a4.pdf
-       document-a4.ps
-       document-letter.pdf
-       document-letter.ps
-       gray.jpg
-       onepage-a4.pdf
-       onepage-a4.ps
-       onepage-letter.pdf
-       onepage-letter.ps
-       testfile.jpg
-       testfile.pcl
-       testfile.pdf
-       testfile.ps
-       testfile.txt
-
-    Useful options include the following:
-
-        -4           Connect using IPv4
-        -6           Connect using IPv6
-        -C           Send chunked requests (default)
-        -d name=val  Define a variable
-        -E           Test IPP with HTTP Upgrade to TLS
-        -L           Send requests using the Content-Length header (HTTP/1.0)
-        -S           Test IPP over HTTPS (default for ipps: URIs)
-        -T seconds   Set a timeout for responses in seconds
-        -v           Be verbose, showing all attributes sent and received
-        -X           Produce XML (Apple plist) output
-
-    The printer-uri must be a URI supported by the printer using the "ipp" or
-    "ipps" scheme, for example:
-
-        ipp://192.168.0.1/ipp
-        ipps://192.168.0.1/ipp/print
-
-    Print-by-reference (URL) printing can be tested by defining the document-uri
-    variable as a URL, for example:
-
-        ipptool -tf filename -d document-uri=url -I printer-uri ipp-1.1.test
-
-    The standard test files are available on cups.org under the "test"
-    directory, for example:
-
-        ipptool -tf document-a4.pdf \
-            -d document-uri=http://www.cups.org/test/document-a4.pdf \
-            ipp://192.168.0.1/ipp -I -V 2.0 ipp-2.0.test
-
-    The "document" test files contain 4 pages each.  Doing the IPP conformance
-    tests will will produce up to 90 pages on various media, depending on the
-    printer.
-
-
-IPP EVERYWHERE TESTING
-
-    The IPP Everywhere tests use sample PWG raster files available from:
-
-        ftp://ftp.pwg.org/pub/pwg/ipp/examples
-
-    Extract the corresponding ZIP archives into the current directory before
-    running the ipp-everywhere.test file.  The test file will attempt to print
-    each PWG Raster file that is supported by the printer being tested - up to
-    372 pages including the 90 pages produced by the regular IPP test suite.
-
-
-GETTING SUPPORT AND OTHER RESOURCES
-
-    If you have problems, READ THE DOCUMENTATION FIRST!  We also provide
-    discussion forums which are available at:
-
-       http://www.cups.org/
-
-
-REPORTING BUGS
-
-    If you believe you have discovered a bug in ippfind or ipptool, please fill
-    out the bug form at:
-
-       http://www.cups.org/str.php
-
-    Be sure to identify the version of CUPS and ippfind/ipptool (if you
-    downloaded the standalone version) you are using, the printer (if any) and
-    firmware version, and include any files that apply.
-
-    If you downloaded the standalone version of ippfind/ipptool, please also
-    re-run the command with debug logging enabled.  Run the following commands
-    on Windows to enable debug logging:
-
-        setdebug.bat
-
-    For Linux and Mac OS X use:
-
-       CUPS_DEBUG_LOG=ipptool.log; export CUPS_DEBUG_LOG
-       CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL
-
-    Then when you run the ippfind or ipptool command a new "ipptool.log" file
-    will be created with detailed information - attach this file to the bug you
-    file as well.
-
-
-LEGAL STUFF
-
-    CUPS is Copyright 2007-2013 by Apple Inc.  CUPS and the CUPS logo are
-    trademarks of Apple Inc.
-
-    The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
-
-    CUPS is provided under the terms of version 2 of the GNU General Public
-    License and GNU Library General Public License. This program is distributed
-    in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
-    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-    See the "doc/help/license.html" or "LICENSE.txt" files for more information.
diff --git a/everywhere/README.txt b/everywhere/README.txt
deleted file mode 100644 (file)
index 5277023..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-README.txt - 2015-10-09
------------------------
-
-INTRODUCTION
-
-    This directory contains the IPP Everywhere Printer Self-Certification tools.
-
-    In addition to the files in this directory, you must also download and
-    extract one or more PWG Raster Format file archives from:
-
-      http://ftp.pwg.org/pub/pwg/ipp/examples/
-
-    These archives are used for the Document Data tests.
-
-
-CONTENTS
-
-    Scripts for running the self-certification tests:
-
-      bonjour-tests.bat   Bonjour Tests for Windows
-      bonjour-tests.sh    Bonjour Tests for Linux and OS X
-
-      ipp-tests.bat       IPP Tests for Windows
-      ipp-tests.sh        IPP Tests for Linux and OS X
-
-      document-tests.bat  Document Data Tests for Windows
-      document-tests.sh   Document Data Tests for Linux and OS X
-
-    Tools:
-
-      ippfind             Tool for finding printers with Bonjour/DNS-SD
-      ippserver           Sample IPP server, useful for testing
-      ipptool             IPP test tool
-
-    Documentation:
-
-      LICENSE.txt         CUPS software license
-      man-*.html          HTML documentation for the tools
-      README.txt          This README file
-
-
-GETTING SUPPORT AND OTHER RESOURCES
-
-    The IPP Everywhere home page provides access to all information relevant to
-    IPP Eveywhere:
-
-      http://www.pwg.org/ipp/everywhere.html
-
-    The "ippeveselfcert@pwg.org" mailing list is used to discuss IPP Everywhere
-    Printer Self-Certification.  You can subscribe from the following page:
-
-      https://www.pwg.org/mailman/listinfo/ippeveselfcert
-
-
-LEGAL STUFF
-
-    These tools are Copyright 2014-2015 by The Printer Working Group and
-    Copyright 2007-2015 by Apple Inc.  CUPS and the CUPS logo are trademarks of
-    Apple Inc.  PWG and IPP Everywhere are trademarks of the IEEE-ISTO.
-
-    CUPS is provided under the terms of version 2 of the GNU General Public
-    License and GNU Library General Public License. This program is distributed
-    in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
-    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-    See the file "LICENSE.txt" for more information.
diff --git a/everywhere/bonjour-access-tests.test b/everywhere/bonjour-access-tests.test
deleted file mode 100644 (file)
index 224c67b..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-# 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/".
-#
-# Usage:
-#
-#   ./ipptool -tI printer-uri bonjour-access-tests.test
-#
-
-FILE-ID "org.pwg.ipp-everywhere.20151009.bonjour"
-
-{
-       # The name of the test...
-       NAME "Validate access using Get-Printer-Attributes"
-
-       # The operation to use
-       OPERATION Get-Printer-Attributes
-
-       # Attributes, starting in the operation group...
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR language attributes-natural-language en
-       ATTR uri printer-uri $uri
-
-       # What statuses are OK?
-       STATUS successful-ok
-}
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/bonjour-tests.bat b/everywhere/bonjour-tests.bat
deleted file mode 100644 (file)
index c2e5ecf..0000000
+++ /dev/null
@@ -1,391 +0,0 @@
-@echo off
-::
-::  "$Id$"
-::
-:: IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
-::
-:: Copyright 2014-2015 by The Printer Working Group.
-::
-:: This program may be copied and furnished to others, and derivative works
-:: that comment on, or otherwise explain it or assist in its implementation may
-:: be prepared, copied, published and distributed, in whole or in part, without
-:: restriction of any kind, provided that the above copyright notice and this
-:: paragraph are included on all such copies and derivative works.
-::
-:: The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,
-:: WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED
-:: WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-::
-:: Usage:
-::
-::   bonjour-tests.bat 'Printer Name'
-::
-
-set PLIST=%1 Bonjour Results.plist
-echo Sending output to "%PLIST%"...
-
-:: Write the standard XML plist header...
-echo ^<?xml version=^"1.0^" encoding=^"UTF-8^"?^> >"%PLIST%"
-echo ^<!DOCTYPE plist PUBLIC ^"-//Apple Computer//DTD PLIST 1.0//EN^" ^"http://www.apple.com/DTDs/PropertyList-1.0.dtd^"^> >>"%PLIST%"
-echo ^<plist version=^"1.0^"^> >>"%PLIST%"
-echo ^<dict^> >>"%PLIST%"
-echo ^<key^>Tests^</key^>^<array^> >>"%PLIST%"
-
-set total=0
-set pass=0
-set fail=0
-set skip=0
-
-:: B-1. IPP Browse test: Printers appear in a search for "_ipp._tcp,_print" services?
-set /a total+=1
-set <NUL /p="B-1. IPP Browse test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-1. IPP Browse test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20151009.bonjour^</string^> >>"%PLIST%"
-
-set result=FAIL
-ippfind _ipp._tcp,_print.local. --name "%1" --quiet && set result=PASS
-if "%result%" == "PASS" (
-       set /a pass+=1
-) else (
-       set /a fail+=1
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-) else (
-       echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-2. IPP TXT keys test: The IPP TXT record contains all required keys.
-set /a total+=1
-set <NUL /p="B-2. IPP TXT keys test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-2. IPP TXT keys test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-set result=FAIL
-ippfind "%1._ipp._tcp.local." --txt adminurl --txt pdl --txt rp --txt UUID --quiet && set result=PASS
-if "%result%" == "PASS" (
-       set /a pass+=1
-) else (
-       set /a fail+=1
-       echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo adminurl="{txt_adminurl}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo pdl="{txt_pdl}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo rp="{txt_rp}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo UUID="{txt_uuid}" ";" >>"%PLIST%"
-       echo ^</string^>^</array^> >>"%PLIST%"
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-
-       ippfind "%1._ipp._tcp.local." -x echo adminurl="{txt_adminurl}" ";"
-       ippfind "%1._ipp._tcp.local." -x echo pdl="{txt_pdl}" ";"
-       ippfind "%1._ipp._tcp.local." -x echo rp="{txt_rp}" ";"
-       ippfind "%1._ipp._tcp.local." -x echo UUID="{txt_uuid}" ";"
-) else (
-       echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-3. IPP Resolve test: Printer responds to an IPP Get-Printer-Attributes request using the resolved hostname, port, and resource path.
-set /a total+=1
-set <NUL /p="B-3. IPP Resolve test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-3. IPP Resolve test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-set result=FAIL
-(ippfind "%1._ipp._tcp.local." --ls && set result=PASS) >nul:
-if "%result%" == "PASS" (
-       set /a pass+=1
-) else (
-       set /a fail+=1
-       echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." --ls >>"%PLIST%"
-       echo ^</string^>^</array^> >>"%PLIST%"
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-) else (
-       echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-4. IPP TXT values test: The IPP TXT record values match the reported IPP attribute values.
-set /a total+=1
-set <NUL /p="B-4. IPP TXT values test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-4. IPP TXT values test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-set result=FAIL
-ippfind "%1._ipp._tcp.local." --txt-adminurl ^^^(http:^|https:^)// --txt-pdl image/pwg-raster --txt-pdl image/jpeg --txt-rp ^^ipp/^(print^|print/[^^/]+^)$ --txt-UUID ^^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$ -x ipptool -q -d "ADMINURL={txt_adminurl}" -d "UUID={txt_uuid}" "{}" bonjour-value-tests.test ";" && set result=PASS
-if "%result%" == "PASS" (
-       set /a pass+=1
-) else (
-       set /a fail+=1
-       echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo adminurl="{txt_adminurl}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo pdl="{txt_pdl}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo rp="{txt_rp}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x echo UUID="{txt_uuid}" ";" >>"%PLIST%"
-       ippfind "%1._ipp._tcp.local." -x ipptool -t "{}" bonjour-value-tests.test ";" | findstr /r [TG][EO][DT]: >>"%PLIST%"
-       echo ^</string^>^</array^> >>"%PLIST%"
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-
-       ippfind "%1._ipp._tcp.local." -x echo adminurl="{txt_adminurl}" ";"
-       ippfind "%1._ipp._tcp.local." -x echo pdl="{txt_pdl}" ";"
-       ippfind "%1._ipp._tcp.local." -x echo rp="{txt_rp}" ";"
-       ippfind "%1._ipp._tcp.local." -x echo UUID="{txt_uuid}" ";"
-       ippfind "%1._ipp._tcp.local." -x ipptool -t "{}" bonjour-value-tests.test ";" | findstr /r [TG][EO][DT]:
-) else (
-       echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-5. TLS tests: Performed only if TLS is supported
-set /a total+=1
-set <NUL /p="B-5. TLS tests: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-5. TLS tests^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-set result=SKIP
-ippfind "%1._ipp._tcp.local." --txt tls --quiet && set result=PASS
-if "%result%" == "PASS" (
-       set /a pass+=1
-       set HAVE_TLS=1
-) else (
-       set /a skip+=1
-       set HAVE_TLS=0
-)
-
-echo %result%
-if "%result%" == "SKIP" (
-       echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-       echo ^<key^>Skipped^</key^>^<true /^> >>"%PLIST%"
-) else (
-       echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-5.1 HTTP Upgrade test: Printer responds to an IPP Get-Printer-Attributes request after doing an HTTP Upgrade to TLS.
-set /a total+=1
-set <NUL /p="B-5.1 HTTP Upgrade test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-5.1 HTTP Upgrade test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-if "%HAVE_TLS%" == "1" (
-       set result=FAIL
-       ippfind "%1._ipp._tcp.local." -x ipptool -E -q "{}" bonjour-access-tests.test ";" && set result=PASS
-       if "%result%" == "PASS" (
-               set /a pass+=1
-       ) else (
-               set /a fail+=1
-               echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST"
-               ippfind "%1._ipp._tcp.local." -x ipptool -E -q "{}" bonjour-access-tests.test ";" >>"%PLIST%"
-               echo ^</string^>^</array^> >>"%PLIST%"
-       )
-) else (
-       set /a skip+=1
-       set result=SKIP
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-) else (
-       if "%result%" == "SKIP" (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-               echo ^<key^>Skipped^</key^>^<true /^> >>"%PLIST%"
-       ) else (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-       )
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-5.2 IPPS Browse test: Printer appears in a search for "_ipps._tcp,_print" services.
-set /a total+=1
-set <NUL /p="B-5.2 IPPS Browse test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-5.2 IPPS Browse test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-if "%HAVE_TLS%" == "1" (
-       set result=FAIL
-       ippfind _ipps._tcp,_print.local. --name "%1" --quiet && set result=PASS
-       if "%result%" == "PASS" (
-               set /a pass+=1
-       ) else (
-               set /a fail+=1
-       )
-) else (
-       set /a skip+=1
-       set result=SKIP
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-) else (
-       if "%result%" == "SKIP" (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-               echo ^<key^>Skipped^</key^>^<true /^> >>"%PLIST%"
-       ) else (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-       )
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-5.3 IPPS TXT keys test: The TXT record for IPPS contains all required keys
-set /a total+=1
-set <NUL /p="B-5.3 IPPS TXT keys test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-5.3 IPPS TXT keys test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-if "%HAVE_TLS%" == "1" (
-       set result=FAIL
-       ippfind "%1._ipps._tcp.local." --txt adminurl --txt pdl --txt rp --txt TLS --txt UUID --quiet && set result=PASS
-       if "%result%" == "PASS" (
-               set /a pass+=1
-       ) else (
-               set /a fail+=1
-               echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo adminurl={txt_adminurl}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo pdl={txt_pdl}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo rp={txt_rp}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo TLS={txt_tls}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo UUID={txt_uuid}" ";" >>"%PLIST%"
-               echo ^</string^>^</array^> >>"%PLIST%"
-       )
-) else (
-       set /a skip+=1
-       set result=SKIP
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-
-        ippfind "%1._ipps._tcp.local." -x echo     adminurl={txt_adminurl}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo     pdl={txt_pdl}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo     rp={txt_rp}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo     TLS={txt_tls}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo     UUID={txt_uuid}" ";"
-) else (
-       if "%result%" == "SKIP" (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-               echo ^<key^>Skipped^</key^>^<true /^> >>"%PLIST%"
-       ) else (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-       )
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-5.4 IPPS Resolve test: Printer responds to an IPPS Get-Printer-Attributes request using the resolved hostname, port, and resource path.
-set /a total+=1
-set <NUL /p="B-5.4 IPPS Resolve test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-5.4 IPPS Resolve test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-if "%HAVE_TLS%" == "1" (
-       set result=FAIL
-       (ippfind "%1._ipps._tcp.local." --ls && set result=PASS) >nul:
-       if "%result%" == "PASS" (
-               set /a pass+=1
-       ) else (
-               set /a fail+=1
-               echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." --ls >>"%PLIST%"
-               echo ^</string^>^</array^> >>"%PLIST%"
-       )
-) else (
-       set /a skip+=1
-       set result=SKIP
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-) else (
-       if "%result%" == "SKIP" (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-               echo ^<key^>Skipped^</key^>^<true /^> >>"%PLIST%"
-       ) else (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-       )
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: B-5.5 IPPS TXT values test: The TXT record values for IPPS match the reported IPPS attribute values.
-set /a total+=1
-set <NUL /p="B-5.5 IPPS TXT values test: "
-echo ^<dict^>^<key^>Name^</key^>^<string^>B-5.5 IPPS TXT values test^</string^> >>"%PLIST%"
-echo ^<key^>FileId^</key^>^<string^>org.pwg.ipp-everywhere.20140826.bonjour^</string^> >>"%PLIST%"
-
-if "%HAVE_TLS%" == "1" (
-       set result=FAIL
-       ippfind "%1._ipps._tcp.local." --txt-adminurl ^^^(http:^|https:^)// --txt-pdl image/pwg-raster --txt-pdl image/jpeg --txt-rp ^^ipp/^(print^|print/[^^/]+^)$ --txt-UUID ^^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$ -x ipptool -q "{}" bonjour-value-tests.test ";" && set result=PASS
-       if "%result%" == "PASS" (
-               set /a pass+=1
-       ) else (
-               set /a fail+=1
-               echo ^<key^>Errors^</key^>^<array^>^<string^> >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo adminurl="{txt_adminurl}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo pdl="{txt_pdl}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo rp="{txt_rp}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo TLS="{txt_tls}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x echo UUID="{txt_uuid}" ";" >>"%PLIST%"
-               ippfind "%1._ipps._tcp.local." -x ipptool -t "{}" bonjour-value-tests.test ";" | findstr /r [TG][EO][DT]: >>"%PLIST"
-               echo ^</string^>^</array^> >>"%PLIST%"
-       )
-) else (
-       set /a skip+=1
-       set result=SKIP
-)
-
-echo %result%
-if "%result%" == "FAIL" (
-       echo ^<key^>Successful^</key^>^<false /^> >>"%PLIST%"
-
-        ippfind "%1._ipps._tcp.local." -x echo adminurl="{txt_adminurl}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo pdl="{txt_pdl}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo rp="{txt_rp}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo TLS="{txt_tls}" ";"
-        ippfind "%1._ipps._tcp.local." -x echo UUID="{txt_uuid}" ";"
-       ippfind "%1._ipp._tcp.local." -x ipptool -t "{}" bonjour-value-tests.test ";" | findstr /r [TG][EO][DT]:
-) else (
-       if "%result%" == "SKIP" (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-               echo ^<key^>Skipped^</key^>^<true /^> >>"%PLIST%"
-       ) else (
-               echo ^<key^>Successful^</key^>^<true /^> >>"%PLIST%"
-       )
-)
-echo ^</dict^> >>"%PLIST%"
-
-:: Finish up...
-echo ^</array^> >>"%PLIST%"
-echo ^<key^>Successful^</key^> >>"%PLIST%"
-if %fail% gtr 0 (
-       echo ^<false /^> >>"%PLIST%"
-) else (
-       echo ^<true /^> >>"%PLIST%"
-)
-echo ^</dict^> >>"%PLIST%"
-echo ^</plist^> >>"%PLIST%"
-
-set /a score=%pass% + %skip%
-set /a score=100 * %score% / %total%
-echo Summary: %total% tests, %pass% passed, %fail% failed, %skip% skipped
-echo Score: %score%%%
-
-::
-:: End of "$Id$".
-::
diff --git a/everywhere/bonjour-tests.sh b/everywhere/bonjour-tests.sh
deleted file mode 100755 (executable)
index 648ea71..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-#!/bin/sh
-#
-#  "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-#
-# This program may be copied and furnished to others, and derivative works
-# that comment on, or otherwise explain it or assist in its implementation may
-# be prepared, copied, published and distributed, in whole or in part, without
-# restriction of any kind, provided that the above copyright notice and this
-# paragraph are included on all such copies and derivative works.
-#
-# The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,
-# WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED
-# WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Usage:
-#
-#   ./bonjour-tests.sh "Printer Name"
-#
-
-if test -x ../test/ippfind-static; then
-       IPPFIND="../test/ippfind-static"
-elif test -x ./ippfind; then
-       IPPFIND="./ippfind"
-else
-       IPPFIND="ippfind"
-fi
-
-if test -x ../test/ipptool-static; then
-       IPPTOOL="../test/ipptool-static"
-elif test -x ./ipptool; then
-       IPPTOOL="./ipptool"
-else
-       IPPTOOL="ipptool"
-fi
-
-PLIST="$1 Bonjour Results.plist"
-
-#
-# Figure out the proper echo options...
-#
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-        ac_n=-n
-        ac_c=
-else
-        ac_n=
-        ac_c='\c'
-fi
-
-# Special case "_failN" name to show bad/missing TXT keys
-if test "$2" = _fail2 -o "$2" = _fail4 -o "$2" = _fail5.3 -o "$2" = _fail5.5; then
-       echo "FAIL"
-       echo "<key>Errors</key><array>" >>"$PLIST"
-       if test "${IPPFIND_TXT_ADMINURL:-NOTSET}" = NOTSET; then
-               echo "   adminurl is not set."
-               echo "<string>adminurl is not set.</string>" >>"$PLIST"
-       elif test "$2" = _fail4 -o "$2" = _fail5.5; then
-               case "$IPPFIND_TXT_ADMINURL" in
-                       http://* | https://*)
-                               ;;
-                       *)
-                               echo "   adminurl has bad value '$IPPFIND_TXT_ADMINURL'."
-                               echo "<string>adminurl has bad value '$IPPFIND_TXT_ADMINURL'.</string>" >>"$PLIST"
-                               ;;
-               esac
-       fi
-
-       if test "${IPPFIND_TXT_PDL:-NOTSET}" = NOTSET; then
-               echo "   pdl is not set."
-               echo "<string>pdl is not set.</string>" >>"$PLIST"
-       elif test "$2" = _fail4 -o "$2" = _fail5.5; then
-               case "$IPPFIND_TXT_PDL" in
-                       *image/jpeg*)
-                               ;;
-                       *)
-                               echo "   pdl is missing image/jpeg: '$IPPFIND_TXT_PDL'"
-                               echo "<string>pdl is missing image/jpeg: '$IPPFIND_TXT_PDL'.</string>" >>"$PLIST"
-                               ;;
-               esac
-
-               case "$IPPFIND_TXT_PDL" in
-                       *image/pwg-raster*)
-                               ;;
-                       *)
-                               echo "   pdl is missing image/pwg-raster: '$IPPFIND_TXT_PDL'"
-                               echo "<string>pdl is missing image/pwg-raster: '$IPPFIND_TXT_PDL'.</string>" >>"$PLIST"
-                               ;;
-               esac
-       fi
-
-       if test "${IPPFIND_TXT_RP:-NOTSET}" = NOTSET; then
-               echo "   rp is not set."
-               echo "<string>rp is not set.</string>" >>"$PLIST"
-       elif test "$2" = _fail4 -o "$2" = _fail5.5; then
-               case "$IPPFIND_TXT_RP" in
-                       ipp/print | ipp/print/*)
-                               ;;
-                       *)
-                               echo "   rp has bad value '$IPPFIND_TXT_RP'"
-                               echo "<string>rp has bad value '$IPPFIND_TXT_RP'.</string>" >>"$PLIST"
-                               ;;
-               esac
-       fi
-
-       if test "${IPPFIND_TXT_UUID:-NOTSET}" = NOTSET; then
-               echo "   UUID is not set."
-               echo "<string>UUID is not set.</string>" >>"$PLIST"
-       elif test "$2" = _fail4 -o "$2" = _fail5.5; then
-               case "$IPPFIND_TXT_UUID" in
-                       [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])
-                               ;;
-                       *)
-                               echo "   UUID has bad value '$IPPFIND_TXT_UUID'"
-                               echo "<string>UUID has bad value '$IPPFIND_TXT_UUID'.</string>" >>"$PLIST"
-                               ;;
-               esac
-       fi
-
-       if test "$2" = _fail4 -o "$2" = _fail5.5; then
-               $IPPTOOL -t $IPPFIND_SERVICE_URI bonjour-value-tests.test
-               $IPPTOOL -t $IPPFIND_SERVICE_URI bonjour-value-tests.test | egrep '(GOT|EXPECTED):' | sed -e '1,$s/^[   ]*//' | awk '{print "<string>" $0 "</string>" }' >>"$PLIST"
-       fi
-
-       echo "</array>" >>"$PLIST"
-       echo "<key>Successful</key><false />" >>"$PLIST"
-       echo "</dict>" >>"$PLIST"
-
-       exit 0
-fi
-
-
-# Write the standard XML plist header...
-cat >"$PLIST" <<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-<key>Tests</key><array>
-EOF
-
-total=0
-pass=0
-fail=0
-skip=0
-
-# start_test "name"
-start_test() {
-       total=`expr $total + 1`
-       echo $ac_n "$1: $ac_c"
-       echo "<dict><key>Name</key><string>$1</string>" >>"$PLIST"
-       echo "<key>FileId</key><string>org.pwg.ipp-everywhere.20151009.bonjour</string>" >>"$PLIST"
-}
-# end_test PASS/FAIL/SKIP
-end_test() {
-       echo $1
-       if test $1 = FAIL; then
-               echo "<key>Successful</key><false />" >>"$PLIST"
-       elif test $1 = SKIP; then
-               echo "<key>Successful</key><true />" >>"$PLIST"
-               echo "<key>Skipped</key><true />" >>"$PLIST"
-       else
-               echo "<key>Successful</key><true />" >>"$PLIST"
-       fi
-       echo "</dict>" >>"$PLIST"
-}
-
-# B-1. IPP Browse test: Printers appear in a search for "_ipp._tcp,_print" services?
-start_test "B-1. IPP Browse test"
-$IPPFIND _ipp._tcp,_print.local. --name "$1" --quiet
-if test $? = 0; then
-       pass=`expr $pass + 1`
-       end_test PASS
-else
-       fail=`expr $fail + 1`
-       end_test FAIL
-fi
-
-# B-2. IPP TXT keys test: The IPP TXT record contains all required keys.
-start_test "B-2. IPP TXT keys test"
-$IPPFIND "$1._ipp._tcp.local." --txt adminurl --txt pdl --txt rp --txt UUID --quiet
-if test $? = 0; then
-       pass=`expr $pass + 1`
-       end_test PASS
-else
-       fail=`expr $fail + 1`
-       $IPPFIND "$1._ipp._tcp.local." -x ./bonjour-tests.sh '{service_name}' _fail2 \;
-fi
-
-# B-3. IPP Resolve test: Printer responds to an IPP Get-Printer-Attributes request using the resolved hostname, port, and resource path.
-start_test "B-3. IPP Resolve test"
-$IPPFIND "$1._ipp._tcp.local." --ls >/dev/null
-if test $? = 0; then
-       pass=`expr $pass + 1`
-       end_test PASS
-else
-       fail=`expr $fail + 1`
-       echo "<key>Errors</key><array>" >>"$PLIST"
-       $IPPFIND "$1._ipp._tcp.local." --ls | awk '{ print "<string>" $0 "</string>" }' >>"$PLIST"
-       echo "</array>" >>"$PLIST"
-       end_test FAIL
-fi
-
-# B-4. IPP TXT values test: The IPP TXT record values match the reported IPP attribute values.
-start_test "B-4. IPP TXT values test"
-$IPPFIND "$1._ipp._tcp.local." --txt-adminurl '^(http:|https:)//' --txt-pdl 'image/pwg-raster' --txt-pdl 'image/jpeg' --txt-rp '^ipp/(print|print/[^/]+)$' --txt-UUID '^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$' -x $IPPTOOL -q '{}' bonjour-value-tests.test \;
-if test $? = 0; then
-       pass=`expr $pass + 1`
-       end_test PASS
-else
-       fail=`expr $fail + 1`
-       $IPPFIND "$1._ipp._tcp.local." -x ./bonjour-tests.sh '{service_name}' _fail4 \;
-fi
-
-# B-5. TLS tests: Performed only if TLS is supported
-start_test "B-5. TLS tests"
-$IPPFIND "$1._ipp._tcp.local." --txt tls --quiet
-if test $? = 0; then
-       pass=`expr $pass + 1`
-       HAVE_TLS=1
-       end_test PASS
-else
-       skip=`expr $skip + 1`
-       HAVE_TLS=0
-       end_test SKIP
-fi
-
-# B-5.1 HTTP Upgrade test: Printer responds to an IPP Get-Printer-Attributes request after doing an HTTP Upgrade to TLS.
-start_test "B-5.1 HTTP Upgrade test"
-if test $HAVE_TLS = 1; then
-       error=`$IPPFIND "$1._ipp._tcp.local." -x $IPPTOOL -E -q '{}' bonjour-access-tests.test \; 2>&1`
-       if test $? = 0; then
-               pass=`expr $pass + 1`
-               end_test PASS
-       else
-               fail=`expr $fail + 1`
-               echo "<key>Errors</key><array><string>$error</string></array>" >>"$PLIST"
-
-               end_test FAIL
-               echo "    $error"
-       fi
-else
-       skip=`expr $skip + 1`
-       end_test SKIP
-fi
-
-# B-5.2 IPPS Browse test: Printer appears in a search for "_ipps._tcp,_print" services.
-start_test "B-5.2 IPPS Browse test"
-if test $HAVE_TLS = 1; then
-       $IPPFIND _ipps._tcp,_print.local. --name "$1" --quiet
-       if test $? = 0; then
-               pass=`expr $pass + 1`
-               end_test PASS
-       else
-               fail=`expr $fail + 1`
-               end_test FAIL
-       fi
-else
-       skip=`expr $skip + 1`
-       end_test SKIP
-fi
-
-# B-5.3 IPPS TXT keys test: The TXT record for IPPS contains all required keys
-start_test "B-5.3 IPPS TXT keys test"
-if test $HAVE_TLS = 1; then
-       $IPPFIND "$1._ipps._tcp.local." --txt adminurl --txt pdl --txt rp --txt TLS --txt UUID --quiet
-       if test $? = 0; then
-               pass=`expr $pass + 1`
-               end_test PASS
-       else
-               fail=`expr $fail + 1`
-               $IPPFIND "$1._ipps._tcp.local." -x ./bonjour-tests.sh '{service_name}' _fail5.3 \;
-       fi
-else
-       skip=`expr $skip + 1`
-       end_test SKIP
-fi
-
-# B-5.4 IPPS Resolve test: Printer responds to an IPPS Get-Printer-Attributes request using the resolved hostname, port, and resource path.
-start_test "B-5.4 IPPS Resolve test"
-if test $HAVE_TLS = 1; then
-       $IPPFIND "$1._ipps._tcp.local." --ls >/dev/null
-       if test $? = 0; then
-               pass=`expr $pass + 1`
-               end_test PASS
-       else
-               fail=`expr $fail + 1`
-               echo "<key>Errors</key><array>" >>"$PLIST"
-               $IPPFIND "$1._ipps._tcp.local." --ls | awk '{ print "<string>" $0 "</string>" }' >>"$PLIST"
-               echo "</array>" >>"$PLIST"
-               end_test FAIL
-       fi
-else
-       skip=`expr $skip + 1`
-       end_test SKIP
-fi
-
-# B-5.5 IPPS TXT values test: The TXT record values for IPPS match the reported IPPS attribute values.
-start_test "B-5.5 IPPS TXT values test"
-if test $HAVE_TLS = 1; then
-       $IPPFIND "$1._ipps._tcp.local." --txt-adminurl '^(http:|https:)//' --txt-pdl 'image/pwg-raster' --txt-pdl 'image/jpeg' --txt-rp '^ipp/(print|print/[^/]+)$' --txt-UUID '^[0-9a-fA-F]{8,8}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{4,4}-[0-9a-fA-F]{12,12}$' -x $IPPTOOL -q '{}' bonjour-value-tests.test \;
-       if test $? = 0; then
-               pass=`expr $pass + 1`
-               end_test PASS
-       else
-               fail=`expr $fail + 1`
-               $IPPFIND "$1._ipps._tcp.local." -x ./bonjour-tests.sh '{service_name}' _fail5.5 \;
-       fi
-else
-       skip=`expr $skip + 1`
-       end_test SKIP
-fi
-
-# Finish up...
-if test $fail -gt 0; then
-       cat >>"$PLIST" <<EOF
-</array>
-<key>Successful</key>
-<false />
-EOF
-else
-       cat >>"$PLIST" <<EOF
-</array>
-<key>Successful</key>
-<true />
-EOF
-fi
-
-cat >>"$PLIST" <<EOF
-</dict>
-</plist>
-EOF
-
-score=`expr $pass + $skip`
-score=`expr 100 \* $score / $total`
-echo "Summary: $total tests, $pass passed, $fail failed, $skip skipped"
-echo "Score: ${score}%"
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/bonjour-value-tests.test b/everywhere/bonjour-value-tests.test
deleted file mode 100644 (file)
index 35d8dd7..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-# 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/".
-#
-# Usage:
-#
-#   (run from within ippfind)
-#   ippfind ... -x ipptool -t "{}" bonjour-value-tests.test ";"
-#
-
-FILE-ID "org.pwg.ipp-everywhere.20151009.bonjour"
-
-{
-       # The name of the test...
-       NAME "Validate TXT record values using Get-Printer-Attributes"
-
-       # The operation to use
-       OPERATION Get-Printer-Attributes
-
-       # Attributes, starting in the operation group...
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR language attributes-natural-language en
-       ATTR uri printer-uri $uri
-
-       # What statuses are OK?
-       STATUS successful-ok
-
-       # What attributes do we expect?
-       EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$ENV[IPPFIND_TXT_ADMINURL]"
-       EXPECT printer-uuid OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "urn:uuid:$ENV[IPPFIND_TXT_UUID]"
-}
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/document-tests.bat b/everywhere/document-tests.bat
deleted file mode 100644 (file)
index 70cd9ef..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-@echo off
-::
-::  "$Id$"
-::
-:: IPP Everywhere Printer Self-Certification Manual 1.0: Section 7: Document Data Tests.
-::
-:: Copyright 2014-2015 by The Printer Working Group.
-::
-:: This program may be copied and furnished to others, and derivative works
-:: that comment on, or otherwise explain it or assist in its implementation may
-:: be prepared, copied, published and distributed, in whole or in part, without
-:: restriction of any kind, provided that the above copyright notice and this
-:: paragraph are included on all such copies and derivative works.
-::
-:: The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,
-:: WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED
-:: WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-::
-:: Usage:
-::
-::   document-tests.bat 'Printer Name'
-::
-
-ippfind "%1._ipp._tcp.local." -x ipptool -P "\"%1 Document Results.plist\"" -I "{}" document-tests.test ";"
-
-::
-:: End of "$Id$".
-::
diff --git a/everywhere/document-tests.sh b/everywhere/document-tests.sh
deleted file mode 100755 (executable)
index 1dda93c..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/sh
-#
-#  "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 7: Document Data Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-#
-# This program may be copied and furnished to others, and derivative works
-# that comment on, or otherwise explain it or assist in its implementation may
-# be prepared, copied, published and distributed, in whole or in part, without
-# restriction of any kind, provided that the above copyright notice and this
-# paragraph are included on all such copies and derivative works.
-#
-# The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,
-# WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED
-# WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Usage:
-#
-#   ./document-tests.sh "Printer Name"
-#
-
-if test -x ../test/ippfind-static; then
-       IPPFIND="../test/ippfind-static"
-elif test -x ./ippfind; then
-       IPPFIND="./ippfind"
-else
-       IPPFIND="ippfind"
-fi
-
-if test -x ../test/ipptool-static; then
-       IPPTOOL="../test/ipptool-static"
-elif test -x ./ipptool; then
-       IPPTOOL="./ipptool"
-else
-       IPPTOOL="ipptool"
-fi
-
-for file in color.jpg document-a4.pdf document-letter.pdf; do
-       if test ! -f $file -a -f ../test/$file; then
-               ln -s ../test/$file .
-       fi
-done
-
-if test "`ls -d pwg-raster-samples-*dpi-20111130 2>/dev/null`" = ""; then
-       echo "You must first download and extract the PWG Raster Format sample files from:"
-       echo ""
-       echo "    http://ftp.pwg.org/pub/pwg/ipp/examples/"
-       echo ""
-       echo "Before you can run this script."
-       exit 1
-fi
-
-$IPPFIND "$1._ipp._tcp.local." -x $IPPTOOL -P "$1 Document Results.plist" -I '{}' document-tests.test \;
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/document-tests.test b/everywhere/document-tests.test
deleted file mode 100644 (file)
index 3270c16..0000000
+++ /dev/null
@@ -1,618 +0,0 @@
-#
-# "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 7: Document Data Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-# 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/".
-#
-# Usage:
-#
-#   ./ipptool -tI printer-uri document-tests.test
-#
-# This test file depends on document data files available at:
-#
-#   http://ftp.pwg.org/pub/pwg/ipp/examples
-#
-# The ZIP files should be extracted in the same directory as the test files,
-# for example the 600dpi files will exist in a directory called
-# "pwg-raster-samples-600dpi-20111130".  The script used to generate the raster
-# data is available in the "everywhere" subdirectory of the CUPS source code.
-#
-
-FILE-ID "org.pwg.ipp-everywhere.20151009.document"
-
-{
-       NAME "D-1. PWG Raster Format Tests (mandatory)"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "deflate" DEFINE-MATCH HAVE_DEFLATE
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "gzip" DEFINE-MATCH HAVE_GZIP
-
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/pwg-raster"
-
-       EXPECT pwg-raster-document-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag DEFINE-VALUE RASTER_RESOLUTION
-
-       EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "black-1" DEFINE-MATCH HAVE_BLACK
-       EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "sgray-8" DEFINE-MATCH HAVE_SGRAY
-       EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "srgb-8" DEFINE-MATCH HAVE_SRGB
-       EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "cmyk-8" DEFINE-MATCH HAVE_CMYK
-}
-
-#### 1.1 NO COMPRESSION ####
-{
-       SKIP-IF-NOT-DEFINED HAVE_BLACK
-       NAME "D-1.1 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, black-1"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, black-1"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/black-1/color.jpg-4x6-black-1-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SGRAY
-       NAME "D-1.1 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, sgray-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, sgray-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SRGB
-       NAME "D-1.1 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, srgb-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, srgb-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_CMYK
-       NAME "D-1.1 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, cmyk-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, cmyk-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#### 1.2 DEFLATE COMPRESSION ####
-{
-       SKIP-IF-NOT-DEFINED HAVE_BLACK
-       SKIP-IF-NOT-DEFINED HAVE_DEFLATE
-       NAME "D-1.2 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, black-1, deflate"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, black-1\, deflate"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression deflate
-       COMPRESSION deflate
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/black-1/color.jpg-4x6-black-1-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SGRAY
-       SKIP-IF-NOT-DEFINED HAVE_DEFLATE
-       NAME "D-1.2 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, sgray-8, deflate"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, sgray-8\, deflate"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression deflate
-       COMPRESSION deflate
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SRGB
-       SKIP-IF-NOT-DEFINED HAVE_DEFLATE
-       NAME "D-1.2 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, srgb-8, deflate"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, srgb-8\, deflate"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression deflate
-       COMPRESSION deflate
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_CMYK
-       SKIP-IF-NOT-DEFINED HAVE_DEFLATE
-       NAME "D-1.2 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, cmyk-8, deflate"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, cmyk-8\, deflate"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression deflate
-       COMPRESSION deflate
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#### 1.3 GZIP COMPRESSION ####
-{
-       SKIP-IF-NOT-DEFINED HAVE_BLACK
-       SKIP-IF-NOT-DEFINED HAVE_GZIP
-       NAME "D-1.3 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, black-1, gzip"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, black-1\, gzip"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression gzip
-       COMPRESSION gzip
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/black-1/color.jpg-4x6-black-1-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SGRAY
-       SKIP-IF-NOT-DEFINED HAVE_GZIP
-       NAME "D-1.3 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, sgray-8, gzip"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, sgray-8\, gzip"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression gzip
-       COMPRESSION gzip
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/sgray-8/color.jpg-4x6-sgray-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SRGB
-       SKIP-IF-NOT-DEFINED HAVE_GZIP
-       NAME "D-1.3 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, srgb-8, gzip"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, srgb-8\, gzip"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression gzip
-       COMPRESSION gzip
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/srgb-8/color.jpg-4x6-srgb-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_CMYK
-       SKIP-IF-NOT-DEFINED HAVE_GZIP
-       NAME "D-1.3 Print color.jpg-4x6.pwg @ $RASTER_RESOLUTION, cmyk-8, gzip"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg-4x6.pwg @ $RASTER_RESOLUTION\, cmyk-8\, gzip"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       ATTR keyword compression gzip
-       COMPRESSION gzip
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/cmyk-8/color.jpg-4x6-cmyk-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#### 1.4 A4 TESTS ####
-{
-       SKIP-IF-NOT-DEFINED HAVE_BLACK
-       NAME "D-1.4 Print document-a4.pwg @ $RASTER_RESOLUTION, black-1"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-a4.pwg @ $RASTER_RESOLUTION\, black-1"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/black-1/document-a4-black-1-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SGRAY
-       NAME "D-1.4 Print document-a4.pwg @ $RASTER_RESOLUTION, sgray-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-a4.pwg @ $RASTER_RESOLUTION\, sgray-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/sgray-8/document-a4-sgray-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SRGB
-       NAME "D-1.4 Print document-a4.pwg @ $RASTER_RESOLUTION, srgb-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-a4.pwg @ $RASTER_RESOLUTION\, srgb-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/srgb-8/document-a4-srgb-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_CMYK
-       NAME "D-1.4 Print document-a4.pwg @ $RASTER_RESOLUTION, cmyk-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-a4.pwg @ $RASTER_RESOLUTION\, cmyk-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/cmyk-8/document-a4-cmyk-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#### 1.5 US Letter TESTS ####
-{
-       SKIP-IF-NOT-DEFINED HAVE_BLACK
-       NAME "D-1.5 Print document-letter.pwg @ $RASTER_RESOLUTION, black-1"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pwg @ $RASTER_RESOLUTION\, black-1"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/black-1/document-letter-black-1-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SGRAY
-       NAME "D-1.5 Print document-letter.pwg @ $RASTER_RESOLUTION, sgray-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pwg @ $RASTER_RESOLUTION\, sgray-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/sgray-8/document-letter-sgray-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_SRGB
-       NAME "D-1.5 Print document-letter.pwg @ $RASTER_RESOLUTION, srgb-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pwg @ $RASTER_RESOLUTION\, srgb-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/srgb-8/document-letter-srgb-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_CMYK
-       NAME "D-1.5 Print document-letter.pwg @ $RASTER_RESOLUTION, cmyk-8"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pwg @ $RASTER_RESOLUTION\, cmyk-8"
-       ATTR mimeMediaType document-format "image/pwg-raster"
-       FILE "pwg-raster-samples-${RASTER_RESOLUTION}-20111130/cmyk-8/document-letter-cmyk-8-600dpi.pwg"
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#### JPEG Tests
-{
-       NAME "D-2. JPEG Tests (mandatory)"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/jpeg"
-}
-{
-       NAME "D-2.1 Print color.jpg with defaults"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg with defaults"
-       ATTR mimeMediaType document-format "image/jpeg"
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       NAME "D-2.2 Print color.jpg with copies=2"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg with copies=2"
-       ATTR mimeMediaType document-format "image/jpeg"
-       GROUP job-attributes-tag
-       ATTR integer copies 2
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       NAME "D-2.3 Print color.jpg with print-color-mode=monochrome"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg with print-color-mode=monochrome"
-       ATTR mimeMediaType document-format "image/jpeg"
-       GROUP job-attributes-tag
-       ATTR keyword print-color-mode monochrome
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       NAME "D-2.4 Print color.jpg with media=na_letter_8.5x11in and ipp-attribute-fidelity=true"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg with media=na_letter_8.5x11in and ipp-attribute-fidelity=true"
-       ATTR mimeMediaType document-format "image/jpeg"
-       ATTR boolean ipp-attribute-fidelity true
-       GROUP job-attributes-tag
-       ATTR keyword media na_letter_8.5x11in
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       NAME "D-2.5 Print color.jpg with media=iso_a4_210x297mm and ipp-attribute-fidelity=true"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg with media=iso_a4_210x297mm and ipp-attribute-fidelity=true"
-       ATTR mimeMediaType document-format "image/jpeg"
-       ATTR boolean ipp-attribute-fidelity true
-       GROUP job-attributes-tag
-       ATTR keyword media iso_a4_210x297mm
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#### PDF Tests
-{
-       NAME "D-3. PDF Tests (if PDF is supported)"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "application/pdf" DEFINE-MATCH HAVE_PDF
-       EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "two-sided-long-edge" DEFINE-MATCH HAVE_DUPLEX
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_PDF
-       NAME "D-3.1 Print document-letter.pdf with defaults"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pdf with defaults"
-       ATTR mimeMediaType document-format "application/pdf"
-       FILE "document-letter.pdf"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_PDF
-       NAME "D-3.2 Print document-letter.pdf with copies=2"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pdf with copies=2"
-       ATTR mimeMediaType document-format "application/pdf"
-       GROUP job-attributes-tag
-       ATTR integer copies 2
-       FILE "document-letter.pdf"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_PDF
-       NAME "D-3.3 Print document-letter.pdf with page-ranges=3-3 and print-color-mode=monochrome"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pdf with page-ranges=3-3 and print-color-mode=monochrome"
-       ATTR mimeMediaType document-format "application/pdf"
-       GROUP job-attributes-tag
-       ATTR rangeOfInteger page-ranges 3-3
-       ATTR keyword print-color-mode monochrome
-       FILE "document-letter.pdf"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_PDF
-       SKIP-IF-NOT-DEFINED HAVE_DUPLEX
-       NAME "D-3.4 Print document-letter.pdf with sides=two-sided-long-edge"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pdf with sides=two-sided-long-edge"
-       ATTR mimeMediaType document-format "application/pdf"
-       GROUP job-attributes-tag
-       ATTR keyword sides two-sided-long-edge
-       FILE "document-letter.pdf"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_PDF
-       NAME "D-3.5 Print document-letter.pdf with media=iso_a4_210x297mm and ipp-attribute-fidelity=true"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-letter.pdf with media=iso_a4_210x297mm and ipp-attribute-fidelity=true"
-       ATTR mimeMediaType document-format "application/pdf"
-       ATTR boolean ipp-attribute-fidelity true
-       GROUP job-attributes-tag
-       ATTR keyword media iso_a4_210x297mm
-       FILE "document-letter.pdf"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-{
-       SKIP-IF-NOT-DEFINED HAVE_PDF
-       NAME "D-3.6 Print document-a4.pdf with media=na_letter_8.5x11in and ipp-attribute-fidelity=true"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "document-a4.pdf with media=na_letter_8.5x11in and ipp-attribute-fidelity=true"
-       ATTR mimeMediaType document-format "application/pdf"
-       ATTR boolean ipp-attribute-fidelity true
-       GROUP job-attributes-tag
-       ATTR keyword media na_letter_8.5x11in
-       FILE "document-a4.pdf"
-
-       STATUS successful-ok
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-}
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/ipp-tests.bat b/everywhere/ipp-tests.bat
deleted file mode 100644 (file)
index 32d582b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-@echo off
-::
-::  "$Id$"
-::
-:: IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
-::
-:: Copyright 2014-2015 by The Printer Working Group.
-::
-:: This program may be copied and furnished to others, and derivative works
-:: that comment on, or otherwise explain it or assist in its implementation may
-:: be prepared, copied, published and distributed, in whole or in part, without
-:: restriction of any kind, provided that the above copyright notice and this
-:: paragraph are included on all such copies and derivative works.
-::
-:: The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,
-:: WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED
-:: WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-::
-:: Usage:
-::
-::   ipp-tests.bat 'Printer Name'
-::
-
-ippfind "%1._ipp._tcp.local." -x ipptool -P "\"%1 IPP Results.plist\"" -I "{}" ipp-tests.test ";"
-
-::
-:: End of "$Id$".
-::
diff --git a/everywhere/ipp-tests.sh b/everywhere/ipp-tests.sh
deleted file mode 100755 (executable)
index ec521d1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-#
-#  "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-#
-# This program may be copied and furnished to others, and derivative works
-# that comment on, or otherwise explain it or assist in its implementation may
-# be prepared, copied, published and distributed, in whole or in part, without
-# restriction of any kind, provided that the above copyright notice and this
-# paragraph are included on all such copies and derivative works.
-#
-# The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES,
-# WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED
-# WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Usage:
-#
-#   ./ipp-tests.sh "Printer Name"
-#
-
-if test -x ../test/ippfind-static; then
-       IPPFIND="../test/ippfind-static"
-elif test -x ./ippfind; then
-       IPPFIND="./ippfind"
-else
-       IPPFIND="ippfind"
-fi
-
-if test -x ../test/ipptool-static; then
-       IPPTOOL="../test/ipptool-static"
-elif test -x ./ipptool; then
-       IPPTOOL="./ipptool"
-else
-       IPPTOOL="ipptool"
-fi
-
-for file in color.jpg; do
-       if test ! -f $file -a -f ../test/$file; then
-               ln -s ../test/$file .
-       fi
-done
-
-$IPPFIND "$1._ipp._tcp.local." -x $IPPTOOL -P "$1 IPP Results.plist" -I '{}' ipp-tests.test \;
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/ipp-tests.test b/everywhere/ipp-tests.test
deleted file mode 100644 (file)
index f7b1dc8..0000000
+++ /dev/null
@@ -1,1158 +0,0 @@
-#
-# "$Id$"
-#
-# IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
-#
-# Copyright 2014-2015 by The Printer Working Group.
-# 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/".
-#
-# Usage:
-#
-#   ./ipptool -tI printer-uri ipp-tests.test
-#
-# History:
-#
-# This test file is loosely based on the IPP/1.1, IPP/2.0 and IPP Everywhere
-# test files from the CUPS "test" directory.  Many of those tests have been
-# combined or removed, and all print tests are performed using a sample JPEG
-# file.  These tests also validate support for the 'media-empty' and
-# 'media-needed' keywords in the "printer-state-reasons" Printer attribute.
-#
-
-FILE-ID "org.pwg.ipp-everywhere.20151009.ipp"
-
-# All tests use IPP version 2.0, unless overridden in a test...
-VERSION 2.0
-
-# Regular expressions for URI schemes:
-#
-#   HTTP_URI_SCHEME - Matches strings beginning with http:// or https://
-#   IPP_URI_SCHEME  - Matches strings beginning with ipp:// or ipps://
-#   UUID_URI        - Matches UUID URN strings.
-
-DEFINE HTTP_URI_SCHEME "/^https?://.+$$/"
-DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
-DEFINE LINK_LOCAL "/^(\[|\[v1.)fe80:/"
-DEFINE UUID_URI "/^urn:uuid:[0-9A-Fa-f]{8,8}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{12,12}/"
-
-# Regular expression for PWG media size names (eek!)
-#
-# Generated with help from: http://www.msweet.org/abnf.php
-DEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)){2,}|(custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)$$/"
-
-# Regular expression for printer-alert attribute
-#
-# Generated with help from: http://www.msweet.org/abnf.php
-DEFINE ALERT_REGEX "/^code\=[A-Za-z]+(;(index\=[0-9]+|severity\=[A-Za-z]+|training\=[A-Za-z]+|group\=[A-Za-z]+|groupindex\=[0-9]+|location\=[0-9]+|time\=[0-9]+)){0,1}$$/"
-
-# Regular expression for printer-supply attribute
-#
-# Generated with help from: http://www.msweet.org/abnf.php
-DEFINE SUPPLY_REGEX "/^(type\=[A-Za-z]+|(maxcapacity\=([0-9]|\-){0,1})(level\=([0-9]|\-){0,1})|);*((index\=[0-9]+|markerindex\=[0-9]+|class\=[A-Za-z]+|unit\=[A-Za-z]+|colorantindex\=[0-9]+|colorantrole\=[A-Za-z]+|colorantname\=[A-Za-z]+|coloranttonality\=[0-9]+);){0,1}$$/"
-
-# Test that a request-id value of 0 is not accepted.
-#
-# Required by: RFC 2911 section 3.1.1
-{
-       NAME "I-1. RFC 2911 section 3.1.1: Bad request-id value 0"
-       REQUEST-ID 0
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-
-       STATUS client-error-bad-request
-       EXPECT !printer-uri-supported
-}
-
-
-# Test that the first two attributes must be attributes-charset and
-# attributes-natural-language.
-#
-# Required by: RFC 2911 section 3.1.4
-{
-       NAME "I-2. RFC 2911 section 3.1.4: No Operation Attributes"
-       REQUEST-ID random
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-
-       STATUS client-error-bad-request
-       EXPECT !printer-uri-supported
-}
-{
-       NAME "I-3. RFC 2911 section 3.1.4: attributes-charset"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR uri printer-uri $uri
-
-       STATUS client-error-bad-request
-       EXPECT !printer-uri-supported
-}
-{
-       NAME "I-4. RFC 2911 section 3.1.4: attributes-natural-language"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-
-       STATUS client-error-bad-request
-       EXPECT !printer-uri-supported
-}
-{
-       NAME "I-5. RFC 2911 section 3.1.4: attributes-natural-language + attributes-charset"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR charset attributes-charset utf-8
-       ATTR uri printer-uri $uri
-
-       STATUS client-error-bad-request
-       EXPECT !printer-uri-supported
-}
-{
-       NAME "I-6. RFC 2911 section 3.1.4: attributes-charset + attributes-natural-language"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-
-       STATUS successful-ok
-       EXPECT printer-uri-supported OF-TYPE uri WITH-ALL-VALUES "$IPP_URI_SCHEME"
-}
-
-
-# Test that bad IPP versions are not supported.
-#
-# Required by: RFC 2911 section 3.1.8
-{
-       # The name of the test...
-       NAME "I-7. RFC 2911 section 3.1.8: Unsupported IPP version 0.0"
-       VERSION 0.0
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-
-       STATUS server-error-version-not-supported
-       EXPECT !printer-uri-supported
-}
-
-
-# Test that printer operations require the printer-uri operation attribute.
-#
-# Required by: RFC 2911 section 3.2
-{
-       NAME "I-8. RFC 2911 section 3.2: No printer-uri operation attribute"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-
-       STATUS client-error-bad-request
-       EXPECT !printer-uri-supported
-}
-
-
-# Test Get-Printer-Attributes operation
-#
-# Required by: PWG 5100.14 Section 5.x
-{
-       NAME "I-9. Get-Printer-Attributes Operation (default)"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-
-       # PWG 5100.14 - Table 5 - Operations
-       EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job
-       EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job
-       EXPECT operations-supported WITH-VALUE 0x0005 # Create-Job
-       EXPECT operations-supported WITH-VALUE 0x0006 # Send-Document
-       EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job
-       EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes
-       EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs
-       EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes
-       EXPECT operations-supported WITH-VALUE 0x0039 # Cancel-My-Jobs
-       EXPECT operations-supported WITH-VALUE 0x003b # Close-Job
-       EXPECT operations-supported WITH-VALUE 0x003c # Identify-Printer
-
-       # PWG 5100.14 - Table 6 - Printer Description Attributes
-       EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8
-
-       EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT color-supported WITH-VALUE true DEFINE-MATCH HAVE_COLOR
-
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "none"
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "deflate" DEFINE-MATCH HAVE_DEFLATE
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "gzip" DEFINE-MATCH HAVE_GZIP
-
-       EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
-
-       EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/jpeg"
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/pwg-raster"
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "application/pdf" DEFINE-MATCH HAVE_PDF
-
-       EXPECT document-password-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_PDF
-
-       EXPECT feed-orientation-supported OF-TYPE keyword IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_FEED_ORIENTATION
-       EXPECT feed-orientation-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_FEED_ORIENTATION
-
-       EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 DEFINE-MATCH HAVE_FINISHINGS
-       EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag IF-DEFINED HAVE_FINISHINGS
-
-       EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag
-
-       EXPECT identify-actions-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(display|flash|sound|speak)$/"
-       EXPECT identify-actions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(display|flash|sound|speak)$/"
-
-       EXPECT ipp-features-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "ipp-everywhere"
-
-       EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "2.0"
-
-       EXPECT job-account-id-supported OF-TYPE boolean IN-GROUP printer-attributes-tag WITH-VALUE true COUNT 1 DEFINE-MATCH HAVE_JOB_ACCOUNT_ID
-       EXPECT job-account-id-default OF-TYPE name|no-value IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_JOB_ACCOUNT_ID
-
-       EXPECT job-accounting-user-id-supported OF-TYPE boolean IN-GROUP printer-attributes-tag WITH-VALUE true COUNT 1 DEFINE-MATCH HAVE_JOB_ACCOUNTING_USER_ID
-       EXPECT job-accounting-user-id-default OF-TYPE name|no-value IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_JOB_ACCOUNTING_USER_ID
-
-       EXPECT job-constraints-supported OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_JOB_CONSTRAINTS
-
-       EXPECT job-creation-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(media|print-color-mode)$$/"
-
-       EXPECT job-ids-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true
-
-       # TODO: Make job-password-xxx conditionally required
-       EXPECT ?job-password-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-password-encryption-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
-
-       EXPECT preferred-attributes-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT job-resolvers-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_JOB_CONSTRAINTS
-
-       EXPECT media-bottom-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
-
-       # Default Get-Printer-Attributes MUST NOT return media-col-database, per PWG 5100.11 (JPS2)
-       EXPECT !media-col-database OF-TYPE collection IN-GROUP printer-attributes-tag
-
-       EXPECT media-source-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_MEDIA_SOURCE
-
-       EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_MEDIA_TYPE
-
-       EXPECT media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT media-col-default/media-size OF-TYPE collection COUNT 1
-       EXPECT media-col-default/media-size/x-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
-       EXPECT media-col-default/media-size/y-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
-       EXPECT media-col-default/media-source OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_SOURCE
-       EXPECT media-col-default/media-type OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_TYPE
-
-       # TODO: Use EXPECT-ALL (STR #4469)
-       EXPECT media-col-ready OF-TYPE collection|no-value IN-GROUP printer-attributes-tag
-       EXPECT media-col-ready/media-size OF-TYPE collection COUNT 1
-       EXPECT media-col-ready/media-size/x-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
-       EXPECT media-col-ready/media-size/y-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
-       EXPECT media-col-ready/media-source OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_SOURCE
-       EXPECT ?media-col-ready/media-source-properties OF-TYPE collection COUNT 1
-       EXPECT media-col-ready/media-type OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_TYPE
-
-       EXPECT media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
-       EXPECT media-col-supported WITH-VALUE "media-size"
-       EXPECT media-col-supported WITH-VALUE "media-source" IF-DEFINED HAVE_MEDIA_SOURCE
-       EXPECT media-col-supported WITH-VALUE "media-type" IF-DEFINED HAVE_MEDIA_TYPE
-
-       EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX"
-       EXPECT media-default WITH-VALUE "$MEDIA_REGEX" DEFINE-VALUE DEFAULT_MEDIA
-
-       EXPECT media-left-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
-
-       EXPECT media-ready OF-TYPE keyword|name|no-value IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
-
-       EXPECT media-right-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
-
-       EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag
-       # TODO: Use EXPECT-ALL (STR #4469)
-       EXPECT media-size-supported/x-dimension OF-TYPE integer|rangeOfInteger
-       EXPECT media-size-supported/y-dimension OF-TYPE integer|rangeOfInteger
-
-       # media-source-supported tests above to set HAVE_MEDIA_SOURCE
-
-       EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
-
-       EXPECT media-top-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
-
-       # media-type-supported tests above to set HAVE_MEDIA_TYPE
-
-       EXPECT multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-
-       EXPECT multiple-operation-time-out-action OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(abort-job|hold-job|process-job)$/"
-
-       EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1
-
-       # operations-supported tested above for required operations
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6,7
-       EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6,7
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT output-bin-default DEFINE-VALUE DEFAULT_OUTPUT_BIN
-       EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
-
-       EXPECT overrides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-number" IF-DEFINED HAVE_PDF
-       EXPECT overrides-supported WITH-VALUE "pages" IF-DEFINED HAVE_PDF
-
-       EXPECT page-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true IF-DEFINED HAVE_PDF
-
-       EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_COLOR
-       EXPECT !pages-per-minute-color IF-NOT-DEFINED HAVE_COLOR
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT print-color-mode-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|auto-monochrome|bi-level|color|highlight|monochrome|process-bi-level|process-monochrome)$/"
-       EXPECT print-color-mode-default DEFINE-VALUE DEFAULT_PRINT_COLOR_MODE
-       EXPECT print-color-mode-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|auto-monochrome|bi-level|color|highlight|monochrome|process-bi-level|process-monochrome)$/"
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT print-content-optimize-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|graphic|photo|text|text-and-graphic)$/"
-       EXPECT print-content-optimize-default DEFINE-VALUE DEFAULT_PRINT_CONTENT_OPTIMIZE
-       EXPECT print-content-optimize-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|graphic|photo|text|text-and-graphic)$/"
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT print-rendering-intent-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|absolute|perceptual|relative|relative-bpc|saturation)$/"
-       EXPECT print-rendering-intent-default DEFINE-VALUE DEFAULT_PRINT_RENDERING_INTENT
-       EXPECT print-rendering-intent-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|absolute|perceptual|relative|relative-bpc|saturation)$/"
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
-       EXPECT print-quality-default DEFINE-VALUE DEFAULT_PRINT_QUALITY
-       EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
-
-       EXPECT ?printer-alert OF-TYPE octetString IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$ALERT_REGEX"
-       EXPECT ?printer-alert-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-alert
-
-       EXPECT ?printer-charge-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 DEFINE-MATCH HAVE_CHARGE_INFO
-       EXPECT printer-charge-info-uri OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_CHARGE_INFO
-
-       EXPECT printer-config-change-date-time OF-TYPE dateTime IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT printer-config-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       EXPECT printer-device-id OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^([-A-Za-z ]+:[^;]*;)+$/"
-
-       EXPECT printer-geo-location OF-TYPE uri|unknown IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^geo:/"
-
-       EXPECT printer-get-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-format"
-
-       # TODO: Use EXPECT-ALL syntax
-       EXPECT printer-icc-profiles-supported OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_ICC_PROFILES
-       EXPECT printer-icc-profiles-supported/profile-name OF-TYPE name COUNT 1 IF-DEFINED HAVE_ICC_PROFILES
-       EXPECT printer-icc-profiles-supported/profile-uri OF-TYPE uri COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" IF-DEFINED HAVE_ICC_PROFILES
-
-       EXPECT printer-icons OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$HTTP_URI_SCHEME"
-       EXPECT printer-icons OF-TYPE uri WITH-ALL-HOSTNAMES "$hostname"
-
-       EXPECT printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-
-       EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-
-       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 WITH-VALUE "$HTTP_URI_SCHEME"
-       # EXPECT !printer-more-info WITH-HOSTNAME "$LINK_LOCAL"
-       # TODO: Provide warnings when hostname doesn't match
-
-       EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-
-       EXPECT printer-organization OF-TYPE text IN-GROUP printer-attributes-tag
-
-       EXPECT printer-organizational-unit OF-TYPE text IN-GROUP printer-attributes-tag
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT printer-resolution-default DEFINE-VALUE DEFAULT_PRINTER_RESOLUTION
-       EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
-
-       EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
-
-       EXPECT printer-state-change-date-time OF-TYPE dateTime IN-GROUP printer-attributes-tag COUNT 1
-
-       EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       EXPECT printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag
-
-       EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
-
-       EXPECT printer-supply OF-TYPE octetString IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$SUPPLY_REGEX"
-
-       EXPECT printer-supply-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-supply
-
-       EXPECT printer-supply-info-uri OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
-       EXPECT printer-supply-info-uri WITH-HOSTNAME "$hostname"
-       # EXPECT !printer-supply-info-uri WITH-HOSTNAME "$LINK_LOCAL"
-
-       EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-
-       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-ALL-VALUES "$IPP_URI_SCHEME"
-       # EXPECT !printer-uri-supported WITH-HOSTNAME "$LINK_LOCAL"
-
-       EXPECT printer-uuid OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
-
-       EXPECT pwg-raster-document-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
-
-       EXPECT pwg-raster-document-sheet-back OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(flipped|manual-tumble|normal|rotated)$$/"
-
-       EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
-
-       EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-
-       # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
-       EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
-       EXPECT sides-default DEFINE-VALUE DEFAULT_SIDES
-       EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
-
-       EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
-
-       EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
-
-       EXPECT which-jobs-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "completed"
-       EXPECT which-jobs-supported WITH-VALUE "not-completed"
-}
-
-
-# Test Get-Printer-Attributes operation with requested-attributes
-#
-# Required by: RFC 2911 section 3.2.5, PWG 5100.11 (JPS2)
-{
-       NAME "I-10. Get-Printer-Attributes Operation (requested-attributes)"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword requested-attributes media-col-database,printer-uri-supported
-
-       STATUS successful-ok
-
-       # TODO: Use EXPECT-ALL (STR #4469)
-       EXPECT media-col-database OF-TYPE collection IN-GROUP printer-attributes-tag
-       EXPECT media-col-database/media-size OF-TYPE collection COUNT 1
-       EXPECT media-col-database/media-size/x-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
-       EXPECT media-col-database/media-size/y-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
-       EXPECT media-col-database/media-source OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_SOURCE
-       EXPECT ?media-col-database/media-source-properties OF-TYPE collection COUNT 1
-       EXPECT media-col-database/media-type OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_TYPE
-
-       EXPECT !printer-name
-       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$IPP_URI_SCHEME"
-}
-
-
-# Test Validate-Job operation
-#
-# Required by: RFC 2911 section 3.2.3
-{
-       NAME "I-11 Validate-Job Operation"
-       OPERATION Validate-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "color.jpg"
-       ATTR boolean ipp-attribute-fidelity false
-       ATTR name document-name "color.jpg"
-       ATTR keyword compression none
-       ATTR mimeMediaType document-format "image/jpeg"
-
-       GROUP job-attributes-tag
-       ATTR keyword media "$DEFAULT_MEDIA"
-       ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
-       ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
-       ATTR enum print-quality $DEFAULT_PRINT_QUALITY
-       ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
-       ATTR keyword sides "one-sided"
-
-       STATUS successful-ok
-}
-
-
-# Test Print-Job operation
-#
-# Required by: RFC 2911 section 3.2.1
-{
-       NAME "I-12. Print-Job Operation (color.jpg)"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "job-color.jpg"
-       ATTR boolean ipp-attribute-fidelity false
-       ATTR name document-name "document-color.jpg"
-       ATTR keyword compression none
-       ATTR mimeMediaType document-format "image/jpeg"
-
-       GROUP job-attributes-tag
-       ATTR keyword media "$DEFAULT_MEDIA"
-       ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
-       ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
-       ATTR enum print-quality $DEFAULT_PRINT_QUALITY
-       ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
-       ATTR keyword sides "one-sided"
-
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-
-       EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
-
-       EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
-       EXPECT job-id DEFINE-VALUE PRINT_JOB_ID
-
-       EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9
-       EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED
-
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
-
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-}
-
-
-# Test Get-Jobs operation
-#
-# Required by: RFC 2911 section 3.2.6
-{
-       SKIP-IF-DEFINED PRINT_JOB_COMPLETED
-
-       NAME "I-13. Get-Jobs Operation (default)"
-       OPERATION Get-Jobs
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-
-       EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT !job-name
-       EXPECT !job-state
-}
-
-
-# Test Get-Jobs operation
-#
-# Required by: RFC 2911 section 3.2.6
-{
-       SKIP-IF-DEFINED PRINT_JOB_COMPLETED
-
-       NAME "I-14. Get-Jobs Operation (requested-attributes)"
-       OPERATION Get-Jobs
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword requested-attributes all
-
-       STATUS successful-ok
-
-       # PWG 5100.14 - Table 9 - Job Description attributes
-       EXPECT ?compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$user"
-       EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<7
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-       EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
-       EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       # PWG 5100.15 - Table 8 - Job Template attributes
-       EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
-       EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?page-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
-       EXPECT ?print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-}
-
-
-# Test Get-Jobs operation
-#
-# Required by: RFC 2911 section 3.2.6
-{
-       SKIP-IF-DEFINED PRINT_JOB_COMPLETED
-
-       NAME "I-15. Get-Jobs Operation (which-jobs=not-completed)"
-       OPERATION Get-Jobs
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword which-jobs not-completed
-
-       STATUS successful-ok
-
-       EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT !job-name
-       EXPECT !job-state
-}
-
-
-# Wait for job to complete...
-{
-       SKIP-IF-NOT-DEFINED PRINT_JOB_ID
-
-       NAME "I-16. Get-Job-Attributes Until Job Complete"
-       OPERATION Get-Job-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR integer job-id $PRINT_JOB_ID
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30
-       DISPLAY job-state
-
-       # PWG 5100.14 - Table 9 - Job Description attributes
-       EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "none"
-       EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "image/jpeg"
-       EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE ""
-       EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "document-color.jpg"
-       EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $PRINT_JOB_ID
-       EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "job-color.jpg"
-       EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-       EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
-       EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       # PWG 5100.15 - Table 8 - Job Template attributes
-       EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "1"
-       EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
-       EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT media OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_MEDIA"
-       EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_OUTPUT_BIN"
-       EXPECT !page-ranges
-       EXPECT print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_COLOR_MODE"
-       EXPECT print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       EXPECT print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $DEFAULT_PRINT_QUALITY
-       EXPECT print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_RENDERING_INTENT"
-       EXPECT printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINTER_RESOLUTION"
-       EXPECT sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "one-sided"
-}
-
-
-# Test Get-Jobs operation
-#
-# Required by: RFC 2911 section 3.2.6
-{
-       NAME "I-17. Get-Jobs Operation (which-jobs=completed)"
-       OPERATION Get-Jobs
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword which-jobs completed
-
-       STATUS successful-ok
-
-       # TODO: Use EXPECT-ALL/ANY syntax to check for job that was just completed
-       EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT !job-name
-       EXPECT !job-state
-}
-
-
-# Test Get-Jobs operation
-#
-# Required by: RFC 2911 section 3.2.6
-{
-       NAME "I-18. Get-Jobs Operation (which-jobs, requested-attributes)"
-       OPERATION Get-Jobs
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword requested-attributes all
-       ATTR keyword which-jobs completed
-
-       STATUS successful-ok
-
-       # PWG 5100.14 - Table 9 - Job Description attributes
-       EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6,<10
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-       EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
-       EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       # PWG 5100.15 - Table 8 - Job Template attributes
-       EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
-       EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?page-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
-       EXPECT ?print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-}
-
-
-# Test Cancel-Job operation
-#
-# Required by: RFC 2911 section 3.3.3
-{
-       NAME "I-19. Cancel-Job Operation (completed job)"
-       OPERATION Cancel-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR integer job-id $PRINT_JOB_ID
-       ATTR name requesting-user-name $user
-
-       STATUS client-error-not-possible
-}
-
-
-# Test Print-Job operation
-#
-# Required by: RFC 2911 section 3.2.1
-{
-       NAME "I-20. Print-Job Operation (color.jpg)"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "job2-color.jpg"
-       ATTR boolean ipp-attribute-fidelity false
-       ATTR name document-name "document2-color.jpg"
-       ATTR keyword compression none
-       ATTR mimeMediaType document-format "image/jpeg"
-
-       GROUP job-attributes-tag
-       ATTR keyword media "$DEFAULT_MEDIA"
-       ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
-       ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
-       ATTR enum print-quality $DEFAULT_PRINT_QUALITY
-       ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
-       ATTR keyword sides "one-sided"
-
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-
-       EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
-
-       EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
-       EXPECT job-id DEFINE-VALUE PRINT_JOB2_ID
-
-       EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9
-
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
-
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-}
-
-
-# Test Cancel-Job operation
-#
-# Required by: RFC 2911 section 3.3.3
-{
-       NAME "I-21. Cancel-Job Operation (pending/processing job)"
-       OPERATION Cancel-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR integer job-id $PRINT_JOB2_ID
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-       STATUS client-error-not-possible
-}
-
-
-# Test Get-Job-Attributes operation
-#
-# Required by: RFC 2911 section 3.3.4
-{
-       NAME "I-22. Get-Job-Attributes Operation"
-       OPERATION Get-Job-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR integer job-id $PRINT_JOB2_ID
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-
-       # PWG 5100.14 - Table 9 - Job Description attributes
-       EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "none"
-       EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "image/jpeg"
-       EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE ""
-       EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "document2-color.jpg"
-       EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $PRINT_JOB2_ID
-       EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "job2-color.jpg"
-       EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6,<10
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-       EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
-       EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       # PWG 5100.15 - Table 8 - Job Template attributes
-       EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "1"
-       EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
-       EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT media OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_MEDIA"
-       EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_OUTPUT_BIN"
-       EXPECT !page-ranges
-       EXPECT print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_COLOR_MODE"
-       EXPECT print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       EXPECT print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $DEFAULT_PRINT_QUALITY
-       EXPECT print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_RENDERING_INTENT"
-       EXPECT printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINTER_RESOLUTION"
-       EXPECT sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "one-sided"
-}
-
-
-# Test Create-Job and Send-Document operations
-#
-# Defined by: RFC 2911 section 3.2.4 and 3.3.1
-{
-       NAME "I-23. Create-Job Operation"
-       OPERATION Create-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "job3-color.jpg"
-       ATTR boolean ipp-attribute-fidelity false
-
-       GROUP job-attributes-tag
-       ATTR keyword media "$DEFAULT_MEDIA"
-       ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
-       ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
-       ATTR enum print-quality $DEFAULT_PRINT_QUALITY
-       ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
-       ATTR keyword sides "one-sided"
-
-       STATUS successful-ok
-       STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-
-       EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
-
-       EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
-       EXPECT job-id DEFINE-VALUE PRINT_JOB3_ID
-
-       EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6
-
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
-
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-}
-
-{
-       SKIP-IF-NOT-DEFINED PRINT_JOB3_ID
-
-       NAME "I-24. Send-Document Operation (color.jpg)"
-       OPERATION Send-Document
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR integer job-id $PRINT_JOB3_ID
-       ATTR name requesting-user-name $user
-       ATTR boolean last-document true
-       ATTR name document-name "document3-color.jpg"
-       ATTR keyword compression none
-       ATTR mimeMediaType document-format "image/jpeg"
-
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-job-canceled
-}
-
-
-# Wait for job to complete...
-{
-       SKIP-IF-NOT-DEFINED PRINT_JOB3_ID
-
-       NAME "I-25. Get-Job-Attributes Until Job Complete"
-       OPERATION Get-Job-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR integer job-id $PRINT_JOB3_ID
-       ATTR name requesting-user-name $user
-
-       STATUS successful-ok
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30
-       DISPLAY job-state
-
-       # PWG 5100.14 - Table 9 - Job Description attributes
-       EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "none"
-       EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
-       EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
-       EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "image/jpeg"
-       EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE ""
-       EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "document3-color.jpg"
-       EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $PRINT_JOB3_ID
-       EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "job3-color.jpg"
-       EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-       EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
-       EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
-       EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-       EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
-
-       # PWG 5100.15 - Table 8 - Job Template attributes
-       EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "1"
-       EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
-       EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
-       EXPECT media OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_MEDIA"
-       EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
-       EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_OUTPUT_BIN"
-       EXPECT !page-ranges
-       EXPECT print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_COLOR_MODE"
-       EXPECT print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       EXPECT print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $DEFAULT_PRINT_QUALITY
-       EXPECT print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_RENDERING_INTENT"
-       EXPECT printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINTER_RESOLUTION"
-       EXPECT sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "one-sided"
-}
-
-
-# Test 'media-empty' reason
-{
-       PAUSE "Remove media from printer."
-
-       NAME "I-26. Media Empty: Printer correctly reports 'media-empty' when at least one removable tray is empty (MUST NOT be a manual feed or bypass tray)"
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword requested-attributes "printer-state-reasons"
-
-       STATUS successful-ok
-
-       EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^media-empty/"
-       EXPECT !printer-state
-}
-
-
-# Test Print-Job operation
-#
-# Required by: RFC 2911 section 3.2.1
-{
-       NAME "I-27. Print-Job Operation (color.jpg)"
-       OPERATION Print-Job
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR name job-name "job4-color.jpg"
-       ATTR boolean ipp-attribute-fidelity false
-       ATTR name document-name "document4-color.jpg"
-       ATTR keyword compression none
-       ATTR mimeMediaType document-format "image/jpeg"
-
-       GROUP job-attributes-tag
-       ATTR keyword media "$DEFAULT_MEDIA"
-       ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
-       ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
-       ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
-       ATTR enum print-quality $DEFAULT_PRINT_QUALITY
-       ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
-       ATTR keyword sides "one-sided"
-
-       FILE "color.jpg"
-
-       STATUS successful-ok
-       STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
-
-       EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
-
-       EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
-       EXPECT job-id DEFINE-VALUE PRINT_JOB4_ID
-
-       EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9
-       EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED
-
-       EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
-
-       EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
-}
-
-
-# Test 'media-needed' reason
-{
-       NAME "I-28. Media Needed: Printer correctly reports 'media-needed' when a job is queued."
-       OPERATION Get-Printer-Attributes
-       GROUP operation-attributes-tag
-       ATTR charset attributes-charset utf-8
-       ATTR naturalLanguage attributes-natural-language en
-       ATTR uri printer-uri $uri
-       ATTR name requesting-user-name $user
-       ATTR keyword requested-attributes "printer-state-reasons"
-
-       STATUS successful-ok
-
-       EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^media-needed/"
-       EXPECT !printer-state
-}
-
-
-
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/make-ippeveselfcert.sh b/everywhere/make-ippeveselfcert.sh
deleted file mode 100755 (executable)
index d696b70..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-#
-# "$Id$"
-#
-#   Make an IPP Everywhere Printer self-certification package.
-#
-#   Copyright 2014-2015 The Printer Working Group.
-#   Copyright 2007-2013 by Apple Inc.
-#   Copyright 1997-2007 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/".
-#
-
-# Make sure we are running in the right directory...
-if test ! -f everywhere/make-ippeveselfcert.sh; then
-        echo "Run this script from the top-level CUPS source directory, e.g.:"
-        echo ""
-        echo "    everywhere/make-ippeveselfcert.sh $*"
-        echo ""
-        exit 1
-fi
-
-if test $# != 2; then
-       echo "Usage: everywhere/make-ippeveselfcert.sh platform YYYYMMDD"
-       exit 1
-fi
-
-platform="$1"
-fileversion="$2"
-
-echo Creating package directory...
-pkgdir="sw-ippeveselfcert10-$fileversion"
-
-test -d $pkgdir && rm -r $pkgdir
-mkdir $pkgdir || exit 1
-
-echo Copying package files
-cp LICENSE.txt $pkgdir
-cp doc/help/man-ipp*.html $pkgdir
-cp everywhere/README.txt $pkgdir
-cp everywhere/man-ippserver.html $pkgdir
-cp everywhere/*-tests.* $pkgdir
-cp test/color.jpg $pkgdir
-cp test/document-*.pdf $pkgdir
-cp test/ippfind-static $pkgdir/ippfind
-cp test/ippserver $pkgdir
-cp test/ipptool-static $pkgdir/ipptool
-cp test/printer.png $pkgdir
-
-if test x$platform = xosx; then
-       pkgfile="$pkgdir-osx.dmg"
-       echo Creating disk image $pkgfile...
-       test -f $pkgfile && rm $pkgfile
-       hdiutil create -srcfolder $pkgdir $pkgfile
-else
-       pkgfile="$pkgdir-$platform.tar.gz"
-       echo Creating archive $pkgfile...
-       tar czf $pkgfile $pkgdir || exit 1
-fi
-
-echo Removing temporary files...
-rm -r $pkgdir
-
-echo Done.
-
-#
-# End of "$Id$".
-#
diff --git a/everywhere/man-ippserver.html b/everywhere/man-ippserver.html
deleted file mode 100644 (file)
index bd4e854..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!-- SECTION: Man Pages -->
-<head>
-       <link rel="stylesheet" type="text/css" href="../cups-printable.css">
-       <title>ippserver(1)</title>
-</head>
-<body>
-<h1 class="title">ippserver(1)</h1>
-<h2 class="title"><a name="NAME">Name</a></h2>
-ippserver - a simple internet printing protocol server
-<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
-<b>ippserver</b>
-[
-<b>-2</b>
-] [
-<b>-M</b>
-<i>manufacturer</i>
-] [
-<b>-P</b>
-] [
-<b>-c</b>
-<i>command</i>
-] [
-<b>-d</b>
-<i>spool-directory</i>
-] [
-<b>-f</b>
-<i>type/subtype[,...]</i>
-] [
-<b>-h</b>
-] [
-<b>-i</b>
-<i>iconfile.png</i>
-] [
-<b>-k</b>
-] [
-<b>-l</b>
-<i>location</i>
-] [
-<b>-m</b>
-<i>model</i>
-] [
-<b>-n</b>
-<i>hostname</i>
-] [
-<b>-p</b>
-<i>port</i>
-] [
-<b>-r</b>
-<i>subtype</i>
-] [
-<b>-s</b>
-<i>speed[,color-speed]</i>
-] [
-<b>-v[vvv]</b>
-]
-<i>service-name</i>
-<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
-<b>ippserver</b>
-is a simple Internet Printing Protocol (IPP) server conforming to the IPP Everywhere (PWG 5100.14) specification. It can be used to test client software or act as a very basic print server that runs a command for every job that is printed.
-<h2 class="title"><a name="OPTIONS">Options</a></h2>
-The following options are recognized by
-<b>ippserver:</b>
-<dl class="man">
-<dt><b>-2</b>
-<dd style="margin-left: 5.0em">Report support for two-sided (duplex) printing.
-<dt><b>-M </b><i>manufacturer</i>
-<dd style="margin-left: 5.0em">Set the manufacturer of the printer.
-The default is "Test".
-<dt><b>-P</b>
-<dd style="margin-left: 5.0em">Report support for PIN printing.
-<dt><b>-c </b><i>command</i>
-<dd style="margin-left: 5.0em">Run the specified command for each document that is printed.
-<dt><b>-d </b><i>spool-directory</i>
-<dd style="margin-left: 5.0em">Specifies the directory that will hold the print files.
-The default is a directory under the user's current temporary directory.
-<dt><b>-f </b><i>type/subtype[,...]</i>
-<dd style="margin-left: 5.0em">Specifies a list of MIME media types that the server will accept.
-The default is "application/pdf,image/jpeg,image/pwg-raster".
-<dt><b>-h</b>
-<dd style="margin-left: 5.0em">Shows program help.
-<dt><b>-i </b><i>iconfile.png</i>
-<dd style="margin-left: 5.0em">Specifies the printer icon file for the server.
-The default is "printer.png".
-<dt><b>-k</b>
-<dd style="margin-left: 5.0em">Keeps the print documents in the spool directory rather than deleting them.
-<dt><b>-l </b><i>location</i>
-<dd style="margin-left: 5.0em">Specifies the human-readable location string that is reported by the server.
-The default is the empty string.
-<dt><b>-m </b><i>model</i>
-<dd style="margin-left: 5.0em">Specifies the model name of the printer.
-The default is "Printer".
-<dt><b>-n </b><i>hostname</i>
-<dd style="margin-left: 5.0em">Specifies the hostname that is reported by the server.
-The default is the name returned by the
-<b>hostname</b>(1)
-command.
-<dt><b>-p </b><i>port</i>
-<dd style="margin-left: 5.0em">Specifies the port number to listen on.
-The default is a user-specific number from 8000 to 8999.
-<dt><b>-r </b><i>subtype</i>
-<dd style="margin-left: 5.0em">Specifies the Bonjour subtype(s) to advertise.
-Separate multiple subtypes with a comma.
-The default is "_print".
-<dt><b>-s </b><i>speed[,color-speed]</i>
-<dd style="margin-left: 5.0em">Specifies the printer speed in pages per minute.
-If two numbers are specified and the second number is greater than zero, the server will report support for color printing.
-The default is "10,0".
-<dt><b>-v[vvv]</b>
-<dd style="margin-left: 5.0em">Be (very) verbose when logging activity to the standard output.
-</dl>
-<h2 class="title"><a name="EXIT_STATUS">Exit Status</a></h2>
-The
-<b>ippserver</b>
-program returns 1 if it is unable to process the command-line arguments or register the IPP service.
-Otherwise
-<b>ippserver</b>
-will run continuously until terminated.
-<h2 class="title"><a name="CONFORMING_TO">Conforming To</a></h2>
-The
-<b>ippserver</b>
-program is unique to CUPS and conforms to the IPP Everywhere (PWG 5100.14) specification.
-<h2 class="title"><a name="ENVIRONMENT">Environment</a></h2>
-<b>ippserver</b>
-adds environment variables starting with "IPP_" for all IPP Job attributes in the print request.
-For example, when executing a command for an IPP Job containing the "media" Job Template attribute, the "IPP_MEDIA" environment variable will be set to the value of that attribute.
-<p>Enumerated values are converted to their keyword equivalents.
-For example, a "print-quality" Job Template attribute with a enum value of 3 will become the "IPP_PRINT_QUALITY" environment variable with a value of "draft".
-<h2 class="title"><a name="EXAMPLES">Examples</a></h2>
-Run
-<b>ippserver</b>
-with a service name of My Cool Printer:
-<pre class="man">
-
-    ippserver "My Cool Printer"
-</pre>
-<p>Run the
-<b>file</b>(1)
-command whenever a job is sent to the server:
-<pre class="man">
-
-    ippserver -c file "My Cool Printer"
-</pre>
-<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
-PWG Internet Printing Protocol Workgroup (<a href="http://www.pwg.org/ipp">http://www.pwg.org/ipp</a>)
-<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
-Copyright &copy; 2007-2014 by Apple Inc.
-
-</body>
-</html>
diff --git a/tools/makeipptoolpkg b/tools/makeipptoolpkg
deleted file mode 100755 (executable)
index 331bdbf..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/sh
-#
-# "$Id$"
-#
-#   Make an ipptool package for CUPS.
-#
-#   Copyright 2007-2013 by Apple Inc.
-#   Copyright 1997-2007 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/".
-#
-
-# Make sure we are running in the right directory...
-if test ! -f tools/makeipptoolpkg; then
-        echo "Run this script from the top-level CUPS source directory, e.g.:"
-        echo ""
-        echo "    tools/makeipptoolpkg $*"
-        echo ""
-        exit 1
-fi
-
-platform="`uname | awk '{print tolower($1)}'`"
-case "x$1" in
-       xfedora* | xlsb | xrhel* | xubuntu*)
-               platform="linux-$1"
-               shift
-               ;;
-esac
-
-if test $# = 0; then
-       echo Updating to get snapshot version...
-       svn up
-       rev=`svn info . | grep Revision | awk '{print $2}'`
-       fileversion="`date '+%Y%m%d'`-r$rev"
-else
-       fileversion=$1
-fi
-
-if (svn st | grep -qv '^\?'); then
-       echo Local changes remain:
-       svn st | grep -v '^\?'
-       exit 1
-fi
-
-echo Creating package directory...
-pkgdir="ipptool-$fileversion"
-
-test -d $pkgdir && rm -r $pkgdir
-mkdir $pkgdir || exit 1
-
-echo Copying package files
-cp CHANGES-IPPTOOL.txt IPPTOOL.txt LICENSE.txt $pkgdir
-cp doc/help/man-ipp*.html $pkgdir
-cp test/color.jpg $pkgdir
-cp test/create-printer-subscription.test $pkgdir
-cp test/document-*.pdf $pkgdir
-cp test/document-*.ps $pkgdir
-cp test/get-completed-jobs.test test/get-jobs.test $pkgdir
-cp test/get-notifications.test $pkgdir
-cp test/get-printer-attributes.test $pkgdir
-cp test/get-subscriptions.test $pkgdir
-cp test/gray.jpg $pkgdir
-cp test/ipp-[12].*.test $pkgdir
-cp test/ipp-everywhere.test $pkgdir
-cp test/ippfind-static $pkgdir/ippfind
-cp test/ipptool-static $pkgdir/ipptool
-cp test/onepage-*.pdf $pkgdir
-cp test/onepage-*.ps $pkgdir
-cp test/print-job.test $pkgdir
-cp test/print-job-deflate.test $pkgdir
-cp test/print-job-gzip.test $pkgdir
-cp test/testfile.* $pkgdir
-cp test/validate-job.test $pkgdir
-
-if test x$platform = xdarwin; then
-       pkgfile="$pkgdir-osx-universal.dmg"
-       echo Creating disk image $pkgfile...
-       test -f $pkgfile && rm $pkgfile
-       hdiutil create -srcfolder $pkgdir $pkgfile
-else
-       pkgfile="$pkgdir-$platform-`uname -m`.tar.gz"
-       echo Creating archive $pkgfile...
-       tar czf $pkgfile $pkgdir || exit 1
-fi
-
-echo Removing temporary files...
-rm -r $pkgdir
-
-echo Done.
-
-#
-# End of "$Id$".
-#
similarity index 100%
rename from tools/makesrcdist
rename to tools/makesrcdist-obsolete
diff --git a/tools/products.php b/tools/products.php
deleted file mode 100644 (file)
index 9c2e743..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/php -f
-<?php
-
-$fp     = popen("zgrep '^\\*Product:' /Library/Printers/PPDs/Contents/Resources/*.gz", "r");
-$files  = array();
-$maxlen = 0;
-
-while ($line = fgets($fp, 1024))
-{
-  $data = explode(":", $line);
-  if (array_key_exists($data[0], $files))
-    $files[$data[0]] ++;
-  else
-    $files[$data[0]] = 1;
-
-  $data = explode("\"", $line);
-  if (strlen($data[1]) > $maxlen)
-    $maxlen = strlen($data[1]);
-}
-
-pclose($fp);
-
-arsort($files);
-
-$current_count = 0;
-$current_files = 0;
-
-foreach ($files as $file => $count)
-{
-  if ($current_count == 0)
-    print(basename($file) . "  => $count products\n");
-
-  if ($count != $current_count)
-  {
-    if ($current_count != 0)
-      print("$current_files PPDs with $current_count products.\n");
-
-    $current_count = $count;
-    $current_files = 1;
-  }
-  else
-    $current_files ++;
-}
-
-if ($current_count != 0)
-  print("$current_files PPDs with $current_count products.\n");
-
-print("Maximum length of Product string: $maxlen\n");
-
-?>
diff --git a/tools/testbtmm.c b/tools/testbtmm.c
deleted file mode 100644 (file)
index bd6379f..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Simple test program that lists the Back to My Mac domains on a Mac.
- *
- * Compile with:
- *
- *   clang -o testbtmm -g testbtmm.c -framework SystemConfiguration -framework CoreFoundation
- */
-
-#include <stdio.h>
-#include <CoreFoundation/CoreFoundation.h>
-#include <SystemConfiguration/SystemConfiguration.h>
-
-
-/*
- * 'dnssdAddAlias()' - Add a DNS-SD alias name.
- */
-
-static void
-show_domain(const void *key,           /* I - Key */
-           const void *value,          /* I - Value (domain) */
-           void       *context)        /* I - Unused */
-{
-  char valueStr[1024];                 /* Domain string */
-
-
-  (void)key;
-  (void)context;
-
-  if (CFGetTypeID((CFStringRef)value) == CFStringGetTypeID() &&
-      CFStringGetCString((CFStringRef)value, valueStr, sizeof(valueStr),
-                         kCFStringEncodingUTF8))
-    printf("Back to My Mac domain: \"%s\"\n", valueStr);
-  else
-    puts("Bad Back to My Mac domain in dynamic store.");
-}
-
-
-int
-main(void)
-{
-  SCDynamicStoreRef sc;                        /* Context for dynamic store */
-  CFDictionaryRef btmm;                        /* Back-to-My-Mac domains */
-
-
-  sc = SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("cups"), NULL, NULL);
-
-  if (!sc)
-  {
-    puts("Unable to open dynamic store.");
-    exit(1);
-  }
-
-  btmm = SCDynamicStoreCopyValue(sc, CFSTR("Setup:/Network/BackToMyMac"));
-  if (btmm && CFGetTypeID(btmm) == CFDictionaryGetTypeID())
-  {
-    printf("%d Back to My Mac domains.\n", (int)CFDictionaryGetCount(btmm));
-    CFDictionaryApplyFunction(btmm, show_domain, NULL);
-  }
-  else if (btmm)
-    puts("Bad Back to My Mac data in dynamic store.");
-  else
-    puts("No Back to My Mac domains.");
-
-  return (1);
-}
diff --git a/tools/testosx b/tools/testosx
deleted file mode 100755 (executable)
index 4547977..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/bin/sh
-# Make sure we are running in the right directory...
-if test ! -f tools/testosx; then
-       echo "Run this script from the top-level CUPS source directory, e.g.:"
-       echo ""
-       echo "    sudo tools/testosx [version]"
-       echo ""
-       exit 1
-fi
-
-if test `whoami` != root; then
-       echo "Run this script with sudo, e.g.:"
-       echo ""
-       echo "    sudo tools/testosx [version]"
-       echo ""
-       exit 1
-fi
-
-# Get the current working copy version...
-rev=`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[a-zA-Z]*//g'`
-
-if test $# = 0; then
-       version="1.5svn-r$rev"
-else
-       version=$1
-fi
-
-# Setup an install directory...
-user=`whoami`
-topdir=`pwd`
-pkgdir="/tmp/cups.pkg-$user"
-
-echo Building package using temp directory $pkgdir...
-rm -rf $pkgdir
-mkdir -p $pkgdir/Package
-mkdir -p $pkgdir/Resources
-
-# Install resource files into the Resources directory...
-echo Installing resource files...
-cp packaging/LICENSE.rtf $pkgdir/Resources/ReadMe.rtf
-sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \
-       <packaging/WELCOME.rtf >$pkgdir/Resources/Welcome.rtf
-cp packaging/installer.tif $pkgdir/Resources/background.tif
-
-if test -x /bin/launchctl; then
-       cat >$pkgdir/Resources/preflight <<EOF
-#!/bin/sh
-# Tell launchd to stop cupsd...
-if test "x`whoami`" = xroot; then
-       sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0
-       sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cups-lpd.plist || exit 0
-fi
-killall cupsd || exit 0
-EOF
-else
-       cat >$pkgdir/Resources/preflight <<EOF
-#!/bin/sh
-# Stop any running cupsd processes...
-killall cupsd || exit 0
-EOF
-fi
-
-chmod 755 $pkgdir/Resources/preflight
-
-if test -x /bin/launchctl; then
-       cat >$pkgdir/Resources/postflight <<EOF
-#!/bin/sh
-
-# Remove old xinetd config file, we use launchd now...
-rm -f /etc/xinetd.d/cups-lpd
-
-# Tell launchd to reload cupsd...
-if test "x`whoami`" = xroot; then
-       sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
-       sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd-lpd.plist || exit 0
-fi
-EOF
-else
-       cat >$pkgdir/Resources/postflight <<EOF
-#!/bin/sh
-
-# Start cupsd...
-/usr/sbin/cupsd
-EOF
-fi
-
-chmod 755 $pkgdir/Resources/postflight
-
-case `uname -r` in
-       8.* | 9.*)
-               cp packaging/InstallationCheck $pkgdir/Resources
-               chmod 755 $pkgdir/Resources/InstallationCheck
-               ;;
-esac
-
-# Tag the current revision in the plist and web interface files...
-for file in packaging/cups-desc.plist packaging/cups-info.plist \
-               doc/index.html templates/header.tmpl; do
-       echo Updating $file...
-       sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \
-               -e '1,$s/@CUPS_REVISION@//g' \
-               -e '1,$s/@CUPS_RELEASE@/1.5.'$rev'/g' \
-               <$file.in >$file
-done
-
-# Install CUPS into the Package directory...
-#make INSTALL=$topdir/install-sh BUILDROOT=$pkgdir/Package install
-make BUILDROOT=$pkgdir/Package install || exit 1
-
-# Figure out where PackageMaker is installled...
-if test -d /Developer/Applications/Utilities/PackageMaker.app; then
-       PackageMaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
-else
-       PackageMaker=/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker
-fi
-
-# Create the package...
-echo Creating MacOS X package...
-rm -rf cups.pkg
-echo $PackageMaker -build -v -p cups.pkg \
-       -f $pkgdir/Package \
-       -r $pkgdir/Resources \
-       -d packaging/cups-desc.plist \
-       -i packaging/cups-info.plist
-$PackageMaker -build -v -p cups.pkg \
-       -f $pkgdir/Package \
-       -r $pkgdir/Resources \
-       -d packaging/cups-desc.plist \
-       -i packaging/cups-info.plist
-
-# Create a disk image...
-echo Creating MacOS X disk image...
-hdiutil create -ov -srcfolder cups.pkg cups-$version.dmg
-
-# Cleanup temp files...
-echo Removing temporary files...
-#rm -rf $pkgdir
diff --git a/tools/testrpm b/tools/testrpm
deleted file mode 100755 (executable)
index 74d1449..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-#
-# "$Id$"
-#
-# Test script for making RPMs...
-#
-
-# Make sure we are running in the right directory...
-if test ! -f tools/testrpm; then
-        echo "Run this script from the top-level CUPS source directory, e.g.:"
-        echo ""
-        echo "    tools/testrpm [rpmbuild options]"
-        echo ""
-        exit 1
-fi
-
-# Strip command-line arguments so we don't create a release tag...
-args="$*"
-shift $#
-
-# Get a snapshot of the current source...
-. tools/makesrcdist
-
-# Build the RPM...
-echo Building rpm...
-rm -f /usr/src/redhat/RPMS/i386/cups*.rpm
-rm -f /usr/src/redhat/SRPMS/cups*.rpm
-rpmbuild -ta $args cups-$fileversion-source.tar.bz2
-
-#
-# End of "$Id$".
-#