Test Cases for the Device Info IOCTL Test (Windows Embedded CE 6.0)
1/6/2010
The following table shows the test cases for IOCTL_HAL_GET_DEVICE_INFO. All test cases except for test case 1 test the device information.
Note
For test cases that verify output value (5000, 5010, 5020, 5030, 5040, 5050, 5060, 5070), the user must manually verify the test output.
Test case | Description |
---|---|
1 |
IOCTL Tests Usage Message Prints out the usage message for the OAL IOCTL Tests. Tells the user what the tests do and specifies the input, if any, that the user must provide. |
5000 |
Platform Name - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMNAME |
5010 |
Project Name - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPROJECTNAME |
5020 |
Platform Type - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMTYPE |
5030 |
BootMe Name - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETBOOTMENAME |
5040 |
OEM Info - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETOEMINFO |
5050 |
Platform Version - Verify Output Value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMVERSION |
5060 |
UUID - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETUUID |
5070 |
GUID Pattern - Verify Output value This test prints out the output of IOCTL_HAL_GET_DEVICE_INFO::SPI_GETGUIDPATTERN |
5001 5011 5021 5031 5041 5051 5061 5071 |
Check incorrect inbound parameters in the following areas: Platform Name (5001) Project Name (5011) Platform Type (5021) BootMe Name (5031) OEM Info (5041) Platform Version (5051) UUID (5061) GUID Pattern (5071) Check if the corresponding IOCTL calls are able to correctly handle incorrect inbound parameters. Pass various combinations of incorrect input values to the IOCTL and verify the return values and error codes. Any incorrect input parameters should not crash the system. |
5002 5012 5022 5032 5042 5052 5062 5072 |
Check incorrect outbound parameters in the following areas: Platform Name (5002) Project Name (5012) Platform Type (5022) BootMe Name (5032) OEM Info (5042) Platform Version (5052) UUID (5062) GUID Pattern (5072) Check if the corresponding IOCTL calls are able to correctly handle incorrect outbound parameters. Pass various combinations of incorrect outbound parameters to the IOCTL and verify the return values and error codes. |
5003 5013 5023 5033 5043 5053 5063 5073 |
Check alignment and overflow of inbound buffer in the following areas: Platform Name (5003) Project Name (5013) Platform Type (5023) BootMe Name (5033) OEM Info (5043) Platform Version (5053) UUID (5063) GUID Pattern (5073) Check if the corresponding IOCTL calls are able to correctly handle misaligned input buffers. The input buffer is misaligned on a DWORD and the tests verify that the IOCTL correctly returns FALSE without throwing an exception or crashing. The tests also check for input buffer overflows on each call. |
5004 5014 5024 5034 5044 5054 5064 5074 |
Check alignment and overflow of outbound buffer in the following areas: Platform Name (5004) Project Name (5014) Platform Type (5024) BootMe Name (5034) OEM Info (5044) Platform Version (5054) UUID (5064) GUID Pattern (5074) The output buffer is misaligned on a DWORD and the tests verify that the IOCTL still works correctly returning the correct data. The IOCTL should not throw an exception or crash. The tests also check for output buffer overflows on each call. |