BESCHREIBUNG
Das Programm ipptool(1) akzeptiert frei formatierte einfache Textdateien, die eine oder mehrere IPP-Anfragen beschreiben. Kommentare beginnen mit dem Zeichen »#« und gehen bis zum Zeilenende. Jede Anfrage ist in geschweiften Klammern eingeschlossen. Beispiel:# Dies ist ein Kommentar { # Der Name des Tests NAME "Drucke PostScript-Datei" # Die zu sendende Anfrage OPERATION Print-Job GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 ATTR language attributes-natural-language en ATTR uri printer-uri $uri ATTR name requesting-user-name $user FILE Testdatei.ps # Die zu erwartende Antwort STATUS successful-ok EXPECT job-id OF-TYPE integer WITH-VALUE >0 EXPECT job-uri OF-TYPE uri } { # Der Name des Tests NAME "Ermittele Attribute vom PostScript-Auftrag" # Die zu sendende Anfrage OPERATION Get-Job-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 ATTR language attributes-natural-language en ATTR uri printer-uri $uri ATTR integer job-id $job-id ATTR name requesting-user-name $user # Die zu erwartende Antwort STATUS successful-ok EXPECT job-id OF-TYPE integer WITH-VALUE $job-id EXPECT job-uri OF-TYPE uri EXPECT job-state OF-TYPE enum WITH-VALUE 3,4,5,6,7,8,9 EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user" }
OBERSTE DIREKTIVEN
Die folgenden Direktiven können außerhalb eines Tests verwandt werden:- { Test }
- Definiert einen Test.
- DEFINE Variablennamen Wert
- Definiert die benannte Variable auf den angegebenen Wert. Dies ist zur Angabe von -d Variablennamen=Wert auf der ipptool(8)-Befehlszeile äquivalent.
- DEFINE-DEFAULT Variablennamen Wert
- Definiert die benannte Variable auf den angegebenen Wert, falls sie nicht bereits einen Wert hat.
- FILE-ID "Identifikator"
- Legt die Identifikatorzeichenkette für die aktuelle Datei fest.
- IGNORE-ERRORS yes
- IGNORE-ERRORS no
- Legt fest, ob ipptool(8) standardmäßig Fehler ignorieren und mit folgenden Tests fortfahren wird.
- INCLUDE "Dateiname"
- INCLUDE <Dateiname>
- Bindet eine andere Testdatei ein. Die erste Form bindet eine Datei relativ zu der aktuellen Testdatei ein, während die zweite Form eine Datei aus dem ipptool(8)-Einbindeverzeichnis einbindet.
- INCLUDE-IF-DEFINED Name "Dateiname"
- INCLUDE-IF-DEFINED Name <Dateiname>
- Bindet eine andere Testdatei ein, falls die benannte Variable definiert ist. Die erste Form bindet eine Datei relativ zu der aktuellen Testdatei ein, während die zweite Form eine Datei aus dem ipptool(8)-Einbindeverzeichnis einbindet.
- INCLUDE-IF-NOT-DEFINED Name "Dateiname"
- INCLUDE-IF-NOT-DEFINED Name <Dateiname>
- Bindet eine andere Testdatei ein, falls die benannte Variable nicht definiert ist. Die erste Form bindet eine Datei relativ zu der aktuellen Testdatei ein, während die zweite Form eine Datei aus dem ipptool(8)-Einbindeverzeichnis einbindet.
- SKIP-IF-DEFINED variablenname
- SKIP-IF-NOT-DEFINED Variablenname
- Legt fest, dass der Rest der Testdatei übersprungen werden soll, wenn die Variable (nicht) definiert ist.
- STOP-AFTER-INCLUDE-ERROR no
- STOP-AFTER-INCLUDE-ERROR yes
- Legt fest, ob Tests nach einem Fehler in einer eingebundenen Datei angehalten werden oder nicht.
- TRANSFER auto
- Legt fest, dass der Test standardmäßig »Transfer-Encoding: chunked« für Anfragen mit angehängten Dateien und »Content-Length:« für Anfragen ohne angehängte Dateien verwenden wird.
- TRANSFER chunked
- Legt fest, dass die Tests standardmäßig den HTTP/1.1-Header »Transfer-Encoding: chunked« verwenden. Dies ist die Vorgabe und äquivalent zur Angabe von -c auf der Befehlszeile von ipptool(8). Die Unterstützung für blockweise Abfragen wird für die Konformität mit allen Versionen von IPP benötigt.
- TRANSFER length
- Legt fest, dass die Tests standardmäßig den HTTP/1.0-Header »Content-Length« verwenden. Dies ist die Vorgabe und äquivalent zur Angabe von -l auf der Befehlszeile von ipptool(8). Die Unterstützung für Inhaltslängen-Abfragen wird für die Konformität mit allen Versionen von IPP benötigt.
- VERSION 1.0
- VERSION 1.1
- VERSION 2.0
- VERSION 2.1
- VERSION 2.2
- Legt die Standard-IPP-Versionsnummer, die für die nachfolgenden Tests verwandt werden soll, fest.
TESTDIREKTIVEN
Die nachfolgenden Direktiven werden innerhalb eines Test verstanden:- ATTR Markierung Attributname Wert(e)
- Adds an attribute to the test request. Values are separated by the comma (",") character - escape commas using the "
- ATTR collection Attributname { MEMBER Markierung Mitgliedsname Wert(e) … } [ … ,{ … } ]
- Fügt der Testanfrage ein Sammlungsattribut hinzu. Mitgliedsattribute folgen der gleichen Syntax wie reguläre Attribute und können selbst wieder verschachtelte Sammlungen sein. Mehrere Sammlungswerte können, durch Kommata getrennt, wie benötigt angegeben werden.
- COMPRESSION deflate
- COMPRESSION gzip
- COMPRESSION none
- Verwendet die angegebene Komprimierung auf die Dokumentendaten, die den Attributen in einer Print-Job- oder Send-Document-Anfrage folgen.
- DELAY Sekunden
- Legt eine Verzögerung, bevor der Test ausgeführt wird, fest.
- DISPLAY Attributname
- Legt fest, dass der Wert des benannten Attributes als Teil des Testberichts ausgegeben werden soll.
- EXPECT Attributname [ Eigenschaft(en) ]
- EXPECT ?Attributname Eigenschaft(en)
- EXPECT !Attributname
- Legt fest, dass die Antwort das benannte Attribut enthalten muss/kann/nicht darf. Zusätzliche Anforderungen können als Eigenschaften hinzugefügt werden - siehe den Abschnitt »EXPECT-EIGENSCHAFTEN« für weitere Informationen über Eigenschaften. Attributnamen können weitere Mitgliederattribute festlegen, indem die Attribut- und Mitgliedernamen durch einen normalen Schrägstrich getrennt werden. Beispiel: »media-col/media-size/x-dimension«.
- EXPECT-ALL Attributname [ Eigenschaft(en) ]
- EXPECT-ALL ?Attributname Eigenschaft(en)
- Legt fest, dass die Antwort das benannte Attribut enthalten muss/kann und dass alle Vorkommen dieses Attributs auf die angegebenen Eigenschaften passen müssen.
- FILE Dateiname
- Legt eine Datei, die am Ende der Anfrage eingefügt werden soll, fest. Dies wird typischerweise verwandt, wenn eine Testausdrucksdatei gesandt wird.
- GROUP Markierung
- Legt die Gruppenmarkierung für nachfolgende Attribute in der Anfrage fest.
- IGNORE-ERRORS yes
- IGNORE-ERRORS no
- Legt fest, ob ipptool(8) Fehler in nachfolgenden Tests ignorieren und fortfahren soll.
- NAME " Zeichenkette"
- Legt den menschenlesbaren Namen des Tests fest.
- OPERATION Vorgangscode
- Spezifziert den auszuführenden Vorgang.
- PAUSE "Nachricht"
- Zeigt die bereitgestellte Nachricht an und warten darauf, dass der Benutzer eine Taste zum Fortfahren drückt.
- REQUEST-ID Nummer
- REQUEST-ID random
- Legt die in der Anfrage zu verwendene Anfrage-ID, entweder eine Ganzzahl oder das Wort »random«, um einen zufällig erzeugten Wert zu verwenden (Vorgabe), fest.
- RESOURCE Pfad
- Legt einen alternativen Ressourcen-Pfad, der für HTTP-POST-Anfragen verwandt wird, fest. Die Vorgabe ist die Ressource, die aus der an das Programm ipptool(8) übergebenen URI entstammt.
- SKIP-IF-DEFINED variablenname
- SKIP-IF-NOT-DEFINED Variablenname
- Legt fest, dass der aktuelle Test übersprungen werden soll, wenn die Variable (nicht) definiert ist.
- SKIP-PREVIOUS-ERROR yes
- SKIP-PREVIOUS-ERROR no
- Legt fest, ob ipptool(8) den aktuellen Test überspringt, falls der vorhergehende Test zu einem Fehler/Fehlschlag führte.
- STATUS Status-Code [ Eigenschaft ]
- Legt den Status-Code-Wert einer erwarteten Antwort fest. Zusätzliche Anforderungen können als Eigenschaften hinzugefügt werden - siehe den Abschnitt »EXPECT-EIGENSCHAFTEN« für weitere Informationen über Eigenschaften.
- TEST-ID "Identifikator"
- Legt eine Identifikatorzeichenkette für den aktuellen Test fest.
- TRANSFER auto
- Legt fest, dass dieser Test »Transfer-Encoding: chunked« verwendet, falls er eine angehängt Datei hat und »Content-Length:« andernfalls.
- TRANSFER chunked
- Legt fest, dass dieser Test den HTTP/1.1-Header »Transfer-Encoding: chunked« verwenden wird.
- TRANSFER length
- Legt fest, dass dieser Test den HTTP/1.0-Header »Content-Length:« verwenden wird.
- VERSION 1.0
- VERSION 1.1
- VERSION 2.0
- VERSION 2.1
- VERSION 2.2
- Legt die für diesen Test zu verwendende IPP-Versionsnummer fest.
EXPECT-EIGENSCHAFTEN
Die folgenden Eigenschaften (Prädikate) werden angehängt an die EXPECT-Test-Direktiven verstanden:- COUNT Anzahl
- Verlangt, dass das Attribut von EXPECT die angegebene Anzahl an Werten hat.
- DEFINE-MATCH Variablenname
- Setzt die Variable auf »1«, wenn die EXPECT-Bedingung passt. Ein Seiteneffekt dieser Eigenschaft ist, dass dieser EXPECT niemals bei einem Test fehlschlägt.
- DEFINE-NO-MATCH Variablenname
- Setzt die Variable auf »1«, wenn die EXPECT-Bedingung nicht passt. Ein Seiteneffekt dieser Eigenschaft ist, dass dieser EXPECT niemals bei einem Test fehlschlägt.
- DEFINE-VALUE Variablenname
- Setzt die Variable auf den Wert des Attributes, wenn die EXPECT-Bedingung passt. Ein Seiteneffekt dieser Eigenschaft ist, dass dieser EXPECT niemals bei einem Test fehlschlägt.
- IF-DEFINED Variablenname
- Die EXPECT-Bedingung wird nur angewandt, falls die angegebene Variable definiert ist.
- IF-NOT-DEFINED Variablenname
- Die EXPECT-Bedingung wird nur angewandt, falls die angegebene Variable nicht definiert ist.
- IN-GROUP Markierung
- Verlangt, dass das EXPECT-Attribut in der angegebenen Gruppenmarkierung ist.
- OF-TYPE Markierung[,Markierung,…]
- Verlangt, dass das EXPECT-Attribut die angegebenen Wertemarkierung(en) verwendet.
- REPEAT-LIMIT Anzahl
-
Legt die maximale Anzahl an Wiederholungen, falls die Eigenschaft REPEAT-MATCH oder REPEAT-NO-MATCH festgelegt ist, fest. Die Vorgabe ist 1000. - REPEAT-MATCH
- REPEAT-NO-MATCH
- Legt fest, dass der aktuelle Test wiederholt werden soll, wenn die EXPECT-Bedingung (nicht) passt.
- SAME-COUNT-AS Attributname
- Verlangt, dass das EXPECT-Attribut die gleiche Anzahl von Werten wie das festgelegte parallele Attribut hat.
- WITH-ALL-HOSTNAMES "Zeichenkette"
- WITH-ALL-HOSTNAMES "/regulärer Ausdruck/"
- Verlangt, dass alle URI-Werte einen passenden Rechnernamen enthalten.
- WITH-ALL-RESOURCES "Zeichenkette"
- WITH-ALL-RESOURCES "/regulärer Ausdruck/"
- Verlangt, dass alle URI-Werte eine passende Ressource (einschließlich des führenden /) enthalten.
- WITH-ALL-SCHEMES "Zeichenkette"
- WITH-ALL-SCHEMES "/regulärer Ausdruck/"
- Verlangt, dass alle URI-Werte ein passendes Schema enthalten.
- WITH-ALL-VALUES "Zeichenkette"
- Verlangt, dass alle Werte des EXPECT-Attributs auf die Zeichenkette passen. Vergleiche berücksichtigen die Groß- und Kleinschreibung.
- WITH-ALL-VALUES <Zahl
- WITH-ALL-VALUES =Zahl
- WITH-ALL-VALUES >Zahl
- WITH-ALL-VALUES Zahl[,…,Zahl]
- Verlangt, dass alle Werte des EXPECT-Attributs auf die Zahl(en) passen oder den numerischen Vergleich erfüllen. Beim Vergleich von rangeOfInteger-Werten prüfen die Operatoren »<« und »>« nur die obere Grenze der Bereiche.
- WITH-ALL-VALUES "false"
- WITH-ALL-VALUES "true"
- Verlangt, dass alle Werte des EXPECT-Attributs auf den übergebenen logischen Wert passen.
- WITH-ALL-VALUES "/regulärer Ausdruck/"
- Verlangt, dass alle Werte des EXPECT-Attributes auf den regulären Ausdruck passen. Dieser muss die Syntax regulärer POSIX-Ausdrücke erfüllen. Vergleiche berücksichtigen Groß- und Kleinschreibung.
- WITH-HOSTNAME "Zeichenkette"
- WITH-HOSTNAME "/regulärer Ausdruck/"
- Verlangt, dass mindestens ein URI-Wert einen passenden Rechnernamen enthält.
- WITH-RESOURCE "Zeichenkette"
- WITH-RESOURCE "/regulärer Ausdruck/"
- Verlangt, dass mindestens ein URI-Wert eine passende Ressource (einschließlich des führenden /) enthält.
- WITH-SCHEME "Zeichenkette"
- WITH-SCHEME "/regulärer Ausdruck/"
- Verlangt, dass mindestens ein URI-Wert ein passendes Schema enthält.
- WITH-VALUE "Zeichenkette"
- Verlangt, dass mindestens ein Wert des EXPECT-Attributs auf die Zeichenkette passt. Vergleiche berücksichtigen Groß- und Kleinschreibung.
- WITH-VALUE <Zahl
- WITH-VALUE =Zahl
- WITH-VALUE >Zahl
- WITH-VALUE Zahl[,…,Zahl]
- Verlangt, dass mindestens ein Wert des EXPECT-Attributs auf die Zahl(en) passt oder den numerischen Vergleich erfüllt. Beim Vergleich von rangeOfInteger-Werten prüfen die Operatoren »<« und »>« nur die obere Grenze der Bereiche.
- WITH-VALUE "false"
- WITH-VALUE "true"
- Verlangt, dass mindestens ein Wert des EXPECT-Attributs auf den übergebenen logischen Wert passt.
- WITH-VALUE "/regulärer Ausdruck/"
- Verlangt, dass mindestens ein Wert des EXPECT-Attributes auf den regulären Ausdruck passt. Dieser muss die Syntax regulärer POSIX-Ausdrücke erfüllen. Vergleiche berücksichtigen Groß- und Kleinschreibung.
- WITH-VALUE-FROM Attributname
- Verlangt, dass der Wert/die Werte des Attributes EXPECT auf den Wert/die Werte in dem angegebenen Attribut passt/passen. Beispielsweise verlangt »EXPECT job-sheets WITH-VALUE-FROM job-sheets-supported«, dass der Wert »job-sheets« als Wert im Attribut »job-sheets-supported« aufgeführt ist.
STATUS-EIGENSCHAFTEN
Die folgenden Eigenschaften werden nach der STATUS-Testdirektive verstanden:- DEFINE-MATCH Variablenname
- Setzt die Variable auf »1« wenn der STATUS passt. Ein Seiteneffekt dieser Eigenschaft ist, dass dieser STATUS niemals bei einem Test fehlschlägt.
- DEFINE-NO-MATCH Variablenname
- Setzt die Variable auf »1« wenn der STATUS nicht passt. Ein Seiteneffekt dieser Eigenschaft ist, dass dieser STATUS niemals bei einem Test fehlschlägt.
- IF-DEFINED Variablenname
- Führt dazu, dass der STATUS nur angewandt wird, falls die angegebene Variable definiert ist.
- IF-NOT-DEFINED Variablenname
- Führt dazu, dass der STATUS nur angewandt wird, falls die angegebene Variable nicht definiert ist.
- REPEAT-LIMIT Anzahl
-
Legt die maximale Anzahl an Wiederholungen fest. Die Vorgabe ist 1000. - REPEAT-MATCH
- REPEAT-NO-MATCH
- Legt fest, dass der aktuelle Test wiederholt werden soll, wenn der Rückgabestatuscode (nicht) auf den durch die STATUS-Direktive angegebenen Wert passt.
VORGANGSCODES
Vorgangscodes entsprechen hexadezimalen Zahlen (0xHHHH) und Namen aus RFC 2911 und anderen IPP-Erweiterungsspezifikationen. Hier ist die komplette Liste der von ipptool(8) unterstützten Namen:Activate-Printer CUPS-Accept-Jobs CUPS-Add-Modify-Class CUPS-Add-Modify-Printer CUPS-Authenticate-Job CUPS-Delete-Class CUPS-Delete-Printer CUPS-Get-Classes CUPS-Get-Default CUPS-Get-Devices CUPS-Get-Document CUPS-Get-PPD CUPS-Get-PPDs CUPS-Get-Printers CUPS-Move-Job CUPS-Reject-Jobs CUPS-Set-Default Cancel-Current-Job Cancel-Job Cancel-Jobs Cancel-My-Jobs Cancel-Subscription Close-Job Create-Job Create-Job-Subscriptions Create-Printer-Subscriptions Deactivate-Printer Disable-Printer Enable-Printer Get-Job-Attributes Get-Jobs Get-Notifications Get-Printer-Attributes Get-Printer-Support-Files Get-Printer-Supported-Values Get-Subscription-Attributes Get-Subscriptions Hold-Job Hold-New-Jobs Identify-Printer Pause-Printer Pause-Printer-After-Current-Job Print-Job Print-URI Promote-Job Purge-Jobs Release-Held-New-Jobs Release-Job Renew-Subscription Reprocess-Job Restart-Job Restart-Printer Resubmit-Job Resume-Job Resume-Printer Schedule-Job-After Send-Document Send-Hardcopy-Document Send-Notifications Send-URI Set-Job-Attributes Set-Printer-Attributes Shutdown-Printer Startup-Printer Suspend-Current-Job Validate-Document Validate-Job
STATUS-CODES
Status-Codes entsprechend den hexadezimalen Zahlen (0xHHHH) und Namen aus RFC 2911 und anderen IPP-Erweiterungsspezifikationen. Hier ist die komplette Liste der von ipptool(8) unterstützten Namen:client-error-account-authorization-failed client-error-account-closed client-error-account-info-needed client-error-account-limit-reached client-error-attributes-not-settable client-error-attributes-or-values-not-supported client-error-bad-request client-error-charset-not-supported client-error-compression-error client-error-compression-not-supported client-error-conflicting-attributes client-error-document-access-error client-error-document-format-error client-error-document-format-not-supported client-error-document-password-error client-error-document-permission-error client-error-document-security-error client-error-document-unprintable-error client-error-forbidden client-error-gone client-error-ignored-all-notifications client-error-ignored-all-subscriptions client-error-not-authenticated client-error-not-authorized client-error-not-found client-error-not-possible client-error-print-support-file-not-found client-error-request-entity-too-large client-error-request-value-too-long client-error-timeout client-error-too-many-subscriptions client-error-uri-scheme-not-supported cups-error-account-authorization-failed cups-error-account-closed cups-error-account-info-needed cups-error-account-limit-reached cups-see-other redirection-other-site server-error-busy server-error-device-error server-error-internal-error server-error-job-canceled server-error-multiple-document-jobs-not-supported server-error-not-accepting-jobs server-error-operation-not-supported server-error-printer-is-deactivated server-error-service-unavailable server-error-temporary-error server-error-version-not-supported successful-ok successful-ok-but-cancel-subscription successful-ok-conflicting-attributes successful-ok-events-complete successful-ok-ignored-notifications successful-ok-ignored-or-substituted-attributes successful-ok-ignored-subscriptions successful-ok-too-many-events
MARKIERUNGEN
Werte- und Gruppenmarkierungen entsprechen den Namen aus RFC 2911 und anderen IPP-Erweiterungsspezifikationen. Hier sind die Gruppenmarkierungen:document-attributes-tag event-notification-attributes-tag job-attributes-tag operation-attributes-tag printer-attributes-tag subscription-attributes-tag unsupported-attributes-tag
Hier sind die Wertemarkierungen:
admin-define boolean charset collection dateTime default delete-attribute enum integer keyword mimeMediaType nameWithLanguage nameWithoutLanguage naturalLanguage no-value not-settable octetString rangeOfInteger resolution textWithLanguage textWithoutLanguage unknown unsupported uri uriScheme
VARIABLEN
Das Programm ipptool(8) verwaltet eine Liste von Variablen, die in jeder Zeichenkette oder jedem Attributswert über Angabe von »$variable-name« verwandt werden können. Neben den durch die Option -d oder der Direktiven DEFINE angegebenen Variablen sind folgende vordefinierte Variablen verfügbar:- $$
- Fügt ein einzelnes »$«-Zeichen ein.
- $ENV[Name]
- Fügt den Wert der benannten Umgebungsvariablen oder eine leere Zeichenkette, falls die Umgebungsvariable nicht definiert ist, ein.
- $filename
- Fügt den mit der Option -f an ipptool(8) bereitgestellten Dateinamen ein.
- $filetype
- Fügt den MIME-Medientyp für den mit der Option -f an ipptool(8) bereitgestellten Dateinamen ein.
- $hostname
- Fügt den Rechnernamen aus der ipptool(8) bereitgestellten URI ein.
- $job-id
- Fügt den letzten in einer Testantwort zurückgelieferten »job-id«-Attributwert oder 0, falls kein Attribut »job-id« gesehen wurde, ein.
- $job-uri
- Fügt den letzten in einer Testantwort zurückgelieferten »job-uri«-Attributwert oder eine leere Zeichenkette, falls keine Attribut »job-uri« gesehen wurde, ein.
- $notify-subscription-id
- Fügt den letzten in einer Testantwort zurückgelieferten »notify-subscription-id«-Attributwert oder 0, falls keine Attribut »notify-subscription-id« gesehen wurde, ein.
- $port
- Fügt die Portnummer aus der an ipptool(8) übergebenen URI ein.
- $resource
- Fügt den Ressourcenpfad aus der an ipptool(8) übergebenen URI ein.
- $scheme
- Fügt das Schema aus der ipptool(8) übergebenen URI ein.
- $uri
- Fügt die an ipptool(8) übergebene URI ein.
- $uriuser
- Fügt den Benutzernamen aus der ipptool(8) übergebenen URI ein, falls vorhanden.
- $user
- Fügt den Anmeldenamen des aktuellen Benutzers ein.
COPYRIGHT
Copyright © 2007-2015 by Apple Inc.