sane-project-website/old-archive/1999-02/0237.html

199 wiersze
11 KiB
HTML

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<!-- received="Sun Feb 28 13:41:42 1999 PST" -->
<!-- sent="Sun, 28 Feb 1999 21:42:30 +0000 (GMT)" -->
<!-- name="Nick Lamb" -->
<!-- email="njl98r@ecs.soton.ac.uk" -->
<!-- subject="Scanimage -T backend tester [patch]" -->
<!-- id="" -->
<!-- inreplyto="" -->
<title>sane-devel: Scanimage -T backend tester [patch]</title>
<h1>Scanimage -T backend tester [patch]</h1>
<b>Nick Lamb</b> (<a href="mailto:njl98r@ecs.soton.ac.uk"><i>njl98r@ecs.soton.ac.uk</i></a>)<br>
<i>Sun, 28 Feb 1999 21:42:30 +0000 (GMT)</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#237">[ date ]</a><a href="index.html#237">[ thread ]</a><a href="subject.html#237">[ subject ]</a><a href="author.html#237">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0238.html">Nathan Hand: "multiple cams"</a>
<li> <b>Previous message:</b> <a href="0236.html">David Mosberger-Tang: "pre-test available"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
This message is in MIME format. The first part should be readable text,<br>
while the remaining parts are likely unreadable without MIME-aware tools.<br>
Send mail to <a href="mailto:mime@docserver.cac.washington.edu">mime@docserver.cac.washington.edu</a> for more info.<br>
<p>
--1318610500-15712637-920238150=:9019<br>
Content-Type: TEXT/PLAIN; charset=US-ASCII<br>
<p>
<p>
Well, I no longer have the original detailed explanation for this patch,<br>
but I suspect that it is archived somewhere...<br>
<p>
Although I obviously don't have the opportunity to compare the in-use<br>
quality of different backends, my instinct is that they could be a lot<br>
better. So I wrote a test for the problem that bit me when trying to<br>
learn how SANE works -- buffer over/underflows.<br>
<p>
The patch is attached here, and for MIME impaired people, it is available<br>
from <a href="http://www.staff.ecs.soton.ac.uk/~njl98r/">http://www.staff.ecs.soton.ac.uk/~njl98r/</a><br>
<p>
This patch adds a new option scanimage -T, which will test that the<br>
backend chosen (or the default backend) complies with the SANE<br>
standard. In this version the test only checks for the behaviour with<br>
regard to sane_read(...), ie that the backend will never write more<br>
data than requested, and that it correctly reports how much data it<br>
wrote to the buffer.<br>
<p>
In the same vein, I'm working on a backend which offers a number of<br>
virtual devices, each of which can offer a static image which is<br>
generated by a simple algorithm. This is intended to be a test for a<br>
user who isn't sure that SANE is working, or for frontend writers who<br>
don't have different hardware available for testing features.<br>
<p>
I really like the SANE standard, and I hope this stuff helps.<br>
<p>
Nick.<br>
<p>
--1318610500-15712637-920238150=:9019<br>
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=scanimage-test-patch<br>
Content-Transfer-Encoding: BASE64<br>
Content-ID: &lt;<a href="mailto:Pine.LNX.3.96.990228214230.9019B@chef.ecs.soton.ac.uk">Pine.LNX.3.96.990228214230.9019B@chef.ecs.soton.ac.uk</a>&gt;<br>
Content-Description: Scanimage patch<br>
<p>
LS0tIHNjYW5pbWFnZS5jLm9sZAlUaHUgRGVjIDMxIDEzOjIzOjU1IDE5OTgN<br>
CisrKyBzY2FuaW1hZ2UuYwlUaHUgRGVjIDMxIDEzOjM4OjA0IDE5OTgNCkBA<br>
IC01OSwxOCArNTksMTkgQEANCiAgIHsibGlzdC1kZXZpY2VzIiwgbm9fYXJn<br>
dW1lbnQsIE5VTEwsICdMJ30sDQogICB7ImhlbHAiLCBub19hcmd1bWVudCwg<br>
TlVMTCwgJ2gnfSwNCiAgIHsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxM<br>
LCAndid9LA0KKyAgeyJ0ZXN0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdUJ30s<br>
DQogICB7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwNCiAg<br>
IHswLCB9DQogfTsNCiANCi0jZGVmaW5lIEJBU0VfT1BUU1RSSU5HCSJkOmhM<br>
dlYiDQorI2RlZmluZSBCQVNFX09QVFNUUklORwkiZDpoTHZWVCINCiAjZGVm<br>
aW5lIFNUUklQX0hFSUdIVAkyNTYJLyogIyBsaW5lcyB3ZSBpbmNyZW1lbnQg<br>
aW1hZ2UgaGVpZ2h0ICovDQogDQogc3RhdGljIHN0cnVjdCBvcHRpb24gKiBh<br>
bGxfb3B0aW9uczsNCiBzdGF0aWMgaW50IG9wdGlvbl9udW1iZXJfbGVuOw0K<br>
IHN0YXRpYyBpbnQgKiBvcHRpb25fbnVtYmVyOw0KIHN0YXRpYyBTQU5FX0hh<br>
bmRsZSBkZXZpY2U7DQotc3RhdGljIGludCB2ZXJib3NlOw0KK3N0YXRpYyBp<br>
bnQgdmVyYm9zZSwgdGVzdDsNCiBzdGF0aWMgaW50IGhlbHA7DQogc3RhdGlj<br>
IGNvbnN0IGNoYXIgKiBwcm9nX25hbWU7DQogc3RhdGljIFNBTkVfT3B0aW9u<br>
X0Rlc2NyaXB0b3Igd2luZG93X29wdGlvblsyXTsNCkBAIC05MzgsNiArOTM5<br>
LDEwNiBAQA0KICAgICBmcmVlIChpbWFnZS5kYXRhKTsNCiB9DQogDQorc3Rh<br>
dGljIHZvaWQgY2xlYW5fYnVmZmVyKFNBTkVfQnl0ZSAqYnVmZmVyLCBpbnQg<br>
c2l6ZSkgew0KKyAgaW50IGk7DQorICBmb3IgKGk9IDA7IGkgPCBzaXplOyAr<br>
K2kpIHsNCisgICAgYnVmZmVyW2ldPSAweDIzOw0KKyAgfQ0KK30NCisNCitz<br>
dGF0aWMgdm9pZA0KK3Bhc3NfZmFpbCAoaW50IG1heCwgaW50IGxlbiwgU0FO<br>
RV9CeXRlICpidWZmZXIsIFNBTkVfU3RhdHVzIHN0YXR1cykgew0KKyAgaWYg<br>
KHN0YXR1cyAhPSBTQU5FX1NUQVRVU19HT09EKSB7DQorICAgIGZwcmludGYo<br>
c3RkZXJyLCAiRkFJTCBFcnJvcjogJXNcbiIsIHNhbmVfc3Ryc3RhdHVzKHN0<br>
YXR1cykpOw0KKyAgfSBlbHNlIGlmIChidWZmZXJbbGVuXSAhPSAweDIzKSB7<br>
DQorICAgIHdoaWxlKGJ1ZmZlcltsZW5dICE9IDB4MjMpIGxlbisrOw0KKyAg<br>
ICBmcHJpbnRmKHN0ZGVyciwgIkZBSUwgQ2hlYXQ6ICVkIGJ5dGVzXG4iLCBs<br>
ZW4pOw0KKyAgfSBlbHNlIGlmIChsZW4gPiBtYXgpIHsNCisgICAgZnByaW50<br>
ZihzdGRlcnIsICJGQUlMIE92ZXJmbG93OiAlZCBieXRlc1xuIiwgbGVuKTsN<br>
CisgIH0gZWxzZSBpZiAobGVuID09IDApIHsNCisgICAgZnByaW50ZihzdGRl<br>
cnIsICJGQUlMIE5vIGRhdGFcbiIpOw0KKyAgfSBlbHNlIHsNCisgICAgZnBy<br>
aW50ZihzdGRlcnIsICJQQVNTXG4iKTsNCisgIH0NCit9DQorDQorc3RhdGlj<br>
IHZvaWQNCit0ZXN0X2l0ICh2b2lkKQ0KK3sNCisgIGludCBpLCBsZW47DQor<br>
ICBTQU5FX1BhcmFtZXRlcnMgcGFybTsNCisgIFNBTkVfU3RhdHVzIHN0YXR1<br>
czsNCisgIEltYWdlIGltYWdlID0gezAsIH07DQorICBzdGF0aWMgY29uc3Qg<br>
Y2hhciAqZm9ybWF0X25hbWVbXSA9DQorICAgIHsgImdyYXkiLCAiUkdCIiwg<br>
InJlZCIsICJncmVlbiIsICJibHVlIiB9Ow0KKw0KKyAgc3RhdHVzID0gc2Fu<br>
ZV9zdGFydCAoZGV2aWNlKTsNCisgIGlmIChzdGF0dXMgIT0gU0FORV9TVEFU<br>
VVNfR09PRCkgew0KKyAgICBmcHJpbnRmIChzdGRlcnIsICIlczogc2FuZV9z<br>
dGFydDogJXNcbiIsDQorICAgICAgICAgICAgIHByb2dfbmFtZSwgc2FuZV9z<br>
dHJzdGF0dXMgKHN0YXR1cykpOw0KKyAgICBnb3RvIGNsZWFudXA7DQorICB9<br>
DQorDQorICBzdGF0dXMgPSBzYW5lX2dldF9wYXJhbWV0ZXJzIChkZXZpY2Us<br>
ICZwYXJtKTsNCisgIGlmIChzdGF0dXMgIT0gU0FORV9TVEFUVVNfR09PRCkg<br>
ew0KKyAgICBmcHJpbnRmIChzdGRlcnIsICIlczogc2FuZV9nZXRfcGFyYW1l<br>
dGVyczogJXNcbiIsDQorICAgICAgICAgICAgIHByb2dfbmFtZSwgc2FuZV9z<br>
dHJzdGF0dXMgKHN0YXR1cykpOw0KKyAgICBnb3RvIGNsZWFudXA7DQorICB9<br>
DQorDQorICBpZiAocGFybS5saW5lcyA+PSAwKSB7DQorICAgIGZwcmludGYg<br>
KHN0ZGVyciwgIiVzOiBzY2FubmluZyBpbWFnZSBvZiBzaXplICVkeCVkIHBp<br>
eGVscyBhdCAiDQorICAgICAgICAgICAgICIlZCBiaXRzL3BpeGVsXG4iLA0K<br>
KyAgICAgICAgICAgICBwcm9nX25hbWUsIHBhcm0ucGl4ZWxzX3Blcl9saW5l<br>
LCBwYXJtLmxpbmVzLA0KKyAgICAgICAgICAgICA4ICogcGFybS5ieXRlc19w<br>
ZXJfbGluZSAvIHBhcm0ucGl4ZWxzX3Blcl9saW5lKTsNCisgIH0gZWxzZSB7<br>
DQorICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiBzY2FubmluZyBpbWFnZSAl<br>
ZCBwaXhlbHMgd2lkZSBhbmQgIg0KKyAgICAgICAgICAgICAidmFyaWFibGUg<br>
aGVpZ2h0IGF0ICVkIGJpdHMvcGl4ZWxcbiIsDQorICAgICAgICAgICAgIHBy<br>
b2dfbmFtZSwgcGFybS5waXhlbHNfcGVyX2xpbmUsDQorICAgICAgICAgICAg<br>
IDggKiBwYXJtLmJ5dGVzX3Blcl9saW5lIC8gcGFybS5waXhlbHNfcGVyX2xp<br>
bmUpOw0KKyAgfQ0KKyAgZnByaW50ZiAoc3RkZXJyLCAiJXM6IGFjcXVpcmlu<br>
ZyAlcyBmcmFtZSwgJWQgYml0cy9zYW1wbGVcbiIsDQorICAgICAgICAgICBw<br>
cm9nX25hbWUsIGZvcm1hdF9uYW1lW3Bhcm0uZm9ybWF0XSwgcGFybS5kZXB0<br>
aCk7DQorDQorICBpbWFnZS5kYXRhPSBtYWxsb2MocGFybS5ieXRlc19wZXJf<br>
bGluZSAqIDIpOw0KKw0KKyAgY2xlYW5fYnVmZmVyKGltYWdlLmRhdGEsIHBh<br>
cm0uYnl0ZXNfcGVyX2xpbmUgKiAyKTsNCisgIGZwcmludGYgKHN0ZGVyciwg<br>
IiVzOiByZWFkaW5nIG9uZSBzY2FubGluZSwgJWQgYnl0ZXMuLi5cdCIsIHBy<br>
b2dfbmFtZSwNCisgICAgICAgICAgIHBhcm0uYnl0ZXNfcGVyX2xpbmUpOw0K<br>
KyAgc3RhdHVzPSBzYW5lX3JlYWQoZGV2aWNlLCBpbWFnZS5kYXRhLCBwYXJt<br>
LmJ5dGVzX3Blcl9saW5lLCAmbGVuKTsNCisgIHBhc3NfZmFpbChwYXJtLmJ5<br>
dGVzX3Blcl9saW5lLCBsZW4sIGltYWdlLmRhdGEsIHN0YXR1cyk7DQorICBp<br>
ZiAoc3RhdHVzICE9IFNBTkVfU1RBVFVTX0dPT0QpIGdvdG8gY2xlYW51cDsN<br>
CisNCisgIGNsZWFuX2J1ZmZlcihpbWFnZS5kYXRhLCBwYXJtLmJ5dGVzX3Bl<br>
cl9saW5lICogMik7DQorICBmcHJpbnRmIChzdGRlcnIsICIlczogcmVhZGlu<br>
ZyBvbmUgYnl0ZS4uLlx0XHQiLCBwcm9nX25hbWUpOw0KKyAgc3RhdHVzPSBz<br>
YW5lX3JlYWQoZGV2aWNlLCBpbWFnZS5kYXRhLCAxLCAmbGVuKTsNCisgIHBh<br>
c3NfZmFpbCgxLCBsZW4sIGltYWdlLmRhdGEsIHN0YXR1cyk7DQorICBpZiAo<br>
c3RhdHVzICE9IFNBTkVfU1RBVFVTX0dPT0QpIGdvdG8gY2xlYW51cDsNCisN<br>
CisgIGZvciAoaT0yOyBpIDwgcGFybS5ieXRlc19wZXJfbGluZSAqIDI7IGkq<br>
PTIpIHsNCisgICAgY2xlYW5fYnVmZmVyKGltYWdlLmRhdGEsIHBhcm0uYnl0<br>
ZXNfcGVyX2xpbmUgKiAyKTsNCisgICAgZnByaW50ZiAoc3RkZXJyLCAiJXM6<br>
IHN0ZXBwZWQgcmVhZCwgJWQgYnl0ZXMuLi4gXHQiLCBwcm9nX25hbWUsDQor<br>
ICAgICAgICAgICAgIGkpOw0KKyAgICBzdGF0dXM9IHNhbmVfcmVhZChkZXZp<br>
Y2UsIGltYWdlLmRhdGEsIGksICZsZW4pOw0KKyAgICBwYXNzX2ZhaWwoaSwg<br>
bGVuLCBpbWFnZS5kYXRhLCBzdGF0dXMpOw0KKyAgICBpZiAoc3RhdHVzICE9<br>
IFNBTkVfU1RBVFVTX0dPT0QpIGdvdG8gY2xlYW51cDsNCisgIH0NCisNCisg<br>
IGZvciAoaS89MjsgaSA+IDI7IGkvPTIpIHsNCisgICAgY2xlYW5fYnVmZmVy<br>
KGltYWdlLmRhdGEsIHBhcm0uYnl0ZXNfcGVyX2xpbmUgKiAyKTsNCisgICAg<br>
ZnByaW50ZiAoc3RkZXJyLCAiJXM6IHN0ZXBwZWQgcmVhZCwgJWQgYnl0ZXMu<br>
Li4gXHQiLCBwcm9nX25hbWUsDQorICAgICAgICAgICAgIGkgLSAxKTsNCisg<br>
ICAgc3RhdHVzPSBzYW5lX3JlYWQoZGV2aWNlLCBpbWFnZS5kYXRhLCBpIC0g<br>
MSwgJmxlbik7DQorICAgIHBhc3NfZmFpbChpIC0gMSwgbGVuLCBpbWFnZS5k<br>
YXRhLCBzdGF0dXMpOw0KKyAgICBpZiAoc3RhdHVzICE9IFNBTkVfU1RBVFVT<br>
X0dPT0QpIGdvdG8gY2xlYW51cDsNCisgIH0NCisgDQorY2xlYW51cDoNCisg<br>
IHNhbmVfY2FuY2VsIChkZXZpY2UpOw0KKyAgaWYgKGltYWdlLmRhdGEpDQor<br>
ICAgIGZyZWUgKGltYWdlLmRhdGEpOw0KK30NCisNCiBpbnQNCiBtYWluIChp<br>
bnQgYXJnYywgY2hhciAqKmFyZ3YpDQogew0KQEAgLTk3NSw2ICsxMDc2LDcg<br>
QEANCiAJY2FzZSAnZCc6IGRldm5hbWUgPSBvcHRhcmc7IGJyZWFrOw0KIAlj<br>
YXNlICdoJzogaGVscCA9IDE7IGJyZWFrOw0KIAljYXNlICd2JzogKyt2ZXJi<br>
b3NlOyBicmVhazsNCisJY2FzZSAnVCc6IHRlc3Q9IDE7IGJyZWFrOw0KIAlj<br>
YXNlICdMJzoNCiAJICB7DQogCSAgICBpbnQgaTsNCkBAIC0xMDE0LDYgKzEx<br>
MTYsNyBAQA0KIC1kLCAtLWRldmljZS1uYW1lPURFVklDRSAgIHVzZSBhIGdp<br>
dmVuIHNjYW5uZXIgZGV2aWNlXG5cDQogLWgsIC0taGVscCAgICAgICAgICAg<br>
ICAgICAgZGlzcGxheSB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhpdFxuXA0K<br>
IC1MLCAtLWxpc3QtZGV2aWNlcyAgICAgICAgIHNob3cgYXZhaWxhYmxlIHNj<br>
YW5uZXIgZGV2aWNlc1xuXA0KKy1ULCAtLXRlc3QgICAgICAgICAgICAgICAg<br>
IHRlc3QgYmFja2VuZCB0aG9yb3VnaGx5XG5cDQogLXYsIC0tdmVyYm9zZSAg<br>
ICAgICAgICAgICAgZ2l2ZSBldmVuIG1vcmUgc3RhdHVzIG1lc3NhZ2VzXG5c<br>
DQogLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBp<br>
bmZvcm1hdGlvblxuIiwNCiAJICAgIHByb2dfbmFtZSk7DQpAQCAtMTEyMSw3<br>
ICsxMjI0LDcgQEANCiAJICAgIGNhc2UgJz8nOg0KIAkgICAgICBleGl0ICgx<br>
KTsJLyogZXJyb3IgbWVzc2FnZSBpcyBwcmludGVkIGJ5IGdldG9wdF9sb25n<br>
KCkgKi8NCiANCi0JICAgIGNhc2UgJ2QnOiBjYXNlICdoJzogY2FzZSAndic6<br>
IGNhc2UgJ1YnOg0KKwkgICAgY2FzZSAnZCc6IGNhc2UgJ2gnOiBjYXNlICd2<br>
JzogY2FzZSAnVic6IGNhc2UgJ1QnOg0KIAkgICAgICAvKiBwcmV2aW91c2x5<br>
IGhhbmRsZWQgb3B0aW9ucyAqLw0KIAkgICAgICBicmVhazsNCiANCkBAIC0x<br>
MjMxLDcgKzEzMzQsMTAgQEANCiAgIHNpZ25hbCAoU0lHUElQRSwgc2lnaGFu<br>
ZGxlcik7DQogICBzaWduYWwgKFNJR1RFUk0sIHNpZ2hhbmRsZXIpOw0KIA0K<br>
LSAgc2Nhbl9pdCAoKTsNCisgIGlmICh0ZXN0ID09IDApIA0KKyAgICBzY2Fu<br>
X2l0ICgpOw0KKyAgZWxzZQ0KKyAgICB0ZXN0X2l0ICgpOw0KIA0KICAgc2Fu<br>
ZV9jbG9zZSAoZGV2aWNlKTsNCiANCg==<br>
--1318610500-15712637-920238150=:9019--<br>
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0238.html">Nathan Hand: "multiple cams"</a>
<li> <b>Previous message:</b> <a href="0236.html">David Mosberger-Tang: "pre-test available"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>