Chapter 9. Testing for Impressario Compatibility
Prev |  | Next

## Chapter 9. Testing for Impressario Compatibility

This chapter explains how to use the programs that test printing compatibility with the Impressario environment.

The following topics are discussed in this chapter:

- “Testing Impressario Printing Compatibility”

- “Testing an Impressario Printer”

- “Testing an Impressario Printer Software Installation”

## Testing Impressario Printing Compatibility

The Impressario Developer's Kit provides two programs for testing printing compatibility with the Impressario environment. The `testipr` program tests the output capabilities of an Impressario supported printer. The `testiconfig` program tests an Impressario printer software installation. Both of these programs are located in the directory `/usr/impressario/tests/print`.The use of these test harnesses is not sufficient testing to ensure the quality of your product. They are only helpful tools, not a substitute for additional testing.

### Testing an Impressario Printer

A printer supported by Impressario can print a wide range of file formats with a large selection of printing options for each file format. Testing each supported file format and printing option can be a laborious task if done manually, one test case at a time. `testipr` automates the testing process by printing a set of standard test files, according to a standard test plan.

`testipr` is in the directory `/usr/impressario/tests/print` and typically is run from there. The name of a printer installed on the system is the only required command-line parameter. It is recommended that the printer be physically connected to the system on which `testipr` is run. It is the responsibility of the user to ensure that the printer is not used by other users during testing.

On startup, `testipr` looks in the `/usr/impressario/tests/print` directory for test configuration files. These files are identified by a `.ipr` suffix and a basename corresponding to the test class name. There are three standard configuration files: `text.ipr`, `image.ipr`, and `postscript.ipr`. These files contain the text, image, and PostScript test classes, respectively. Each configuration file describes a set of tests to be run by `testipr`. These files should not be modified. If you wish to create your own test cases, copy the existing configuration files to a new location, modify them to suit your needs, and use the `-p` command-line option to tell `testipr` where to find the files.

The format of the configuration file follows that of a X Window System resource file. For example:

    ! This is a comment in an example .ipr file

    test.basePath: /usr/impressario/data

    test.1.file: testfile.sgi
    test.1.options: -rotate 90 -gamma 3.5
    test.1.desc: “SGI Image File - rotated 90, gamma 3.5”

    test.2.file: testfile.sgi
    test.2.options: -rotate 90 -gamma 3.5
    test.2.desc: “SGI Image File - rotated 90, gamma 3.5”

Each resource must start with the keyword test. basePath is an optional resource that specifies a directory path. If it is specified, the path will be prepended to each file resource. The file resource specifies a test file to print. Typically, these test files are from `/usr/impressario/test/data`. The options resource specifies the actual `-o` model file options to be used in the test. Note that the `-o` should not be specified. The `testipr` program automatically prepends the nobanner option to all option strings. The option string is passed as the argument to the `lp` command's `-o` option. The desc resource provides a description of the test. This string is written to the test log file. Each test case must be numbered consecutively, starting with 1.

The file specified in each test is submitted for printing using the specified printing options. A log file, called `/var/tmp/testipr.<printerName>.log`, is created. This log file contains general information about the printer being tested and its host environment. The log also contains a detailed list of all tests performed and their corresponding spooling system print job IDs. A complete test record consists of the printer output, the corresponding log file, and the `/var/spool/lp/log` file. See the `testipr(1)` reference page for command-line options and the most up-to-date information on this test program.

Example 1:

Run all tests on the printer hp4.

    testipr hp4

Example 2:

Run only image tests on the printer hp4.

    testipr -c image hp4

Example 3:

Run only image tests numbers 5 and 6 on the printer hp4.

    testipr -c image -t 5,6 hp4

### Testing an Impressario Printer Software Installation

An Impressario supported printer has greatly enhanced printing capabilities over other types. To provide these enhanced capabilities, software complying with Impressario specifications must be installed in standard locations. The `testiconfig` program checks that the software support for a printer conforms to Impressario specifications. Typical users of this program are third-party printer developers who wish to verify that their printer support is compatible with the Impressario printing environment.

`testiconfig` performs a number of checks to ensure conformance to Impressario printer support specifications. The program performs checks on the printer model file, POD files, graphical options panel and printer driver. All output is sent to the standard output. If the `-v` option is specified, additional information is displayed during the test. The `testiconfig` program requires the name of the printer model file. The printer support software must be installed on the system on which the `testiconfig` is run. Note that a printer need not be physically installed on the system or installed by the spooling system to run this test program.

For example:

Test the installation for an HP LaserJet 4:

    testiconfig -v laserjetPJL_model

See the `testiconfig(1)` reference page for command-line options and the most up-to-date information on this program.

Prev | Table of Contents | Next
Chapter 8. Generic Scanner Interface |  | Chapter 10. Packaging Your Impressario Product