KCMS Test Suite User's Guide

Chapter 3 KCMS Test Suite Commands

In This Chapter

This chapter alphabetically presents each of the kcmstest test script commands. For each command, the chapter provides a summary description, the command syntax, and a detailed description of each keyword. Generally, all of the command keywords must be used for a command to execute successfully. The text indicates when certain keywords do not need to be used.

Table 3-1 lists each of the test script commands and the KCMS "C" API function call to which it corresponds.

Table 3-1 Test Script Commands and "C" API Functions

Test Script Command 

KCMS "C" API Function 

CONNECT:

KcsConnectProfile()()

CREATE:

KcsCreateProfile()()

EVAL:

KcsEvaluate()()

FREE:

KcsFreeProfile()()

GETATTR:

KcsGetAttribute()()

LOAD:

KcsLoadProfile()()

LOG:

No specific function. It writes to a log file.  

MODIFYLH:

KcsModifyLoadHints()()

OPTIMIZE:

KcsOptimizeProfile()()

SAVE:

KcsSaveProfile()()

SETATTR:

KcsSetAttribute()()

UPDATE:

KcsUpdateProfile()()

CONNECT:

CONNECT: Command Description

CONNECT: functionality corresponds to the KcsConnectProfile()() call. When this command is command is interpreted, the KcsConnectProfile()() function is executed and the status is reported back from the kcmstest command display to the test log.

CONNECT: Command Syntax Example

CONNECT:NAME=reverse; Count=2; Reference=monitor; Reference=scanner; Operation=Forward;

CONNECT: Keywords and Values

Table 3-2 presents the CONNECT: command keywords and their descriptions.

Table 3-2 CONNECT: Command Keywords

Keyword 

Description 

Name=

Is the reference name that will be assigned to the new profile if the CONNECT:command completes successfully.

Reference=

Is the name that was assigned when the profiles were loaded or created. 

Count=

Is the number of profiles that will be used in the connection. Currently two profiles are used to connect forward and reverse profiles. Three profiles are used to connect simulate profiles. 

Operation=

Defines the operation load hint that will be used to connect the new profile. This keyword has the operation and content hint values shown in Table 3-3 . It indicates what transforms in the profiles will be loaded and connected in the final (complete) profile. An Operation= keyword can appear more than once in a single script command. Multiple operations are logically OR'd together.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non- success status, the XStatus= is followed by the corresponding expected, non-success status in hexadecimal format.

Table 3-3 shows the acceptable values for the Operation= keyword.

Table 3-3 CONNECT: Command Operation= Keyword Values

Value 

Load Hint Set 

Forward;

KcsOpForward

Reverse;

KcsOpReverse

Simulate;

KcsOpSimulate

Gamut;

KcsOpGamutTest

OpsAll;

KcsOpAll

ContUnkn;

KcsContUnknown

Graphics;

KcsContGraphics

Image;

KcsContImage

ColorMtrc;

KcsContColorimetric

ContAll;

KcsContAll

CREATE:

CREATE: Command Description

CREATE: functionality corresponds to the KcsCreateProfile()() call. When this command is interpreted, the KcsCreateProfile()() function is executed and the status is reported back from the kcmstest command display to the test log. The CREATE: command creates a generic profile with the default CMM Id.

CREATE: Command Syntax Example

CREATE:Reference=umax;

CREATE: Keywords and Values

Table 3-4 presents the CREATE: command keywords and their descriptions.

Table 3-4 CREATE: Command Keywords

Keyword 

Description 

Reference=

Is the name that this profile will be referred to in subsequent script commands. In the context of the test script, it is the profile name. 

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus keyword is not required. In cases where a script command is expected to return a non-success status, the keyword is followed by the corresponding expected, non-success status in hexadecimal format.

EVAL:

EVAL: Command Description

EVAL: functionality corresponds to the KcsEvaluate()() call. When this command is interpreted, the KcsEvaluate()() function is executed and the status is reported back from the kcmstest command display to the test log.

EVAL: Command Syntax Example

EVAL:Reference=forward; SourcePixLayout=RGBInterLeaved; DestPixLayout=RGBInterLeaved; Callbacks=; ImageIn=test; ImageOut=None; Operation=Forward;

