Share via


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.

See Also

Other Resources

Device Info IOCTL Test