Modifying the Storage Device Block Driver API Test

The Storage Device Block Driver API Test executes the tux –o –d disktest command line on default execution. The test is performed on the first mass storage device that is detected.

Warning   Prior to running this test, be aware that all information on the storage device is destroyed. The test writes to and reads from sectors on the storage device without preserving the contents of the sectors. Microsoft recommends that you back up data on all cards and disks that are attached to the tested device before running the test.

You can modify the test by editing the command line. For information about how to edit the command line for a test, see Editing the Command Line for a Test. The following table shows the modifications you can make to the test.

To modify the Storage Device Block Driver API Test

To Add this command-line parameter
Specify the device name of the disk to be tested.

If you do not specify this option, the disk test probes for a mass storage disk on devices DSK1-9. Specifying this option overrides the automatic detection process and forces tests to use the device that you specify.

-d DSKx
Force the test to use previous disk I/O control codes (IOCTLs) rather than the current set of IOCTLs.

The previous IOCTLs begin with DISK_IOCTL_ and are not Microsoft® Windows® CE IOCTLs. The current set of IOCTLs begin with IOCTL_DISK_. Many block drivers support both previous and current IOCTLs and this option can be used to verify that both current and previous IOCTLs work properly.

-o

The following table shows the test cases for the Storage Device Block Driver API Test.

Test case Description
4001: Check name of mass storage disk Tests the functionality of the IOCTL_DISK_GETNAME IOCTL. If the storage device supports only previous IOCTLs, use the –o command-line option to test the DISK_IOCTL_GETNAME IOCTL instead. This test case fails if the block driver does not support the IOCTL.
4002: Format mass storage disk Tests the functionality of the IOCTL_DISK_FORMAT_MEDIA IOCTL. If the disk supports only previous IOCTLs, use the –o command-line option to test the DISK_IOCTL_FORMAT_MEDIA IOCTL instead. This test case fails if the block driver does not support the IOCTL.
4003: Write, Read, Verify 1 sector at a time Verifies that data written one sector at a time to any sector of the disk can be read back properly. This test case fails if data is corrupted while reading or writing. This test case also fails if the boundary of a read or write buffer is overwritten.
4004: Write, Read, Verify 8 sectors at a time Verifies that data written eight sectors at a time to any sector of the disk can be read back properly. This test case fails if data is corrupted while reading or writing. This test case also fails if the boundary of a read or write buffer is overwritten.
4005: Write, Read, Verify 32 sectors at a time Verifies that data written 32 sectors at a time to any sector of the disk can be read back properly. This test case fails if data is corrupted while reading or writing. This test case also fails if the boundary of a read or write buffer is overwritten. This test case fails if the storage device does not support large reads or writes.
4006: Write, Read, Verify varying sized buffers Verifies that reads of and writes to multiple sectors can be performed in a range of sizes. This test case fails if data is corrupted while reading or writing. This test also fails if the boundary of a read or write buffer is overwritten.
4007: Write, Read with 3 SG buffers, Verify Verifies that reads of three scatter-gather (SG) buffers behave properly. This test fails if the driver for the storage device does not support multiple SG buffer reads.
4008: Write, Read with 2 SG buffers, Verify Verifies that reads of two SG buffers behave properly. This test fails if the driver for the storage device does not support multiple SG buffer reads.
4009: Write, Read with 8 SG buffers, Verify Verifies that reads of eight SG buffers behave properly. This test fails if the driver for the storage device does not support multiple SG buffer reads.
4010: Write, Read with 32 SG buffers, Verify Verifies that reads of 32 SG buffers behave properly. This test fails if the driver for the storage device does not support multiple SG buffer reads.
4011: Various SG buffer sizes Verifies that all SG buffers work properly. This test case fail if the driver for the storage device does not support multiple SG buffer reads.
4012: Read buffer extends past last sector Verifies the behavior of a disk read when the request extends past the last sector on the disk. This test case fails if the read succeeds. A failure of the test case does not necessarily indicate a problem with the driver.
4013: Read starts past final sector Verifies the behavior of a disk read when the request starts past the last sector on the disk. This test case fails if the read succeeds. A failure of the test case does not necessarily indicate a problem with the driver.
4014: Write buffer extends past last sector Verifies the behavior of a disk write when the request extends past the last sector on the disk. This test case fails if the write succeeds. A failure of the test case does not necessarily indicate a problem with the driver.
4015: Write starts past final sector Verifies the behavior of a disk write when the request starts past the last sector on the disk. This test fails if the write succeeds. A failure of the test case does not necessarily indicate a problem with the driver.

Remarks

This test library can have one or more optional command-line entries to change the behavior of the test. To specify one or more optional command-line entries to the test library, you must use the –c command-line option. This option forces Tux to pass the specified string into the test library.

See Also

Storage Device Block Driver API Test

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.