EVAL: Keywords and Values

Table 3-5 presents the EVAL: command keywords and their descriptions.

Table 3-5 EVAL: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were connected. 

SourcePixLayout=

Sets the pixel layout structure and, if necessary, restructures the input data. This keyword has one of the following values:

RGBInterLeaved (also called component- or pixel-interleaved)

RGBPlanar

RGBRowInterleaved (also called planar- or band-interleaved)

(For details on these values, see the description of the KcsPixelLayout structure in the SDK manual KCMS Application Developer's Guide)

DestPixLayout=

Sets the pixel layout structure. This keyword has one of the following values: 

RGBInterLeaved

RGBPlanar

RGBRowInterleaved

ImageIn=

Is the image file name that will be processed in the EVAL: command. The image file must be located in the kcmstest/images directory. Only images stored in the TIFF file format can be processed by kcmstest at this time.

ImageOut=

Is the image file name that will be output from the EVAL: command. The image file will be located in the kcmstest/images directory. Only TIFF image file format can be output by kcmstest at this time. In the event that no image output is required, specify None for the image name. Note that TIFF files can use up your disk space very quickly. Be sure to remove them after inspection. Specify NULL if you do not want to save the output image.

Operation=

Defines the operation load hint that will be used to evaluate the data. This keyword has the operation and content hint values listed inTable 3-6 . In the table, the keyword value is followed by the corresponding value set in the Operations parameter passed to the KcsEvaluate() function. Only one direction and one content operation hint can appear in a single EVAL: script command, and the complete profile that is evaluated must include the matching operation hint (transform). If, for example, you connect profiles requesting the Reverse operation, and you evaluate the resulting profile requesting the Forward operation, you will get an error.

Callbacks=

Causes kcmstest to perform a KcsSetCallback()() call. Callbacks are registered in the log file.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non-success status, the keyword is followed by the corresponding expected, non-success status in hexadecimal format.

Table 3-6 presents the acceptable values for the EVAL: command Operation= keyword.

Table 3-6 EVAL: Command Operation= Keyword Values

Value 

Value Set 

Forward;

KcsOpForward

Reverse;

KcsOpReverse

Simulate;

KcsOpSimilate

Gamut;

KcsOpGamutTest 

ContUnkn;

KcsContUnknown

Graphics;

KcsContGraphics

Image;

KcsContImage

ColorMtrc;

KcsContColorimetric


Note -

The EVAL: command also produces pixel evaluation speeds, in terms of 24-bit pixels per second, for the log file.


FREE:

FREE: Command Description

FREE: functionality corresponds to the KcsFreeProfile()() call. When this command is interpreted, the KcsFreeProfile()() function is executed and the status is reported back from the kcmstest command display to the test log.

FREE: Command Syntax Example

FREE:Reference=scanner;

FREE: Keywords and Values

Table 3-7 presents the FREE: command keywords and their descriptions.

Table 3-7 FREE: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned to the profile either when it was loaded or created using the CONNECT: or CREATE: command. If the file was loaded with the LOAD: or CREATE: command, the file is closed.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non-success status, the keyword is followed by the corresponding expected, non-success status in hexadecimal format.

GETATTR:

GETATTR: Command Description

GETATTR: functionality corresponds to the KcsGetAttribute()() call. When this command is interpreted, the KcsGetAttribute()() function is executed and the status is reported back from the kcmstest command display to the test log.

GETATTR: Command Syntax Example

GETATTR:Reference=testscanner; Attribute Tag=icSigMediaWhitePointTag;

GETATTR: Keywords and Values


Note -

If all the attributes for a given profile are required, set the keyword Attribute Tag to the value All. This will cause kcmstest to retrieve and display all the attributes and values.


Table 3-8 presents the GETATTR: command keywords and their descriptions.

Table 3-8 GETTATTR: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were loaded, created, or connected. 

Attribute Tag=

Is the name of the attribute that is to be manipulated by this command. For a list of all the attribute names, see Chapter 5, "KCMS Profile Attributes," in the KCMS Application Developer's Guide. The section entitled "List of All Attributes" lists all the attribute names you can use as values for this keyword.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non-success status, the keyword is followed by the corresponding expected, non-success status in hexadecimal format.

LOAD:

LOAD: Command Description

LOAD: functionality corresponds to the KcsLoadProfile()() call. When this command is interpreted, the KcsLoadProfile()() function is executed and the status is reported back from the kcmstest command display to the test log.

LOAD: Command Syntax Example

LOAD:Reference=scanner; Profile=clc500fs.inp; Handling=File; LoadHint=AllNow;

LOAD: Keywords and Values

Table 3-9 presents the LOAD: command keywords and their descriptions.

Table 3-9 LOAD: Command Keywords

Keyword 

Description 

Reference=

Is the name that this profile will be referred to in subsequent script commands. In the context of the test script, it is the profile name. 

Profile=

Is the file name of the profile. All profiles must be located in the kcmstest/profiles directory. This keyword may name a pre-made profile or a profile that is created as part of the test script.

Handling=

Describes how the profile will be handled. This keyword has the values listed in Table 3-10 .

LoadHint=

Defines the load hint that will be used to load the profile. This keyword has the values listed in Table 3-11 . In the table, the keyword value is followed by the corresponding value set in the loadHints parameter passed to the KcsLoadProfile()() function. A LoadHint= keyword can appear more than once in a single script command. Multiple load hints are logically OR'd together.

Operation=

Defines the operation load hint that will be used to load the profile. This keyword has the operation and content hint values listed in Table 3-12 . In the table, the keyword is followed by the corresponding value set in the loadHints parameter passed to the KcsLoadProfile()() function. An Operation= keyword can appear more than once in a single script command. Multiple operations are logically OR'd together.

KcsDisplay=

Is the X Window System display (display:screen) number in the form of 0.0, 0.1, and so forth. Use this keyword for multiheaded systems.

KcsHost=

Is the host name of the workstation from which a profile is to be read. You must have the kcms_server(1) daemon running to access another host through the network.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non-success status, the keyword is followed by the corresponding expected, non-success status in hexadecimal format.

Table Table 3-10 presents the LOAD: command Handling= keyword values.

Table 3-10 LOAD: Command Handling= Keyword Values

Value 

Description 

File

Sets Desc.type = KcsFileProfile

KcsSolarisFile

Sets Desc.type = KcsSolarisProfile

KcsWindow

Sets Desc.type = KcsWindowProfile

Memory

Sets Desc.type = KcsMemoryProfile

Table 3-11 presents the LOAD: command LoadHint= keyword values.

Table 3-11 LOAD: Command LoadHint= Keyword Values

Value 

Load Hint Set 

AllNow

KcsLoadAllNow

AllWhen

KcsLoadAllWhenNeeded

LoadAttr

KcsLoadAttributeNow

MinMem

KcsLoadMinimalMemory

PurgeMem

KcsPurgeMemoryNow

LoadWhenNever

KcsLoadNever

LoadWhenNow

KcsLoadNow

LoadWhenNeeded

KcsLoadWhenNeeded

LoadWhenIdle

KcsLoadWhenIdle

UnloadWhenNow

KcsUnloadNow

UnloadWhenFree

KcsUnloadWhenFreed

UnloadWhenNeeded

KcsUnloadWhenNeeded

UnloadAfter

KcsUnloadAfterUse

WhatAttr

KcsAttributes

WhatAll

KcsAll

WhatEffects

KcsEffect

Table 3-12 presents the LOAD: command Operation= keyword values.

Table 3-12 LOAD: Command Operation= Keyword Values

Value 

Load Hint Set 

OpsAll

KcsOpAll

ContUnkn

KcsContUnknown

Graphics

KcsContGraphics

Image

KcsContImage

ColorMtrc

KcsContColorimetric

ContAll

KcsContAll

LOG:

LOG: Command Description

LOG: writes a string to the log file to facilitate reading test results. This command does not correspond to a KCMS function call.

LOG: Command Syntax Example

LOG:Connect Test-Connect profiles varying the number of; LOG:profiles.;

LOG: Keywords and Values

None.

MODIFYLH:

MODIFYLH: Command Description

MODIFYLH: functionality corresponds to the KcsModifyLoadHints()() call. When this command is interpreted, the KcsModifyLoadHints()() function is executed and the status is reported back from the kcmstest command display to the test log. This command is commonly used when a profile has previously been loaded for attributes only. It allows the rest of the profile to be loaded.

MODIFYLH: Command Syntax Example

MODIFYLH:Reference=connected; LoadHint=LoadAllNow;

MODIFYLH: Keywords and Values

Table 3-13 presents the MODIFYLH: command keywords and their descriptions.

Table 3-13 MODIFYLH: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were loaded, created, or connected.  

LoadHint=

Defines the load hint that will be used to load the profile. This keyword has the values shown in Table 3-14 . In the table, the keyword value is followed by the corresponding value set in the loadHints parameter passed to the KcsLoadProfile()() function. A LoadHint= keyword can appear more than once in a single script file. Multiple load hints are logically OR'd together.

Operation=

Defines the operation load hint that will be used to connect the new profile. This keyword has the operation and content hint values shown in Table 3-15 . In the table, the keyword value is followed by the corresponding value set in the loadHints parameter passed to the KcsLoadProfile()() function. An Operation= keyword can appear more than once in a single script command. Multiple load hints are logically OR'd together.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non-success status, the keyword is followed by the corresponding expected, non-success status in hexadecimal format.

Table 3-14 presents the MODIFYLH: command LoadHint= keyword values.

Table 3-14 MODIFYLH: Command LoadHint= Keyword Values

Value 

Load Hint Set 

AllNow

KcsLoadAllNow

AllWhen

KcsLoadAllWhenNeeded

LoadAttr

KcsLoadAttributeNow

MinMem

KcsLoadMinimalMemory

PurgeMem

KcsPurgeMemoryNow

LoadWhenNever

KcsLoadNever

LoadWhenNow

KcsLoadNow

LoadWhenNeeded

KcsLoadWhenNeeded

LoadWhenIdle

KcsLoadWhenIdle

UnloadWhenNow

KcsUnloadNow

UnloadWhenFree

KcsUnloadWhenFreed

UnloadWhenNeeded

KcsUnloadWhenNeeded

UnloadAfter

KcsUnloadAfterUse

WhatAttr

KcsAttributes

WhatAll

KcsAll

WhatEffects

KcsEffect

Table 3-15 presents the MODIFYLH: command Operation= keyword values.

Table 3-15 MODIFYLH: Command Operation=Keyword Values

Value 

Load Hint Set 

OpsAll

KcsOpAll

ContUnkn

KcsContUnknown

Graphics

KcsContGraphics

Image

KcsContImage

ColorMtrc

KcsContColorimetric

ContAll

KcsContAll

OPTIMIZE:

OPTIMIZE: Command Description

OPTIMIZE: functionality corresponds to the KcsOptimizeProfile()() call. When this command is interpreted, the KcsOptimizeProfile()() function is executed and the status is reported back from the -kcmstest command display to the test log.

OPTIMIZE: Command Syntax Example

OPTIMIZE:Reference=simulate; Optimization=Speed;

OPTIMIZE: Keywords and Values

Table 3-16 presents the OPTIMIZE: command keywords and their descriptions.

Table 3-16 OPTIMIZE: Command Keyword Values

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were loaded, created, or connected. 

Optimization=

Sets the optimization type. This keyword has the values shown in Table 3-17 . In the table, the keyword value is followed by the corresponding value set in the optimizationType parameter passed to the KcsOptimizeProfile()() function. Multiple optimizations are logically OR'd together.

Callbacks=

Causes kcmstest to call the KcsSetCallback()() function. Callbacks are registered in the log file.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non- success status, the XStatus= is followed by the corresponding expected, non-success status in hexadecimal format.

Table 3-17 presents the OPTIMIZE: command Optimization= keyword values.

Table 3-17 OPTIMIZE: Command Optimization= Keyword Values

Value 

Optimization Type Set 

None

KcsOptNone

Accuracy

KcsOptAccuracy

Speed

KcsOptSpeed

Size

KcsOptSize

SAVE:

SAVE: Command Description

SAVE: functionality corresponds to the KcsSaveProfile()() call. When this command is interpreted, theKcsSaveProfile()() function is executed and the status is reported back from the kcmstest command display to the test log.

SAVE: Command Syntax Example

SAVE:Reference=connected; File Name=modlhtst.pro;

SAVE: Keywords and Values

Table 3-18 presents the SAVE: command keywords and their descriptions.

Table 3-18 SAVE: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were loaded or created, via the CONNECT: command.

File Name=

Is the name of the file to which the profile is saved.  

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non- success status, the XStatus= is followed by the corresponding expected, non-success status in hexadecimal format.

SETATTR:

SETATTR: Command Description

SETATTR: functionality corresponds to the KcsSetAttribute()() call. When this command is interpreted, the KcsSetAttribute()() function is executed and the status is reported back from the kcmstest command display to the test log.

See Chapter 5, Setting Attributes ," for a test script example showing how to set each supported attribute.

SETATTR: Command Syntax Example

SETATTR:Reference=scanner; Attribute Tag=icSigCopyrightTag; Attribute Value=SUN MICROSYSTEMS 1996;

SETATTR: Keywords and Values

Table 3-19 presents the SETATTR: command keywords and their descriptions.

Table 3-19 SETATTR: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were loaded, created, or connected. 

Attribute Tag=

Is the name of the attribute that is to be manipulated by this command. For a list of all the attribute names and examples of how to set values for them, see Chapter 5, Setting Attributes .

Attribute Value=

Is the value to be applied to the attribute identified in the Attribute Tag= keyword. If the attribute type is a string, insert the string after the command and follow it with a semi-colon. If the attribute type is an integer or a float value, enter the corresponding string value into the script and follow it with a semi-colon. If more than one value is required, separate the values with commas (,). Finally, if the attribute type is an enumerated type, see Chapter 5, "KCMS Profile Attributes," in the KCMS Application Developer's Guide for a description of the enumerated types. See Chapter 5, Setting Attributes ," in this guide, for examples of setting attributes.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non- success status, the XStatus= is followed by the corresponding expected, non-success status in hexadecimal format.

Count=

Is the count of data values (of type AttributeType=, where appropriate) found after the Attribute Value= keyword when creating a new attribute for an ICC profile.

UPDATE:

UPDATE: Command Description

UPDATE: functionality corresponds to the KcsUpdateProfile()() call. When this command is interpreted the KcsUpdateProfile()() function is executed, and the status is reported back from the kcmstest command display to the test log.

UPDATE: Command Syntax Example

UPDATE:Reference=umax; Profile Type=Scan; Operation=Both; CharInDataFile=umax_char.aim; CharOutDataFile=umax_char.mea; CalInDataFile=umax_cal.aim; CalOutDataFile=umax_cal.meas;

UPDATE: Keywords and Values

Table 3-20 presents the UPDATE: command keywords and their descriptions.

Table 3-20 UPDATE: Command Keywords

Keyword 

Description 

Reference=

Is the name that was assigned when the profiles were loaded or created, with the CONNECT: or CREATE: command.

Profile Type=

Is the type of profile that is being updated. The acceptable types are 

Print

Scan

Mon

Effect

Currently only scanner and monitor profiles can be updated. 

Operation=

Is the type of operation that is being attempted during the update. The acceptable operations are  

Characterization

Calibration

Both

CalInDataFile=

Is the data file name of the calibration input data. It is assumed that the file is in the kcmstest/data directory.

CalOutDataFile=

Is the data file name of the calibration output data. It is assumed that the file is in the kcmstest/data directory.

CharInDataFile=

Is the data file name of the characterization input data. It is assumed that the file is in the kcmstest/data directory. This value can be NULL.

CharOutDataFile=

Is the data file name of the characterization output data. It is assumed that the file is in the kcmstest/data directory. This value can be NULL.

XStatus=

The default expected status is KcsSuccess. If the script command is expected to complete successfully, the XStatus= keyword is not required. In cases where a script command is expected to return a non- success status, the XStatus= is followed by the corresponding expected, non-success status in hexadecimal format.