-
Notifications
You must be signed in to change notification settings - Fork 16
TESTING: Printer Support Levels
Captdriver keeps track of the level of support in its code with a series
of support levels, in printer.h
. These levels appear to be intended to
aid users and developers in troubleshooting problems. They also serve to
lock out printers whose support has been deemed inadequate for end users.
The levels specified are UNSUPPORTED
, BROKEN
, EXPERIMENTAL
,
WORKS
and FULLY
. As their meanings are yet to be explicitly
defined at time of writing, an attempt will be made here.
The proposed criteria for support levels as of Captdriver 0.1.4 are as follows:
-
UNSUPPORTED
: Driver recognises printer, but meaningful output is either impossible or only possible with effortful manipulation of the printer.This is the only level which Captdriver prevents printing via CUPS.
-
BROKEN
: Special level to report a significant loss of functionality for a printer that has occurred since a previous commit. It should only be used for comparing levels of support during the course of development.Once lost functionality is restored and verified, the printer should be re-assigned to an appropriate support level. This level should not be used for tagged releases.
-
EXPERIMENTAL
: Meaningful output is possible from conventional applications, but not to the level of performance and reliability that is deemed suitable for end-user daily use. This level is generally meant to be assigned to printers that pass a small majority of the Essential Tests. -
WORKING
: Accurate output, with a level of performance and reliability suitable for end-user daily use is possible, despite some missing features. This level should only be assigned to printers that pass all of the Essential Tests.Printers that fail any Essential Test may be assigned to this level by user ballot.
-
FULLY
: Short for fully working. Captdriver can be a substitute for the original drivers for the printer. All advertised features of the printer are supported, to a level of performance and reliability that matches or exceeds the original drivers.This level should only be assigned to printers that pass all components of the Essential and Device-Specific Extended Tests, or by user ballot.
To simplify sharing of test results between developers and with other projects, the support levels are tied to OpenPrinting functionality categories. The proposed mapping of Captdriver support levels to OpenPrinting categories is as follows:
Level | OpenPrinting Category |
---|---|
UNSUPPORTED |
Paperweight |
EXPERIMENTAL |
Partially |
BROKEN |
no equivalent category |
WORKING |
Mostly |
FULLY |
Mostly or Perfectly, depending on user consensus |
If the original driver for a particular printer is affected by issues preventing
reliable operation, it may be necessary to exceed the capabilities of the original
driver to qualify for the WORKING
and FULLY
levels.
Testing criteria for the FULLY
level may be relaxed if a printer suffers a firmware
bug that prevents an advertised feature from working properly and updates are no longer
available. The issue must then be clearly documented and end users adequately informed.
find_ops()
. printer.c
. Captdriver source tree.
About the data. Printer Compatibility Database. OpenPrinting. https://openprinting.org/database
Content in this wiki is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Any errors, omissions or suggestions? File an issue and apply the wiki
label.
Bookmarks
Unofficial Introduction to CAPT (Executive Summary)
Rootless Write Access To USB Devices
Other Canon Printer-Related Projects
SPECS: 0xA1A1
Command and Response Format
Search for pages starting with
-
SPECS
for notes on the operation of the CAPT data formats and communications protocol -
TESTING
for guidelines on testing Captdriver -
TIPS
for potentially helpful information on studying the project or the CAPT format-protocol