C H A P T E R  1

SunVTS Overview

This chapter contains the following topics:

The Sun Validation and Test Suite (SunVTS) software performs multiple diagnostic hardware tests from a single user interface. SunVTS verifies the connectivity, functionality, and reliability of controllers and devices.

Use SunVTS to test one device or multiple devices. Some of the major test categories are as follows:

SunVTS comprises of many individual tests that support testing of a wide range of products and peripherals. Most of the tests can test devices in a 32-bit or 64-bit Solaris operating system (OS).

Such flexibility requires that the proper test modes and options need to be selected to maximize its effectiveness. This document covers the individual test options, modes, and requirements. For overall test configuration modes and options refer to the SunVTS User's Guide.

Note - When an error occurs in SunVTS testing, the test message window displays the error number, the error description, the probable cause of the error, and the recommended actions. Because this information is displayed at the time of the error, error messages are not included in this document.

The default installation directory for SunVTS is /opt/SUNWvts. However, when you are installing SunVTS, you can specify a different directory. Refer to the SunVTS User's Guide for installation information.

Note - SunVTS does not support processor sets. If processor sets are defined, you must first delete the processor sets before running SunVTS.

SunVTS Version Information

The standard command line argument, -V, displays the SunVTS version and release date of the test, if available.

SunPCi-3 Card Support

sunpci2test now supports the SunPCitrademark III cards. Solaris 10 OS supports SunPCi-III Version 3.2.2 with Patch 118591-03 only. Solaris 10 does not support the SunPCi-2 card.

Test Requirements

SunVTS 6.2 was first introduced and designed to run in the Solaris 10 1/06 (Solaris 10 Update 1) OS and subsequent compatible releases. SunVTS 6.2 is not supported on OS releases prior to Solaris 10 3/05 (Solaris 10).

The operating system kernel must be configured to support all peripherals that are to be tested.

Some SunVTS tests have special requirements such as the connection of loopback connectors, installation of test media, or the availability of disk space. These requirements are listed for each test in the corresponding chapter in this document.

Collection of SunVTS Tests

Many individual tests make up the SunVTS collection of tests. Each test is a separate process from the SunVTS kernel. Each test can be run individually from the command line or from the SunVTS user interface.

When SunVTS is started, the SunVTS kernel automatically probes the system kernel to determine the hardware devices. The devices are then displayed on the SunVTS control panel with the appropriate tests and test options. This provides a quick check of your hardware configuration, and no time is wasted trying to run tests that are not applicable to your configuration.

During testing, the hardware tests send the test status and messages to the SunVTS kernel through interprocess communication (IPC) protocols. The kernel passes the status to the user interface and logs the messages.

SunVTS has a shared object library that contains test-specific probing routines. At runtime, the SunVTS kernel dynamically links in and calls these probing routines to initialize its data structure with test-specific information. You can add new tests into the SunVTS environment without recompiling the SunVTS source code.

Beginning with SunVTS 3.0, the SunVTS kernel and most tests support 32-bit and 64-bit operating systems. When the sunvts command is used to start SunVTS, the appropriate tests (32-bit or 64-bit versions) are presented.

32- and 64-Bit Tests

In Solaris 10 or later OSs, only 64-bit compatible tests are supported. Because each test is a separate program, you can run individual tests directly from the command line. Run tests from specific directories as follows:

If you are not sure which OS is running, refer to the Solaris System Administration manuals. In Solaris 10 OS, you can use the following command to identify the application support of your system.

# isainfo -v

Note - The isainfo command is not available in Solaris 2.6 or earlier releases.

SunVTS User Interfaces

You can run SunVTS tests from the JDS graphical user interface or the TTY interface. SunVTS tests can also be run individually from a shell tool command line, using the command-line syntax for each test (refer to Running a Test From the Command Line). TABLE 1-1 describes the various SunVTS user interfaces. Refer to the SunVTS User's Guide for more information on these interfaces.

TABLE 1-1 SunVTS System Interfaces

SunVTS System Interfaces


Graphical user interface (GUI)

Select tests and test options with a mouse in the Solaris Java Desktop System (JDS) interface.

TTY interface

Run SunVTS from a terminal or modem attached to a serial port. You use the keyboard instead of the mouse. The interface displays one screen of information at a time.

Command-line execution

Run each of the SunVTS tests individually from a shell tool using the command-line syntax. Each test description in this document contains the corresponding command-line syntax.

Running a Test From a User Interface

The common way to run SunVTS testing is through a SunVTS user interface--JDS or the TTY interface.

Test configuration, control, and results are easily accessed through buttons and dialog boxes. These buttons and dialog boxes are covered in the SunVTS User's Guide. However, the Test Parameter Options dialog box is unique for each test, and is therefore covered in this manual.

Test Parameter Options Dialog Box

The options displayed in this menu differ for each test, but the Apply menu, and the Reset and Cancel buttons are generic. TABLE 1-2 describes all the items.

FIGURE 1-1 Test Parameter Options Dialog Box

Screenshot of a generic Test Parameter Options dialog box

TABLE 1-2 Test Parameter Options Dialog Box Items

Menu Item



