sane-test(5) SANE Scanner Access Now Easy sane-test(5) 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-Oberflachen erlaubt. Es stellt einen Zugriff auf eine (fast) unbegrenzte Anzahl an virtuellen Geraten bereit. Es gibt keinerlei Unterstutzung fur echte Scanner oder Kameras. Allerdings simuliert das Backend das Scannen und Setzen von Optionen. Die Idee besteht darin, nicht nur Fehler in Oberflachen zu finden, sondern auch alle Moglichkeiten von SANE zu zeigen. Daher implementiert sane-test Funktionen und Optionen, die nicht (oder selten) in anderen Backends gefunden werden konnen. 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 wahlt 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 fuhrt >>depth=16<< im Farbmodus zu 48 bit pro Bildpunkt. Die gebrauchlichsten Kombinationen sind >>mode=Gray, depth=1<< fur den Lineart-, >>mode=Gray, depth=8<< fur den Graustufen- und >>mode=Color, depth=8<< fur 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 Intensitat und 0 = Niedrige Intensitat verwendet. Setzen der Option hand-scanner fuhrt dazu, dass sich das Test-Backend wie ein Hand-Scanner verhalt. Handscanner kennen die Bildhohe vorab nicht. Stattdessen liefern sie eine Hohe von -1. Durch Setzen dieser Option kann gepruft werden, ob eine Oberflache damit korrekt umgeht. Diese Option aktiviert auch eine feste Breite von 11 cm. Setzen der Option three-pass simuliert einen Scanner mit drei Durchlaufen. Altere Farbscanner mussten das Bild jeweils einmal pro Farbe scannen (rot/grun/blau), um das komplette Bild zu erhalten. Daher werden in diesem Modus drei einzelne Teilbilder im Farbmodus ubertragen. Die Option three-pass-order stellt eine Unterstutzung zum Andern der Reihenfolge der drei Teilbilder dar (siehe obige Option >>three-pass<<). Eine Oberflache sollte alle Reihenfolgen unterstutzen. Die Option resolution setzt die Auflosung 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 ermoglicht das Setzen des Bildes, das der Oberflache zuruckgeliefert wird. Die Optionen >>Solid white<< (vollstandig weiss) und >>Solid black<< (vollstandig schwarz) sind relativ offensichtlich, die weiteren Optionen benotigen zusatzliche Erklarungen. Farbmuster werden dazu verwendet, zu bestimmen, ob alle Modi und ihre Farben durch die Oberflache korrekt dargestellt werden. Das Gitter sollte in jedem Modus und jeder Auflosung 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 Oberflachen verwendet werden, z.B. ob die Oberflache die korrekte Bytereihenfolge (engl. endianness) verwendet. Falls die Option read-limit gesetzt ist, wird die maximal mit jedem Aufruf von sane_read() ubertragene Datenmenge begrenzt. Die Option read-limit-size setzt die Begrenzung fur die Option >>read-limit<<. Eine untere Begrenzung verlangsamt das Scannen. Es kann zum Erkennen von Fehlern in Oberflachen verwendet werden, die aufgrund falscher Annahmen uber die Grosse des Puffers oder Problemen mit den Zeitvorgaben auftreten. Die Option read-delay ermoglicht das Verzogern der Weiterleitung von Daten an die Oberflache. Die Option read-delay-duration wahlt die Anzahl an Mikrosekunden aus, die das Backend nach jeder Ubertragung an einen Puffer wartet. Diese Option ist nutzlich, um Probleme mit den Zeitvorgaben zu finden, insbesondere falls es uber das Netzwerk verwendet wird. Falls die Option read-return-value von >>Default<< (Vorgabe) verschieden ist, wird der ausgewahlte Status bei jedem Aufruf von sane_read() zuruckgeliefert. Dies ist nutzlich, um die Handhabung der SANE-Zustande durch die Oberflache 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 aufgefullt. Die Option fuzzy-parameters wahlt aus, das ungenaue Parameter zuruckgeliefert werden, solange der Scan noch nicht begonnen wurde. Diese Option kann dazu verwandt werden, zu testen, ob die Oberflache die erhaltenen Parameter verwendet, bevor der Scan beginnt (was sie nicht sollte). Die Option non-blocking ermittelt, ob fur sane_read() nicht blockierendes E/A verwendet werden sollte, falls die Oberflache dies unterstutzt. Falls die Option select-fd gesetzt ist, bietet das Backend einen Auswahl-Dateideskriptor an, um zu erkennen, ob sane_read() Daten zuruckliefert. 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 Zahlschema ist zur einfacheren Erkennung von Optionen, die von der Oberflache nicht angezeigt werden (aufgrund fehlender Unterstutzung 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) Fahigkeiten 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) Fahigkeiten hat. Das bedeutet, die Option kann nicht durch die Oberflache, sondern nur durch den Benutzer (z.B. durch Drucken eines Knopfs auf dem Gerat) gesetzt werden. Die Option bool-hard-select (3/6) ist eine logische Testoption, die eine harte Auswahl (und fortgeschrittene) Fahigkeiten hat. Das bedeutet, die Option kann nicht durch die Oberflache, sondern nur durch den Benutzer (z.B. durch Drucken eines Knopfs auf dem Gerat) gesetzt und nicht durch die Oberflache ausgelesen werden. Die Option bool-soft-detect (4/6) ist eine logische Testoption, die eine weiche Auswahl (und fortgeschrittene) Fahigkeiten 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) Fahigkeiten 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) Fahigkeiten 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 einer Feld- oder Wortlistenbegrenzung. Die Option int-inexact (7/7) ist eine Ganzzahl-Testoption, die den erbetenen Wert erhoht und den Schalter SANE_INFO_INEXACT zuruckliefert. 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 Zeichenkettenlistenbeschrankung. Die Option string-constraint-long-string-list (3/3) ist eine Zeichenkettentestoption mit Zeichenkettenlistenbeschrankung. Enthalt einige weitere Eintrage 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 anfanglichen Werte der meisten grundlegenden SANE-Optionen konnen in dieser Datei konfiguriert werden. Eine Vorlage, die alle Vorgabewerte enthalt, wird mit diesem Backend zusammen bereitgestellt. Einer der interessanteren Werte konnte number_of_devices sein. Dies kann dazu verwendet werden, die Moglichkeiten der Oberflache zu testen, eine lange Liste an Geraten anzuzeigen. Die Konfigurationswerte bezuglich Auflosung und Geometrie konnen zum Testen des Umgangs mit grossen Dateien verwendet werden. /usr/lib/sane/libsane-test.a Die statische Bibliothek, die dieses Backend implementiert. /usr/lib/sane/libsane-test.so Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfugbar, die dynamisches Laden unterstutzen). UMGEBUNGSVARIABLEN SANE_CONFIG_DIR Diese Umgebungsvariable gibt eine Liste von Verzeichnissen an, die die Konfigurationsdatei enthalten konnen. 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-Unterstutzung kompiliert wurde, steuert diese Umgebungsvariable die Debug-Stufe fur dieses Backend. Grossere Werte erhohen die Ausfuhrlichkeit 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 FEHLER - Konfigurationsdateiwerte werden nicht auf Korrektheit gepruft UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . 14. Juli 2008 sane-test(5)