[sane-devel] a backend test

Frank Zago fzago@greshamstorage.com
Sat, 16 Mar 2002 18:30:25 -0600 (CST)


From: mh <crapsite@gmx.net>
> At the moment, it's tstbackend that needs some bug fixes/improvements :-)

Indeed.
When I wrote it, I read the docs and I had to check how various
backends were working. Some assert are obviously incorrect as some of you
noticed. So do not modify your backend if you think the error is
incorrect.


From: Bertrik Sikken <bertrik@zonnet.nl>
> I got an assertion on line 226 because the size reported by a
> button option was nonzero.
> The SANE API says however that the size is ignored, so this
> assertion is probably too strict.

I do agree it is not an error. However, it it a reason to not
leave that size option uninitialized? That's probably religion here. I
try always write 0 to reserved/unused fields to avoid surprises.


From: Peter Fales <psfales@lucent.com>
> it's failing on the same test.  I can't find anything in the docs
> that requires a "mode" option to be supplied.

There is none. tstbackend tries to change some options that are with side
effect (resolution, scan mode, ...) and do some scan with it. I think it
would be best to issue a warning or write a test more adapted to
this kind of backend (v4l, gphoto2, ...).

> Is tstbackend going to be added to cvs?

Not now. It's not ready. When it is, I will request Henning's approval.

From: Henning Meier-Geinitz <henning@meier-geinitz.de>
> A SANE_TYPE_STRING can also be a single string that can be entered in
> the frontend like the filename in this case.

I din't though about that about. I'll fix it.

> Then tstbackend doesn't like that pnm doesn't return SANE_STATUS_INVAL
> when sane_control_option is called for an inactive option. I'm not
> sure if this is a violation of the standard.

May be not SANE_STATUS_INVAL, but it doesn't make sense to return
SANE_STATUS_GOOD for an option that's a not active.

In the next version, I will try to
  - skip tests that cannot be done
  - issue more info, warning and errors messages
  - remove most of the assert

Thanks for your input,
  Frank.