Touch Panel APIs, Functional, Power Management, and Fault Injection Tests (Compact 2013)
3/26/2014
This test case, performs the following touch panel test categories:
1. API Tests.
2. Functional Tests.
3. Power Management Tests.
4. Fault Injection Tests.
Test Prerequisites
Your device must meet the following requirements before you run this test.
The following table shows the hardware requirements for this test case.
Requirements |
Description |
---|---|
Touch Panel |
Depending on the type of touch panel that is used, a pointing device such as a stylus may also be required. |
The following table shows the software requirement for this test case.
Requirements |
Description |
---|---|
Tux.exe |
Test harness, required for test execution. |
Kato.dll |
Logging engine, required for logging test data. |
Ktux.dll |
Tux test harness library required for kernel mode execution. |
TouchFunc.dll |
Library containing the test. |
Touch.dll |
Touch panel driver. |
Subtests
The table below lists the subtests included in this test.
SubTest ID |
Description |
---|---|
1001 |
Query Device Caps Test: Tests the TouchPanelGetDeviceCaps function, if the function is supported by the touch panel driver. The test uses both the TPDC_SAMPLE_RATE_ID and TPDC_CALIBRATION_POINT_COUNT_ID flags. This test fails if the TouchPanelGetDeviceCaps function call fails with either of the specified flags. This test is skipped if the touch panel driver does not export a TouchPanelGetDeviceCaps function. |
1002 |
Set Sample Rate Test: Tests the TouchPanelSetMode function, if the function is supported by the touch panel driver. The test uses both the TPSM_SAMPLE_RATE_LOW_ID and TPSM_SAMPLE_RATE_HIGH_ID flags. The test verifies the sample rate settings with the TouchPanelGetDeviceCaps function. This test fails if the TouchPanelSetMode function call fails with any specified parameters. The test also fails if the TouchPanelGetDeviceCaps function call fails. This test is skipped if the touch panel driver does not export a TouchPanelSetMode or TouchPanelGetDeviceCaps function. |
1004 |
Read Calibration Point Test: Tests the TouchPanelReadCalibrationPoint function, which reads a single point of data from the touch panel. This test requires that you firmly touch and release the screen one time during the test. The test prompts you when this action is necessary. This test fails if the TouchPanelReadCailbrationPoint function call fails. Failure may occur if the function is implemented incorrectly, if the touch panel driver does not recognize the touching of the touch panel as calibration data, or if you do not touch the panel when you are prompted. This test is skipped if the touch panel driver does not export a TouchPanelReadCalibrationPoint or TouchPanelReadCalibrationAbort function. |
1005 |
Calibration Abort Test: Tests the TouchPanelReadCalibrationAbort function that aborts a TouchPanelReadCalibrationPoint function call. The test requires that you do not touch the touch panel during the test. This test fails if the TouchPanelReadCalibrationPoint function call succeeds. Failure may occur if you touch the touch panel. This test is skipped if the touch panel driver does not export a TouchPanelReadCalibrationPoint or TouchPanelReadCalibrationAbort function. |
1006 |
Calibration Test: Tests the TouchPanelCalibrateAPoint function. The test calibrates the touch panel if it is not already calibrated, and then calls the TouchPanelCalibrateAPoint function with a range of point values to verify success. This test fail if calibration fails for any reason or if the TouchPanelCalibrateAPoint function call fails on any value. This test is skipped if the touch panel driver does not export a TouchPanelCalibrateAPoint function. |
1007 |
Null Parameter Test. |
2001 |
Pen Up/Down Test: Tests the ability of the touch panel driver to correctly detect tap and release events on the touch panel. This test requires that you tap and release the touch panel when you are prompted. The test relies on the callback routine successfully receiving the TOUCH_PANEL_SAMPLE_FLAGS data type. This test fails if you do not correctly tap and release the touch panel when prompted. If you do not respond to the tap or release instructions, the test times out after approximately 10 seconds and fails. |
2002 |
Point Test: Tests the ability of the touch driver to correctly detect pen coordinates on the touch panel. This test requires that you tap the touch panel in several locations when you are prompted. The test relies on the callback routine successfully receiving touch event coordinates. This test fails if you do not respond to a tap request within approximately 10 seconds. This test also fails if you select 'No' at the end of the test. |
2003 |
Drawing Test: Tests the ability of the touch driver to correctly detect tap, release, and pen coordinates on the touch panel. This test requires that you draw on the touch panel when you are prompted. This test fails only if you select 'No' at the end of the test. |
2004 |
Opens the touch driver's registry subkey and queries the value of "CalibrationData". It passes if the registry subkey is opened and the and the value of "CalibrationData" is read successfully. Otherwise, it fails. |
3001 |
Power Capabilities Test: Verifies whether the D0 and D4 power states are supported by the touch driver. Failure indicates at least one of these power states is not supported. |
3002 |
Device Power State Test: Verifies if the touch panel enters sleep mode (D4 power state) and back into the fully powered on mode (D0 power state) through requests from the Power Manager. Drawing test is performed before, during and after the touch panel enters into the D4 power state. You verify by using screen prompts whether the functionality of the touch panel has been maintained during each stage. Answering 'Yes' for when the touch panel was in sleep mode is a failure as the touch panel is expected to be nonfunctional during this period. |
4001 |
Touch Driver Unloaded Test: Tests the behavior when the touch driver is deactivated through the touch panel’s parent bus driver. Drawing Test is performed before and while the touch driver is deactivated. In each case, you are asked whether the drawing operation was successfully completed. Answering 'Yes' after the second drawing test is a failure as touch screen functionality is expected to be lost. |
Setting Up the Test
This test has no additional setup requirements beyond the standard test environment setup.
Running the Test
This Touch Panel Test executes the tux.exe -n -o -d touchfunc.dll command line on default execution.
Parameter |
Description |
---|---|
-v driver |
Specifies the name of the touch panel driver to be tested. |
If this option is not specified, the test loads the Touch.dll driver.
Verifying the Test
When the test completes running, verify that PASS appears in the test log for all sub-tests
Troubleshooting the Test
The sub-test table describes possible failures for each of the test cases.
This test requires specific user interaction. Failure to follow the prompt may result in the test failing due to timeout.
Test 3001 requires that the touch driver support D0 and D4 power states.
When you complete the test, the operating system does not regain control of the touch panel. You must reset the touch panel to restore usual operation.