Information such as device type, capacity, revision, and serial numbers for the selected device. This information cannot be changed.


A list of test options that are used to customize the testing of the selectable device, group, or all devices. The options are specific for each test and are covered in the test specific-chapters in this manual.

Within Instance

Provides the means to apply the settings:

  • To this device only with Apply
  • To all devices within this group with Apply to Group
  • To all devices (of the same device typefor all controllers) with Apply to All

The option settings are only applied to one instance of the test.

Across All Instances

Provides the means to apply the settings globally:

  • To this device only with Apply
  • To all devices within this group with Apply to Group
  • To all devices (of the same device typefor all controllers) with Apply to All

The option settings are applied to all instances.


Returns the option values to their default settings and closes the Test Parameter Option dialog box.


Ignores any changes made to option values and closes the Test Parameter Option dialog box.

Note - The Test Parameter Options dialog box descriptions also apply to the Test Parameter Options menu in the TTY interface.

Running a Test From the Command Line

In some cases it may be more convenient to run a single SunVTS test from the command line rather than through a SunVTS user interface. The following information describes how to do this.

Unless specified, the test runs without the SunVTS kernel (vtsk). All events and errors are sent to stdout or stderr and are not logged in the log files.

When you run a test in this way, you must specify all test options in the form of command-line arguments. There are two types of command-line arguments:

The standard syntax for all SunVTS tests is:

testname [-scruvdtelnf] [-i number] [-w number][-o test-specific-arguments]

Note - 64-bit tests are located in the sparcv9 subdirectory: /opt/SUNWvts/bin/sparcv9/testname, or the relative path to which you installed SunVTS. If a test is not present in this directory, then it might be available as a 32-bit test only. For more information, see 32- and 64-Bit Tests.

Standard Command-Line Arguments

The following table defines the standard SunVTS command-line arguments:

TABLE 1-3 Standard Command-Line Arguments




Runs a test as though it were invoked from the SunVTS kernel (vtsk). The default is to send the output to stdout or stderr.


Enables a core image of the test process to be created in the current working directory upon receipt of certain signals, otherwise those signals are caught and handled to prevent a core from being generated. The default is to disable the creation of a core image.


Enables run on error so that when an error occurs, the test continues with the next test sequence instead of exiting. The default is false.


Runs the test in Verbose mode and displays messages with more detailed information about the testing process. The default is false.


Displays the SunVTS version and release date of the test.


Runs the test in Debug mode and displays messages to help programmers debug their test code. The default is false.


Runs the test in Trace mode and displays messages that track function calls and sequences currently in use by the test code. The default is false.


Runs the test in Online Functional mode. This is the same mode that tests run in when executed with the vtsui.online command. It is a non-intrusive version that will not significantly affect other applications. See the note below. The default is true.


Runs the test in Exclusive mode.


Runs the test in Connection mode. See the note below. The default is false.


Runs the test in full Functional mode. This mode assumes that the test has complete control of the device under test. See the note below. The default is false.

-p number

Defines the number of passes for scalable tests. The default is 1.

-i number

Defines the number of instances for scalable tests. The default is 1.

-w number

Defines to which instance the test is assigned; this option is for scalable tests. The default is 0.


Indicates that the options and arguments that follow are test specific.

Note - Separate each test-specific argument by commas, with no space after each comma.

Note - If you choose to specify a test mode with the l, n, or f option, specify only one option at a time because only one test mode can be selected at a time.

Test-Specific Arguments

SunVTS includes test-specific arguments that follow the format specified in the getsubopt(3c) man page. Separate each test-specific argument by commas, with no space after the comma. For example: #./sample -v -o dev=/dev/audio,volume=78. For information about test-specific arguments refer to the specific test chapter in this document.

Frame Buffer Tests

SunVTS includes a number of tests that exercise frame buffers:

If you are testing more than one frame buffer, follow these guidelines and instructions.

caution icon

Caution - Disable the Power Management screen saver option and the
Save/Resume option before you run any of the SunVTS frame buffer tests. For information on disabling these Power Management features, refer to the Power Management chapter in the Solaris Common Desktop Environment: Users's Guide in the Solaris 9 User Collection. This document is available at:

caution icon

Caution - If you are using the JDS interface for SunVTS, do not conduct frame buffer tests through the dtloginwindow. Log in as rootand disable the auto-logout option.

caution icon

Caution - Do not run TTY mode and frame buffer tests concurrently on the console monitor. The frame buffer test may fail.

Testing Multiple Frame Buffers

The following rules apply when you test multiple frame buffers (displays) simultaneously:

Remote Testing of Frame Buffers

If you start sunvts or vtsk from a screen other than the console monitor, frame buffer locking is not available. In this case:

Do not run any graphic programs (including vtsui) on the remote frame buffer during graphic testing.

Locking Frame Buffers

If you are testing multiple frame buffers or remote frame buffers, you might need to enable or disable frame buffer locking.

procedure icon  To Enable Frame Buffer Locking

single-step bulletTake one of the following actions:

For example:

# ./fbtest -o dev=cgthree0, lock=enable

procedure icon  To Disable Frame Buffer Locking

single-step bulletTake one of the following actions: