2008-07-14 10:49:06 +00:00
|
|
|
.TH sane\-test 5 "14 Jul 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
|
|
|
|
.IX sane\-test
|
2002-04-13 19:15:26 +00:00
|
|
|
.SH NAME
|
2008-07-14 10:49:06 +00:00
|
|
|
sane\-test \- SANE backend for testing frontends
|
2002-04-13 19:15:26 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
2008-07-14 10:49:06 +00:00
|
|
|
.B sane\-test
|
2002-04-13 19:15:26 +00:00
|
|
|
library implements a SANE (Scanner Access Now Easy) backend that allows
|
|
|
|
testing the SANE installation and SANE frontends. It provides access to a
|
2002-06-09 17:44:20 +00:00
|
|
|
(nearly) unlimited number of virtual devices. There is no support for real
|
|
|
|
scanners or cameras. However, the backend simulates scanning and setting
|
2002-04-13 19:15:26 +00:00
|
|
|
options.
|
|
|
|
.PP
|
|
|
|
The idea is not only to find bugs in frontends but also to show all
|
2002-06-09 17:44:20 +00:00
|
|
|
capabilities of SANE. Therefore
|
2008-07-14 10:49:06 +00:00
|
|
|
.B sane\-test
|
2006-03-24 22:46:48 +00:00
|
|
|
implements functions and options that are not (or seldom) found in other
|
2002-04-13 19:15:26 +00:00
|
|
|
backends.
|
|
|
|
.PP
|
|
|
|
The backend is commented out in @CONFIGDIR@/dll.conf, so either the comment
|
2006-03-24 22:46:48 +00:00
|
|
|
character must be removed or the backend must be called explicitly. E.g.
|
2008-07-14 10:49:06 +00:00
|
|
|
`scanimage \-d test' or `xscanimage test'.
|
2002-04-13 19:15:26 +00:00
|
|
|
|
2002-06-09 17:44:20 +00:00
|
|
|
.SH SCAN MODE OPTIONS
|
|
|
|
Option
|
|
|
|
.B mode
|
|
|
|
selects the scan mode (Gray or Color).
|
|
|
|
.PP
|
|
|
|
Option
|
|
|
|
.B depth
|
|
|
|
determines the number of bits per sample (1. 8, or 16). Keep in mind, that
|
|
|
|
this value refers to the sample, not the pixel. So depth=16 results in 48
|
|
|
|
bits per pixel in color mode. The most usual combinations are mode=Gray,
|
|
|
|
depth=1 for lineart, mode=Gray, depth=8 for gray and mode=Color, depth=8 for
|
|
|
|
color mode. The combination of color and 1-bit mode is quite obscure (8
|
|
|
|
colors) but allowed in the SANE standard. However, the meaning of bits is not
|
|
|
|
defined. Currently 1 = high intensity and 0 = low intensity is used.
|
|
|
|
.PP
|
|
|
|
Setting option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B hand\-scanner
|
2002-06-09 17:44:20 +00:00
|
|
|
results in the test-backend behaving like a hand-scanner. Hand-scanners do
|
2008-07-14 10:49:06 +00:00
|
|
|
not know the image height a priori. Instead, they return a height of \-1.
|
2002-06-09 17:44:20 +00:00
|
|
|
Setting this option allows to test whether a frontend can handle this
|
|
|
|
correctly. This option also enables a fixed width of 11 cm.
|
|
|
|
.PP
|
|
|
|
Setting option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B three\-pass
|
2002-06-09 17:44:20 +00:00
|
|
|
simulates a three-pass scanner. Older color scanners needed to scan the image
|
|
|
|
once per color (reg/green/blue) to get the full image. Therefore, in this mode
|
|
|
|
three single frames are transmitted in color mode.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B three\-pass\-order
|
2002-06-09 17:44:20 +00:00
|
|
|
provides support for changing the order of the three frames (see option
|
|
|
|
three-pass above). A frontend should support all orders.
|
|
|
|
.PP
|
|
|
|
Option
|
|
|
|
.B resolution
|
|
|
|
sets the resolution of the image in dots per inch.
|
|
|
|
.PP
|
2006-01-02 22:55:44 +00:00
|
|
|
.PP
|
|
|
|
Option
|
|
|
|
.B source
|
|
|
|
can be used to simulate an Automatic Document Feeder (ADF). After 10 scans, the
|
|
|
|
ADF will be "empty".
|
|
|
|
.PP
|
2002-06-09 17:44:20 +00:00
|
|
|
|
|
|
|
.SH SPECIAL OPTIONS
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B test\-picture
|
2002-06-09 17:44:20 +00:00
|
|
|
allows to set the image that's returned to the frontend. While "Solid white"
|
|
|
|
and "Solid black" are quite obvious, the other options need some more
|
|
|
|
explanation. Color patterns are used to determine if all modes and their
|
2006-03-24 22:46:48 +00:00
|
|
|
colors are represented correctly by the frontend. The grid should look like the
|
2002-06-09 17:44:20 +00:00
|
|
|
same in every mode and resolution. A table of all the test pictures can be
|
2008-07-14 10:49:06 +00:00
|
|
|
found at: http://www.meier\-geinitz.de/sane/test\-backend/test\-pictures.html.
|
2002-06-09 17:44:20 +00:00
|
|
|
.PP
|
|
|
|
If option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B invert\-endianess
|
2002-07-24 19:57:56 +00:00
|
|
|
is set, the upper and lower bytes of image data in 16 bit modes are exchanged.
|
|
|
|
This option can be used to test the 16 bit modes of frontends, e.g. if the
|
|
|
|
frontend uses the correct endianess.
|
|
|
|
.PP
|
|
|
|
If option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B read\-limit
|
2006-03-24 22:46:48 +00:00
|
|
|
is set, the maximum amount of data transferred with each call to sane_read() is
|
2002-06-09 17:44:20 +00:00
|
|
|
limited.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B read\-limit\-size
|
2002-06-09 17:44:20 +00:00
|
|
|
sets the limit for option read-limit. A low limit slows down scanning. It
|
|
|
|
can be used to detect errors in frontend that occur because of wrong
|
|
|
|
assumptions on the size of the buffer or timing problems.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B read\-delay
|
2002-06-09 17:44:20 +00:00
|
|
|
enables delaying data to the frontend.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B read\-delay\-duration
|
2002-06-09 17:44:20 +00:00
|
|
|
selects the number of microseconds the backends waits after each transfer of a
|
|
|
|
buffer. This option is useful to find timing-related bugs, especially if
|
|
|
|
used over the network.
|
|
|
|
.PP
|
|
|
|
If option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B read\-return\-value
|
2002-06-09 17:44:20 +00:00
|
|
|
is different from "Default", the selected status will be returned by every
|
|
|
|
call to sane_read(). This is useful to test the frontend's handling of the
|
2012-07-31 01:42:52 +00:00
|
|
|
SANE statuses.
|
2002-06-09 17:44:20 +00:00
|
|
|
.PP
|
|
|
|
If option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B ppl\-loss
|
2002-06-09 17:44:20 +00:00
|
|
|
is different from 0, it determines the number of pixels that are "lost" at the
|
|
|
|
end of each line. That means, lines are padded with unused data.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B fuzzy\-parameters
|
2002-06-09 17:44:20 +00:00
|
|
|
selects that fuzzy (inexact) parameters are returned as long as the scan
|
|
|
|
hasn't been started. This option can be used to test if the frontend uses the
|
|
|
|
parameters it got before the start of the scan (which it shouldn't).
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B non\-blocking
|
2002-06-09 17:44:20 +00:00
|
|
|
determines if non-blocking IO for sane_read() should be used if supported by
|
|
|
|
the frontend.
|
|
|
|
.PP
|
|
|
|
If option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B select\-fd
|
2002-06-09 17:44:20 +00:00
|
|
|
is set, the backend offers a select filedescriptor for detecting if
|
|
|
|
sane_read() will return data.
|
|
|
|
.PP
|
|
|
|
If option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B enable\-test\-options
|
2002-06-09 17:44:20 +00:00
|
|
|
is set, a fairly big list of options for testing the various SANE option
|
|
|
|
types is enabled.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B print\-options
|
2002-06-09 17:44:20 +00:00
|
|
|
can be used to print a list of all options to standard error.
|
|
|
|
.PP
|
|
|
|
|
|
|
|
.SH GEOMETRY OPTIONS
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B tl\-x
|
2002-06-09 17:44:20 +00:00
|
|
|
determines the top-left x position of the scan area.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B tl\-y
|
2002-06-09 17:44:20 +00:00
|
|
|
determines the top-left y position of the scan area.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B br\-x
|
2002-06-09 17:44:20 +00:00
|
|
|
determines the bottom-right x position of the scan area.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B br\-y
|
2002-06-09 17:44:20 +00:00
|
|
|
determines the bottom-right y position of the scan area.
|
|
|
|
.PP
|
|
|
|
|
|
|
|
.SH BOOL TEST OPTIONS
|
|
|
|
There are 6 bool test options in total. Each option is numbered. (3/6)
|
2006-03-24 22:46:48 +00:00
|
|
|
means: this is option 3 of 6. The numbering scheme is intended for easier
|
|
|
|
detection of options not displayed by the frontend (because of missing support
|
2002-06-09 17:44:20 +00:00
|
|
|
or bugs).
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B bool\-soft\-select\-soft\-detect
|
2002-06-09 17:44:20 +00:00
|
|
|
(1/6) is a bool test option that has soft select and soft detect (and
|
|
|
|
advanced) capabilities. That's just a normal bool option.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B bool\-hard\-select\-soft\-detect
|
2002-06-09 17:44:20 +00:00
|
|
|
(2/6) is a bool test option that has hard select and soft detect (and
|
|
|
|
advanced) capabilities. That means the option can't be set by the frontend
|
|
|
|
but by the user (e.g. by pressing a button at the device).
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B bool\-hard\-select
|
2002-06-09 17:44:20 +00:00
|
|
|
(3/6) is a bool test option that has hard select (and advanced) capabilities.
|
|
|
|
That means the option can't be set by the frontend but by the user (e.g. by
|
|
|
|
pressing a button at the device) and can't be read by the frontend.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B bool\-soft\-detect
|
2002-06-09 17:44:20 +00:00
|
|
|
(4/6) is a bool test option that has soft detect (and advanced)
|
|
|
|
capabilities. That means the option is read-only.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B bool\-soft\-select\-soft\-detect\-emulated
|
2002-06-09 17:44:20 +00:00
|
|
|
(5/6) is a Bool test option that has soft select, soft detect, and emulated
|
|
|
|
(and advanced) capabilities.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B bool\-soft\-select\-soft\-detect\-auto
|
2002-06-09 17:44:20 +00:00
|
|
|
(6/6) is a Bool test option that has soft select, soft detect, and automatic
|
|
|
|
(and advanced) capabilities. This option can be automatically set by the
|
|
|
|
backend.
|
|
|
|
.PP
|
|
|
|
|
|
|
|
.SH INT TEST OPTIONS
|
|
|
|
There are 6 int test options in total.
|
|
|
|
.PP
|
|
|
|
Option
|
|
|
|
.B int
|
|
|
|
(1/6) is an int test option with no unit and no constraint set.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B int\-constraint\-range
|
2002-06-09 17:44:20 +00:00
|
|
|
(2/6) is an int test option with unit pixel and constraint range set. Minimum
|
|
|
|
is 4, maximum 192, and quant is 2.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B int\-constraint\-word\-list
|
2002-06-09 17:44:20 +00:00
|
|
|
(3/6) is an int test option with unit bits and constraint word list set.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B int\-constraint\-array
|
2002-06-09 17:44:20 +00:00
|
|
|
(4/6) is an int test option with unit mm and using an array without
|
|
|
|
constraints.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B int\-constraint\-array\-constraint\-range
|
2002-06-09 17:44:20 +00:00
|
|
|
(5/6) is an int test option with unit mm and using an array with a range
|
|
|
|
constraint. Minimum is 4, maximum 192, and quant is 2.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B int\-constraint\-array\-constraint\-word\-list
|
2002-06-09 17:44:20 +00:00
|
|
|
(6/6) is an int test option with unit percent and using an array a word list
|
|
|
|
constraint.
|
|
|
|
|
|
|
|
.SH FIXED TEST OPTIONS
|
|
|
|
There are 3 fixed test options in total.
|
|
|
|
.PP
|
|
|
|
Option
|
|
|
|
.B fixed
|
|
|
|
(1/3) is a fixed test option with no unit and no constraint set.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B fixed\-constraint\-range
|
2002-06-09 17:44:20 +00:00
|
|
|
(2/3) is a fixed test option with unit microsecond and constraint range
|
2008-07-14 10:49:06 +00:00
|
|
|
set. Minimum is \-42.17, maximum 32767.9999, and quant is 2.0.
|
2002-06-09 17:44:20 +00:00
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B fixed\-constraint\-word\-list
|
2002-06-09 17:44:20 +00:00
|
|
|
(3/3) is a Fixed test option with no unit and constraint word list set.
|
|
|
|
.PP
|
|
|
|
|
|
|
|
.SH STRING TEST OPTIONS
|
|
|
|
There are 3 string test options in total.
|
|
|
|
.PP
|
|
|
|
Option
|
|
|
|
.B string
|
|
|
|
(1/3) is a string test option without constraint.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B string\-constraint\-string\-list
|
2002-06-09 17:44:20 +00:00
|
|
|
(2/3) is a string test option with string list constraint.
|
|
|
|
.PP
|
|
|
|
Option
|
2008-07-14 10:49:06 +00:00
|
|
|
.B string\-constraint\-long\-string\-list
|
2002-06-09 17:44:20 +00:00
|
|
|
(3/3) is a string test option with string list constraint. Contains some more
|
|
|
|
entries...
|
|
|
|
.PP
|
|
|
|
|
|
|
|
.SH BUTTON TEST OPTION
|
|
|
|
Option
|
|
|
|
.B button
|
|
|
|
(1/1) is a Button test option. Prints some text...
|
|
|
|
.PP
|
2002-04-13 19:15:26 +00:00
|
|
|
|
|
|
|
.SH FILES
|
|
|
|
.TP
|
|
|
|
.I @CONFIGDIR@/test.conf
|
|
|
|
The backend configuration file (see also description of
|
|
|
|
.B SANE_CONFIG_DIR
|
|
|
|
below). The initial values of most of the basic SANE options can be configured
|
|
|
|
in this file. A template containing all the default values is provided
|
|
|
|
together with this backend. One of the more interesting values may be
|
|
|
|
.BR number_of_devices .
|
|
|
|
It can be used to check the frontend's ability to show a long list of devices.
|
2002-06-09 17:44:20 +00:00
|
|
|
The config values concerning resolution and geometry can be useful to test
|
2002-04-13 19:15:26 +00:00
|
|
|
the handling of big file sizes.
|
|
|
|
|
|
|
|
.TP
|
2008-07-14 10:49:06 +00:00
|
|
|
.I @LIBDIR@/libsane\-test.a
|
2002-04-13 19:15:26 +00:00
|
|
|
The static library implementing this backend.
|
|
|
|
.TP
|
2008-07-14 10:49:06 +00:00
|
|
|
.I @LIBDIR@/libsane\-test.so
|
2002-04-13 19:15:26 +00:00
|
|
|
The shared library implementing this backend (present on systems that
|
|
|
|
support dynamic loading).
|
|
|
|
.SH ENVIRONMENT
|
|
|
|
.TP
|
|
|
|
.B SANE_CONFIG_DIR
|
|
|
|
This environment variable specifies the list of directories that may
|
|
|
|
contain the configuration file. Under UNIX, the directories are
|
|
|
|
separated by a colon (`:'), under OS/2, they are separated by a
|
|
|
|
semi-colon (`;'). If this variable is not set, the configuration file
|
|
|
|
is searched in two default directories: first, the current working
|
|
|
|
directory (".") and then in @CONFIGDIR@. If the value of the
|
|
|
|
environment variable ends with the directory separator character, then
|
|
|
|
the default directories are searched after the explicitly specified
|
|
|
|
directories. For example, setting
|
|
|
|
.B SANE_CONFIG_DIR
|
|
|
|
to "/tmp/config:" would result in directories "tmp/config", ".", and
|
|
|
|
"@CONFIGDIR@" being searched (in this order).
|
|
|
|
.TP
|
|
|
|
.B SANE_DEBUG_TEST
|
|
|
|
If the library was compiled with debug support enabled, this
|
|
|
|
environment variable controls the debug level for this backend. Higher
|
|
|
|
debug levels increase the verbosity of the output.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
export SANE_DEBUG_TEST=4
|
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
sane(7),
|
2008-07-14 10:49:06 +00:00
|
|
|
.IR http://www.meier\-geinitz.de/sane/test\-backend/
|
2002-04-13 19:15:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
.SH AUTHOR
|
2008-07-14 10:49:06 +00:00
|
|
|
Henning Meier-Geinitz <henning@meier\-geinitz.de>
|
2002-04-13 19:15:26 +00:00
|
|
|
|
|
|
|
.SH BUGS
|
2005-04-12 06:01:14 +00:00
|
|
|
\- config file values aren't tested for correctness
|