Jump to content

Input/Output Device Driver Reference/APM IOCtl Device Driver Test Tool

From EDM2
Revision as of 12:03, 11 July 2019 by Ak120 (talk | contribs) (Created page with "==APM IOCtl Device Driver Test Tool== This chapter explains the APM IOCtl Device Driver Test Tool. === Overview === The APM IOCtl Functional Verification Tests (FVTs) exercis...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

APM IOCtl Device Driver Test Tool

This chapter explains the APM IOCtl Device Driver Test Tool.

Overview

The APM IOCtl Functional Verification Tests (FVTs) exercise the Application Program Interfaces (APIs) defined for the DosDevIOCtl interface of the APM device driver. The tests are implemented with the Device Driver Test Tool (DDTT). Each test is defined in a script file and these files can be modified using a text editor to create additional, specialized test cases. The test scripts give the user a repeatable set of tests that demonstrate APM function and performance. Errors are reported and are easily isolated to a specific test sequence and API.

User input and output from each thread of the APM tests is by way of a separate Presentation Manager window. Multi-threaded test cases log all information to a single log file, clearly indicating the actual execution sequence in the event of errors.

APM IOCtl Test Architecture

The DDTT provides a common front-parser for test case scripts and also tests several devices and APIs. The following DDTT APM IOCtl-specific stub code and grammar files are required:

  • DDTAPM.DLL
  • APM.GRA

The VisualAge C++ source code DDTAPM.DLL is available on the IBM Developer Connection Device Driver Kit for OS/2. The following required, common components of DDTT implement DDTT's programmable parser and common test functions such as SET, LOOP, and PAUSE:

  • DDTT.EXE
  • DDTT.DLL
  • GLOBAL.DLL
  • GLOBAL.GRA

Installation

There are two directory structures in IBM Developer Connection Device Driver Kit for OS/2 that utilize test suites. The TESTCERT substructure contains the executables and test cases.

The following procedure describes the installation steps for running test cases:

1. Copy the executable and APM IOCtl test case files from the IBM Developer Connection Device Driver Kit for OS/2 CD-ROM to the hard drive. All the executable (.EXE and .DLL) files can reside in one directory, such as \TSTAPM. Test-case script and command files can also be placed in this directory on the hard disk. If the target directory is C:\TSTAPM and the E drive contains the information from the IBM Developer Connection Device Driver Kit for OS/2 CD-ROM, then use the following commands to copy the APM IOCtl test suite:

 [C:\]md tstapm
 [C:\]cd tstapm
 [C:\tstapm]copy e:\ddk\testcert\apm\function\*
 [C:\tstapm]copy e:\ddk\testcert\general\ddtt\*

2. Make sure the statement BASEDEV=APM.SYS is in the CONFIG.SYS file and the driver is installed correctly.

Test-Case Execution

There are two different ways to run APM tests. One way is to run the program from a command file. To run the command file, first make sure you are in the directory in which the files were installed and then type TEST. The command file will run all of the script files. However, if you would like to test certain parts of the driver, then you need to execute the corresponding test script. For instance, in order to test the function 61 you need to type, 61.CMD.

Another way to run APM IOCtl tests is to run each script file individually. To run one script file at a time, see #Description of Test Cases for a description of each script file. After deciding on a script file to run, type in DDTT followed by the script file name:

[C:\tstapm]DDTT ENABLE01.SCR

After the script has finished executing, control will transfer back to the OS/2 window.

APM IOCtl Test Grammar Function Calls

The following is a list of APM IOCtl Test Grammar Function Calls:

  • APM_OPEN
  • APM_CLOSE
  • APM_0C40
  • APM_0C41
  • APM10_0C60
  • APM_0C60
  • APM_0C61
  • APM_0C62
  • APM_0C63
  • APM_SEM
  • APM_ENDSEM
  • APM_CREATETHREAD
  • APM_POLLQUEUE
  • DATA_COMPARE
APM_OPEN

This function opens the advanced power management driver.

Input Parameter Keywords
Keyword Type Description
DEVICENAME STRING Power management device driver name.
Output Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM device being tested.
Logged Data

None.

APM_CLOSE

This function closes the advanced power management driver.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver.
Output Parameter Keywords
None.
Logged Data
None.
APM_0C40

Category 0Ch Function 40h - Send Power Event

This function enables the caller to initiate a power management event through the power management services subsystem and system clients.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
SUBID ALNUM Event message id
DEVID NUM Device id
PWRSTATE NUM Power State
Output Parameter Keywords

None.

Logged Data

None.

APM_0C41

Category 0Ch Function 41h - Set Power Event Resource

This function enables the caller to manipulate the resource set used to communicate with the power management subsystem. The parameter fields enable the caller to customize the resource set to fit the communication protocol desired.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
REQUESTFLAG NUM Request flag
SEMHANDLE NUM Semaphore handle
EVENTMASK NUM Event mask
Output Parameter Keywords

None.

Logged Data

None.

APM_0C60

Category 0Ch Function 60h - Query Power Status

This function returns the current power state information for the system and system devices.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
Output Parameter Keywords

None.

Logged Data
Power Flags
AC Status
Battery Life
Battery Time
Battery Time Form
Battery Status
APM10_0C60

Category 0Ch Function 60h - Query Power Status APM Version 1.0

This function returns the current power state information for the system and system devices.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
Output Parameter Keywords

None.

Logged Data
Power Flags
AC Status
Battery Life
Battery Status
APM_0C61

Category 0Ch Function 61h - Query Power Event

This function returns power management event information queued in the power management services subsystem.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
Output Parameter Keywords

None.

Logged Data
Data Packet Format
Message Count
SubID
DevID
Power State
APM_0C62

Category 0Ch Function 62h - Query Power Information

This function returns the power management subsystem and bios configuration information.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
Output Parameter Keywords

None.

Logged Data
BIOS Flags
BIOS Version
SubSystem Version
APM_0C63

Category 0Ch Function 63h - Query Power State

This function allows the current power state of device, class of device, or the entire system to be queried.

Input Parameter Keywords
Keyword Type Description
APMHANDLE NUM Drive handle for APM driver
DEVID NUM Device ID
Output Parameter Keywords

None.

Logged Data
Power State
APM_SEM

This function creates a semaphore handle.

Input Parameter Keywords

None.

Output Parameter Keywords
Keyword Type Description
SEMHANDLE NUM Semaphore handle
Logged Data

None.

APM_ENDSEM

This function deletes a semaphore handle.

Input Parameter Keywords
Keyword Type Description
SEMHANDLE NUM Semaphore handle
Output Parameter Keywords

None.

Logged Data

None.

APM_CREATETHREAD

This function is designed to test function 61 using semaphore notification. Two threads are created for this purpose. The main thread generates the event (by a function 40 call) then goes idle for 100 milliseconds and then checks if the event is picked up by the child thread. If the event is not picked up by the child thread, the main thread goes back into idle again and repeats the same process. In the mean time, the child thread waits on a semaphore. It is notified when the event is created. Then the child thread picks up the event (by a function 61 call). This cycle is repeated for max_count times. In general, max_count does not need to be greater than 1. When the main thread finishes its work, it waits for the child thread to complete its execution and then it terminates.

Input Parameter Keywords
Keyword Type Description
MAXCOUNT NUM Number of times a power management event is generated.
Output Parameter Keywords

None.

Logged Data

None.

APM_POLLQUEUE

This function is designed to test function 61 without using semaphore notification. Two threads are created for this purpose. The main thread generates the event (function 40) and goes idle for 100 milliseconds and then checks if the event is picked up by the child running in parallel. If it is not picked up by the child thread then the main thread goes back to idle end repeats the same process. The child thread continuously polls the queue and when it retrieves an event from the queue, it notifies the main thread. The main thread repeats this cycle for max_count times. In general, max_count does not need to be greater than 1. When the main thread is done, it waits for the child thread to complete its execution and it terminates.

Input Parameter Keywords
Keyword Type Description
MAXCOUNT NUM Number of times a power management event is generated.
Output Parameter Keywords

None.

Logged Data

None.

DATA_COMPARE

This function is to compare the actual result to the expected result.

Input Parameter Keywords
Keyword Type Description
DATA_FORMAT NUM Actual result
EXPECTED_VALUE NUM Expected result
Output Parameter Keywords

None.

Logged Data

SUCCESS or ERROR

Description of Test Cases

Each of the APM IOCtl test cases can be executed individually as previously described. The corresponding test scripts are described below. The user can create additional tests or combine tests into logically organized test groups to test certain aspects of the driver, after becoming familiar with the DDTT and the APM IOCtl grammar files.

All of the APM IOCtl test cases use the DDTT @IMPORT command to include APM_RET.SCR which contains the return codes from the IOCtl calls.

All test scripts close the APM device driver and verify successful status return from every exercised API. All test scripts log information to a log file with the same file name and a file name extension, .LOG. The same information is also written to DDTT's output windows. Log files can be examined after the test case has completed.

APM_RET.SCR
A common script included by all scripts that contains the error codes returned by the IOCtl calls.
ENABLE01.SCR
Enables power management functions for BIOS-managed devices.
ENABLE0.SCR
Enables power management functions for system BIOS.
ENABLE1.SCR
Enables power management functions for display devices.
ENABLE2.SCR
Enables power management functions for secondary storage devices.
ENABLE3.SCR
Enables power management functions for parallel ports.
ENABLE4.SCR
Enables power management functions for serial ports.
ENABLE6.SCR
Enables power management functions for PCMCIA sockets.
DISABL01.SCR
Disables power management functions for BIOS-managed devices.
DISABLE0.SCR
Disables power management functions for system BIOS.
DISABLE1.SCR
Disables power management functions for display devices.
DISABLE2.SCR
Disables power management functions for secondary storage devices.
DISABLE3.SCR
Disables power management functions for parallel ports.
DISABLE4.SCR
Disables power management functions for serial ports.
DISABLE6.SCR
Disables power management functions for PCMCIA sockets.
ENGAGE01.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for the BIOS-managed devices.
ENGAGE0.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for the system BIOS.
ENGAGE1.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for the display devices.
ENGAGE2.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for the secondary storage devices.
ENGAGE3.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for parallel ports.
ENGAGE4.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for serial ports.
ENGAGE6.SCR
Engages power management functions so that cooperative power management between BIOS and the operating system takes place for the PCMCIA sockets.
DISENG01.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for all BIOS-managed devices.
DISENG0.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for itself.
DISENG1.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for display devices.
DISENG2.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for secondary storage devices.
DISENG3.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for parallel ports.
DISENG4.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for serial ports.
DISENG6.SCR
Disengages power management functions therefore BIOS will be automatically performing power management without operating system cooperation for PCMCIA sockets.
RESTORE.SCR
Restores the BIOS defaults.
SBMDOFF.SCR
Sets the power of system BIOS-managed devices to off.
SBMDRDY.SCR
Sets the power of system BIOS-managed devices to ready.
SBMDSBY.SCR
Sets the power of system BIOS-managed devices to standby.
SBMDSPD.SCR
Sets the power of system BIOS-managed devices to suspend.
SBIOSOFF.SCR
Sets the power of the system BIOS to off.
SBIOSRDY.SCR
Sets the power of the system BIOS to ready.
SBIOSSBY.SCR
Sets the power of the system BIOS to standby.
SBIOSSPD.SCR
Sets the power of the system BIOS to suspend.
SDSPLOFF.SCR
Sets the power of display devices to off.
SDSPLRDY.SCR
Sets the power of display devices to ready.
SDSPLSBY.SCR
Sets the power of display devices to standby.
SDSPLSPD.SCR
Sets the power of Display Devices to suspend.
SSTGOFF.SCR
Sets the power of secondary storage devices to off.
SSTGRDY.SCR
Sets the power of secondary storage devices to ready.
SSTGSBY.SCR
Sets the power of secondary storage devices to standby.
SSTGSPD.SCR
Sets the power of secondary storage devices to suspend.
SPPRTOFF.SCR
Sets the power of parallel ports to off.
SPPRTRDY.SCR
Sets the power of parallel ports to ready.
SPPRTSBY.SCR
Sets the power of parallel ports to standby.
SPPRTSPD.SCR
Sets the power of parallel ports to suspend.
SSPRTOFF.SCR
Sets the power of serial ports to off.
SSPRTRDY.SCR
Sets the power of serial ports to ready.
SSPRTSBY.SCR
Sets the power of serial ports to standby.
SSPRTSPD.SCR
Sets the power of serial ports to suspend.
SPCMCOFF.SCR
Sets the power of PCMCIA sockets to off.
SPCMCRDY.SCR
Sets the power of PCMCIA sockets to ready.
SPCMCSBY.SCR
Sets the power of PCMCIA sockets to standby.
SPCMCSPD.SCR
Sets the power of PCMCIA sockets to suspend.
41ERROR1.SCR
Error case. Attempts to set up a semaphore without providing a semaphore type.
41ERROR2.SCR
Error case. Requests a semaphore setup and removal at the same time.
41ERROR3.SCR
Error case. Attempts to set up both a 32-bit and 16-bit semaphore at the same time.
41ERROR4.SCR
Error case. Attempts to set up a semaphore while NoSemFlag is set.
41ERROR5.SCR
Error case. Attempts to set up a semaphore despite the case that there already exists one.
41ERROR6.SCR
Error case. Bad semaphore handle.
41ERROR7.SCR
Error case. Attempts to remove a semaphore which was not set up.
41ERROR8.SCR
Error case. An invalid event mask is used while setting the resource set.
41SEMREM.SCR
Removes an already set up semaphore.
QPOWEN01.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (semaphore implementation).
QPOWEEN0.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for system BIOS (semaphore implementation).
QPOWEEN1.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for display devices (semaphore implementation).
QPOWEEN2.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for secondary storage devices (semaphore implementation).
QPOWEEN3.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for parallel ports (semaphore implementation).
QPOWEEN4.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for serial ports (semaphore implementation).
QPOWEEN6.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for PCMCIA Sockets (semaphore implementation).
QPWDIS01.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for system BIOS-managed device drivers (semaphore implementation).
QPOWDIS0.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for system BIOS (semaphore implementation).
QPOWDIS1.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for display devices (semaphore implementation).
QPOWDIS2.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for secondary storage devices ( semaphore implementation).
QPOWDIS3.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for parallel ports (semaphore implementation).
QPOWDIS4.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for serial ports (semaphore implementation).
QPOWDIS6.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for PCMCIA sockets (semaphore implementation).
QPWENG01.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for System BIOS-managed devices (semaphore implementation).
QPOWENG0.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for system BIOS (semaphore implementation).
QPOWENG1.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for display devices (semaphore implementation).
QPOWENG2.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for secondary storage devices (semaphore implementation).
QPOWENG3.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for parallel ports (semaphore implementation).
QPOWENG4.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for serial ports (semaphore implementation).
QPOWENG6.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for PCMCIA sockets (semaphore implementation).
QPWDSE01.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (semaphore implementation).
QPWDSEN0.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for system BIOS (semaphore implementation).
QPWDSEN1.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for display devices (semaphore implementation).
QPWDSEN2.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for secondary storage devices (semaphore implementation).
QPWDSEN3.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for parallel ports (semaphore implementation).
QPWDSEN4.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for serial ports (semaphore implementation).
QPWDSEN6.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for PCMCIA sockets (semaphore implementation).
QPWENS01.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (non-semaphore implementation).
QPWENNS0.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for system BIOS (non-semaphore implementation).
QPWENNS1.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for display devices (non-semaphore implementation).
QPWENNS2.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for secondary storage devices (non-semaphore implementation).
QPWENNS3.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for parallel ports (non-semaphore implementation).
QPWENNS4.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for serial ports (non-semaphore implementation).
QPWENNS6.SCR
Returns the enable power management event information queued in the Power Management Services subsystem for PCMCIA sockets (non-semaphore implementation).
QPDSNS01.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (non-semaphore implementation).
QPWDSNS0.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for system BIOS (non-semaphore implementation).
QPWDSNS1.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for display devices (non-semaphore implementation).
QPWDSNS2.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for secondary storage devices (non-semaphore implementation).
QPWDSNS3.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for parallel ports (non-semaphore implementation).
QPWDSNS4.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for serial ports (non-semaphore implementation).
QPWDSNS6.SCR
Returns the disable power management event information queued in the Power Management Services subsystem for PCMCIA sockets (non-semaphore implementation).
QPEGNS01.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (non-semaphore implementation).
QPENGNS0.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for system BIOS (non-semaphore implememtation).
QPENGNS1.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for display devices (non-semaphore implementation).
QPENGNS2.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for secondary storage devices (non-semaphore implementation)
QPENGNS3.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for parallel ports (non-semaphore implementation).
QPENGNS4.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for serial ports (non-semaphore implementation)
QPENGNS6.SCR
Returns the engage power management event information queued in the Power Management Services subsystem for PCMCIA sockets (non-semaphore implementation).
QPDGNS01.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (non-semaphore implementation).
QPDSGNS0.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for system BIOS (non-semaphore implementation).
QPDSGNS1.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for system BIOS-managed devices (non-semaphore implementation).
QPDSGNS2.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for secondary storage devices (non-semaphore implementation).
QPDSGNS3.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for parallel ports (non-semaphore implementation).
QPDSGNS4.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for serial ports (non-semaphore implementation).
QPDSGNS6.SCR
Returns the disengage power management event information queued in the Power Management Services subsystem for PCMCIA sockets (non-semaphore implementation).
QP01SE.SCR
Queries the power state of system BIOS-managed devices using semaphores for event notification.
QP0SE.SCR
Queries the power state of system BIOS using semaphores for event notification.
QP1SE.SCR
Queries the power state of display devices using semaphores for event notification.
QP2SE.SCR
Queries the power state of secondary storage devices using semaphores for event notification.
QP3SE.SCR
Queries the power state of parallel ports using semaphores for event notification.
QP4SE.SCR
Queries the power state of serial ports using semaphores for event notification.
QP6SE.SCR
Queries the power state of PCMCIA sockets using semaphores for event notification.
QP01NS.SCR
Queries the power state of system BIOS-managed devices without using semaphores.
QP0NS.SCR
Queries the power state of system BIOS without using semaphores.
QP1NS.SCR
Queries the power state of display devices devices without using semaphores.
QP2NS.SCR
Queries the power state of secondary storage devices without using semaphores.
QP3NS.SCR
Queries the power state of parallel ports without using semaphores.
QP4NS.SCR
Queries the power state of serial ports without using semaphores.
QP6NS.SCR
Queries the power state of PCMCIA sockets without using semaphores.
QPOWINFO.SCR
Returns the Power Management subsystem and BIOS configuration information.
QPOWSTAT.SCR
Returns the current power state information for the system and system devices.
QPWSTE01.SCR
Returns the current power state of system BIOS-managed devices.
QPOWSTE0.SCR
Returns the current power state of system BIOS.
QPOWSTE1.SCR
Returns the current power state of display devices.
QPOWSTE2.SCR
Returns the current power state of secondary storage devices.
QPOWSTE3.SCR
Returns the current power state of parallel ports.
QPOWSTE4.SCR
Returns the current power state of serial ports.
QPOWSTE6.SCR
Returns the current power state of PCMCIA sockets.
RBIOSDNS.SCR
Returns the Restore BIOS defaults event information queued in the Power Management Services Subsystem (non-semaphore implementation).
RBIOSDSE.SCR
Returns the Restore BIOS defaults event information queued in the Power Management Services Subsystem (semaphore implementation).
SINIDOFF.SCR
Handles the error case in which the power of an invalid device is attempted to be set to off.
SINSTAT1.SCR
Attempts to set the power of a valid device to an invalid power state.
SINVSTAT.SCR
Attempts to set the power of an invalid device to an invalid power state.

Evaluation of Test Case Results

The script files test all of the different APM IOCtl functions for the Advanced Power Management device driver. After each script file has finished executing, it will log all of the test information to a log file. Unless otherwise stated in the test case-description, all test cases are expected to succeed. If a test case fails in a mode detectable by the DDTT, then the token "ERROR" will be written to the corresponding file. On the other hand, if the test case is designed in such a manner that "ERROR" is expected, a "SUCCESS" is logged to the log file indicating that the test case is successful.

When the all of the script file has finished executing, the command file will search all of the log files for any errors that have occurred. The results from this search are stored in the RESULTS.TXT. The command file is searching only for the word "ERROR". If the script is testing an error situation, the user should also check a following "SUCCESS" to determine the real outcome of the test.