BEZEICHNUNG

sane-test - SANE-Backend zum Testen von Frontends

BESCHREIBUNG

Die Bibliothek sane-test implementiert ein SANE-(Scanner Access Now Easy) Backend, das das Testen von SANE-Installationen und SANE-Oberflächen erlaubt. Es stellt einen Zugriff auf eine (fast) unbegrenzte Anzahl an virtuellen Geräten bereit. Es gibt keinerlei Unterstützung für echte Scanner oder Kameras. Allerdings simuliert das Backend das Scannen und Setzen von Optionen.
Die Idee besteht darin, nicht nur Fehler in Oberflächen zu finden, sondern auch alle Möglichkeiten von SANE zu zeigen. Daher implementiert sane-test Funktionen und Optionen, die nicht (oder selten) in anderen Backends gefunden werden können.
Das Backend ist in /etc/sane.d/dll.conf auskommentiert, so dass entweder das Kommentarzeichen entfernt oder das Backend explizit aufgerufen werden muss. Z.B. scanimage -d test oder xscanimage test.
 
 

SCAN-MODUS-OPTIONEN

Die Option mode wählt den Scan-Modus (Gray oder Color) aus.
Die Option depth bestimmt die Anzahl der Bits pro Probe (1, 8 oder 16). Denken Sie daran, dass sich dieser Wert auf die Probe bezieht, nicht den Bildpunkt. Daher führt »depth=16« im Farbmodus zu 48 bit pro Bildpunkt. Die gebräuchlichsten Kombinationen sind »mode=Gray, depth=1« für den Lineart-, »mode=Gray, depth=8« für den Graustufen- und »mode=Color, depth=8« für den Farbmodus. Die Kombination von Farbe und 1-bit-Modus ist recht unbedeutend (8 Farben), aber vom SANE-Standard erlaubt. Allerdings ist die Bedeutung von Bits nicht definiert. Derzeit wird 1 = Hohe Intensität und 0 = Niedrige Intensität verwendet.
Setzen der Option hand-scanner führt dazu, dass sich das Test-Backend wie ein Hand-Scanner verhält. Handscanner kennen die Bildhöhe vorab nicht. Stattdessen liefern sie eine Höhe von -1. Durch Setzen dieser Option kann geprüft werden, ob eine Oberfläche damit korrekt umgeht. Diese Option aktiviert auch eine feste Breite von 11 cm.
Setzen der Option three-pass simuliert einen Scanner mit drei Durchläufen. Ältere Farbscanner mussten das Bild jeweils einmal pro Farbe scannen (rot/grün/blau), um das komplette Bild zu erhalten. Daher werden in diesem Modus drei einzelne Teilbilder im Farbmodus übertragen.
Die Option three-pass-order stellt eine Unterstützung zum Ändern der Reihenfolge der drei Teilbilder dar (siehe obige Option »three-pass«). Eine Oberfläche sollte alle Reihenfolgen unterstützen.
Die Option resolution setzt die Auflösung des Bildes in Punkte pro Zoll.
Die Option source kann zum Simulieren eines Automatischen Dokumenteneinzugs (ADF) verwendet werden. Nach 10 Scans wird der ADF »leer« sein.

BESONDERE OPTIONEN

Die Option test-picture ermöglicht das Setzen des Bildes, das der Oberfläche zurückgeliefert wird. Die Optionen »Solid white« (vollständig weiß) und »Solid black« (vollständig schwarz) sind relativ offensichtlich, die weiteren Optionen benötigen zusätzliche Erklärungen. Farbmuster werden dazu verwendet, zu bestimmen, ob alle Modi und ihre Farben durch die Oberfläche korrekt dargestellt werden. Das Gitter sollte in jedem Modus und jeder Auflösung gleich aussehen. Eine Tabelle aller Testbilder kann unter http://www.meier-geinitz.de/sane/test-backend/test-pictures.html gefunden werden.
Falls die Option invert-endianness gesetzt ist, werden die oberen und unteren Bytes der Bilddaten in 16-bit-Modi ausgetauscht. Diese Option kann zum Testen der 16-bit-Modi von Oberflächen verwendet werden, z.B. ob die Oberfläche die korrekte Bytereihenfolge (engl. endianness) verwendet.
Falls die Option read-limit gesetzt ist, wird die maximal mit jedem Aufruf von sane_read() übertragene Datenmenge begrenzt.
Die Option read-limit-size setzt die Begrenzung für die Option »read-limit«. Eine untere Begrenzung verlangsamt das Scannen. Es kann zum Erkennen von Fehlern in Oberflächen verwendet werden, die aufgrund falscher Annahmen über die Größe des Puffers oder Problemen mit den Zeitvorgaben auftreten.
Die Option read-delay ermöglicht das Verzögern der Weiterleitung von Daten an die Oberfläche.
Die Option read-delay-duration wählt die Anzahl an Mikrosekunden aus, die das Backend nach jeder Übertragung an einen Puffer wartet. Diese Option ist nützlich, um Probleme mit den Zeitvorgaben zu finden, insbesondere falls es über das Netzwerk verwendet wird.
Falls die Option read-return-value von »Default« (Vorgabe) verschieden ist, wird der ausgewählte Status bei jedem Aufruf von sane_read() zurückgeliefert. Dies ist nützlich, um die Handhabung der SANE-Zustände durch die Oberfläche zu testen.
Falls die Option ppl-loss von 0 verschieden ist, bestimmt sie die Anzahl der Pixel, die am Ende jeder Zeile »verloren« gehen. Das bedeutet, die Zeilen sind mit nicht benutzten Daten aufgefüllt.
Die Option fuzzy-parameters wählt aus, das unscharfe (ungenaue) Parameter zurückgeliefert werden, solange der Scan noch nicht begonnen wurde. Diese Option kann dazu verwandt werden, zu testen, ob die Oberfläche die erhaltenen Parameter verwendet, bevor der Scan beginnt (was sie nicht sollte).
Die Option non-blocking ermittelt, ob für sane_read() nicht blockierendes E/A verwendet werden sollte, falls die Oberfläche dies unterstützt.
Falls die Option select-fd gesetzt ist, bietet das Backend einen Auswahl-Dateideskriptor an, um zu erkennen, ob sane_read() Daten zurückliefert.
Falls die Option enable-test-options gesetzt ist, wird eine recht lange Liste an Optionen zum Testen der verschiedenen SANE-Optionstypen aktiviert.
Die Option print-options kann zur Ausgabe aller Optionen auf die Standardfehlerausgabe verwandt werden.

GEOMETRIEOPTIONEN

Die Option tl-x bestimmt die obere linke X-Position des Scan-Bereichs.
Die Option tl-y bestimmt die obere linke Y-Position des Scan-Bereichs.
Die Option br-x bestimmt die untere rechte X-Position des Scan-Bereichs.
Die Option br-y bestimmt die untere rechte Y-Position des Scan-Bereichs.

LOGISCHE TESTOPTIONEN

Es gibt insgesamt 6 logische Testoptionen. Jede Option hat eine Zahl. (3/6) bedeutet: dies ist die Option 3 von 6. Das Zählschema ist zur einfacheren Erkennung von Optionen, die von der Oberfläche nicht angezeigt werden (aufgrund fehlender Unterstützung oder Fehlern), gedacht.
Die Option bool-soft-select-soft-detect (1/6) ist eine logische Testoption, die eine sanfte Auswahl und sanfte Erkennung (und fortgeschrittene) Fähigkeiten hat. Sie ist nur eine einfache logische Option.
Die Option bool-hard-select-soft-detect (2/6) ist eine logische Testoption, die eine harte Auswahl und sanfte Erkennung (und fortgeschrittene) Fähigkeiten hat. Das bedeutet, die Option kann nicht durch die Oberfläche, sondern nur durch den Benutzer (z.B. durch Drücken eines Knopfs auf dem Gerät) gesetzt werden.
Die Option bool-hard-select (3/6) ist eine logische Testoption, die eine harte Auswahl (und fortgeschrittene) Fähigkeiten hat. Das bedeutet, die Option kann nicht durch die Oberfläche, sondern nur durch den Benutzer (z.B. durch Drücken eines Knopfs auf dem Gerät) gesetzt und nicht durch die Oberfläche ausgelesen werden.
Die Option bool-soft-detect (4/6) ist eine logische Testoption, die eine weiche Auswahl (und fortgeschrittene) Fähigkeiten hat. Das bedeutet, die Option kann nur ausgelesen werden.
Die Option bool-soft-select-soft-detect-emulated (5/6) ist eine logische Testoption, die eine weiche Auswahl, weiche Erkennung und emulierte (und fortgeschrittene) Fähigkeiten hat.
Die Option bool-soft-select-soft-detect-auto (6/6) ist eine logische Testoption, die eine weiche Auswahl, weiche Erkennung und automatische (und fortgeschrittene) Fähigkeiten hat. Diese Option kann durch das Backend automatisch gesetzt werden.

GANZZAHL-TESTOPTIONEN

Es gibt insgesamt 7 Ganzzahl-Testoptionen.
Die Option int (1/7) ist eine Ganzzahl-Testoption ohne gesetzte Einheit und Begrenzung.
Die Option int-constraint-range (2/7) ist eine Ganzzahl-Testoption mit der Einheit Pixel und einem gesetzten Begrenzungsbereich. Minimum ist 4, Maximum ist 192 und Quant ist 2.
Die Option int-constraint-word-list (3/7) ist eine Ganzzahl-Testoption mit der Einheit Bit und einer gesetzten begrenzten Wortliste.
Die Option int-constraint-array (4/7) ist eine Ganzzahl-Testoption mit der Einheit mm und der Verwendung eines Feldes ohne Begrenzung.
Die Option int-constraint-array-constraint-range (5/7) ist eine Ganzzahl-Testoption mit der Einheit mm und der Verwendung eines Feldes mit einer Bereichsbegrenzung. Minimum ist 4, Maximum ist 192 und Quant ist 2.
Die Option int-constraint-array-constraint-word-list (6/7) ist eine Ganzzahl-Testoption mit der Einheit Prozent und der Verwendung eines Feldes mit einer Wortlistenbegrenzung.
Die Option int-inexact (7/7) ist eine Ganzzahl-Testoption, die den erbetenen Wert erhöht und den Schalter SANE_INFO_INEXACT zurückliefert.
 
 

FESTE TESTOPTIONEN

Es gibt insgesamt 3 feste Testoptionen.
Die Option fixed (1/3) ist eine feste Testoption ohne gesetzte Einheit und Begrenzung.
Die Option fixed-constraint-range (2/3) ist eine feste Testoption mit der Einheit Mikrosekunden und gesetztem Begrenzungsbereich. Minimum ist -42.17, Maximum 32767.9999 und Quant ist 2.0.
Die Option fixed-constraint-word-list (3/3) ist eine feste Testoption ohne gesetzte Einheit und gesetzter Wortlistenbegrenzung.

ZEICHENKETTENTESTOPTIONEN

Es gibt insgesamt 3 Zeichenkettentestoptionen.
Die Option string (1/3) ist eine Zeichenkettentestoption ohne Begrenzung.
Die Option string-constraint-string-list (2/3) ist eine Zeichenkettentestoption mit Zeichenkettenlistenbeschränkung.
Die Option string-constraint-long-string-list (3/3) ist eine Zeichenkettentestoption mit Zeichenkettenlistenbeschränkung. Enthält einige weitere Einträge …

KNOPFTESTOPTIONEN

Die Option button (1/1) ist eine Knopftestoption. Gibt Text aus …

DATEIEN

/etc/sane.d/test.conf
Die Backendkonfigurationsdatei (siehe auch die nachfolgende Beschreibung von SANE_CONFIG_DIR). Die anfänglichen Werte der meisten grundlegenden SANE-Optionen können in dieser Datei konfiguriert werden. Eine Vorlage, die alle Vorgabewerte enthält, wird mit diesem Backend zusammen bereitgestellt. Einer der interessanteren Werte könnte number_of_devices sein. Dies kann dazu verwendet werden, die Möglichkeiten der Oberfläche zu testen, eine lange Liste an Geräten anzuzeigen. Die Konfigurationswerte bezüglich Auflösung und Geometrie können zum Testen des Umgangs mit großen Dateien verwendet werden.
/usr/lib/x86_64-linux-gnu/sane/libsane-test.a
Die statische Bibliothek, die dieses Backend implementiert.
/usr/lib/x86_64-linux-gnu/sane/libsane-test.so
Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfügbar, die dynamisches Laden unterstützen).

UMGEBUNGSVARIABLEN

SANE_CONFIG_DIR
Diese Umgebungsvariable gibt eine Liste von Verzeichnissen an, die die Konfigurationsdatei enthalten können. Auf *NIX-Systemen sind die Verzeichnisse durch Doppelpunkte (:) getrennt, unter OS/2 durch Semikola (;). Falls diese Variable nicht gesetzt ist, wird in zwei Standardverzeichnissen nach der Konfigurationsdatei gesucht: zuerst im aktuellen Arbeitsverzeichnis (.) und dann in /etc/sane.d. Falls der Wert der Umgebungsvariable mit dem Verzeichnis-Trennzeichen endet, dann werden die Standardverzeichnisse nach den explizit angegebenen Verzeichnissen durchsucht. Wenn Sie beispielsweise SANE_CONFIG_DIR auf »/tmp/config:« setzen, wird in den Verzeichnissen »tmp/config«, ».« und »/etc/sane.d« gesucht (in dieser Reihenfolge).
SANE_DEBUG_TEST
Falls die Bibliothek mit Debug-Unterstützung kompiliert wurde, steuert diese Umgebungsvariable die Debug-Stufe für dieses Backend. Größere Werte erhöhen die Ausführlichkeit der Ausgabe. Beispiel: export SANE_DEBUG_TEST=4

SIEHE AUCH

sane(7), scanimage(1), xscanimage(1)
 
http://www.meier-geinitz.de/sane/test-backend/
 
 

AUTOR

Henning Meier-Geinitz < [email protected]>
 

FEHLER

- Konfigurationsdateiwerte werden nicht auf Korrektheit geprüft

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> und Helge Kreutzmann <[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer

Recommended readings

Pages related to sane-test you should read also: