Modifying the CD/DVD-ROM Block Driver Test

The CD/DVD-ROM Block Driver Test executes the tux –o –d cdromtest –f command by default. 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 CD/DVD-ROM Block Driver 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 CD/DVD-ROM Block Driver Test probes for a CD-ROM drive or CD/DVD-ROM drive on devices DSK1-9. Specifying this option overrides the automatic detection process and forces the tests to use the disk that you specify.

-d DSKx:
Set the name of the image file in the release directory on the development workstation.

Test cases 6003 through 6005 use this option. The contents of the image file are compared to the actual contents of the media in the drive. If you do not specify this option, the test attempts to open the Cdsector.dat file in the release directory. You can specify an .iso file or other type of CD-ROM or DVD-ROM image that you used to create the test media. When you specify this option for test case 6101, an image of the media in the drive is created in the release directory under the specified name. If the test cannot access the release directory on the development workstation, the image file is not used.

-i image.file
Set the maximum number of sectors that can be read from the disk in any single read request.

Test cases 6003 through 6006 use this value. The default value is 64 sectors.

-s max_sectors_per_read
Set the track number to read from the audio CD.

Test cases 6008 and 6009 use this value. The default value is track 1.

-t track#
Specify that the disk in the drive is a DVD rather than a CD.

This parameter affects the maximum final sector that the test attempts to read. When you do not specify this option, the maximum sector read is 328220. When you specify this option, the maximum sector read is 3725375.

-v

For information about other command-line parameters for Tux.exe, see Tux Command-Line Parameters.

The following table shows the test cases for the CD/DVD-ROM Block Driver test.

Test case Description
6001: Device ready check Tests the functionality of the IOCTL_CDROM_TEST_UNIT_READY I/O control code (IOCTL). This test case fails when the DeviceIoControl function call returns FALSE. Failure occurs if the driver does not properly support the IOCTL_CDROM_TEST_UNIT_READY control code. Failure also occurs when the DeviceIoControl function call does not set the bUnitReady flag to TRUE in the CDROM_TESTUNITREADY output structure. This test case fails if there is no media in the drive because the function call sets the flag to TRUE only when there is media present.
6002: Query CD-ROM Disk information Tests the functionality of the IOCTL_CDROM_DISC_INFO IOCTL. This test case fails when the DeviceIoControl function call returns FALSE. Failure occurs if there is no CD or DVD in the drive.
6003: Perform 1 Sector Reads Reads each sector from the media one sector at a time and compares the contents of each sector to the contents of the image file in the release directory. This test case fails if it is unable to read any sector from the media in the drive. The test case also fails when the drive reads fewer bytes than were requested, and when there is a discrepancy between the data on the media and the data in the image file. You should make sure that there is media in the drive and that the specified image file in the release directory on the development workstation matches the contents of the media.
6004: Perform 32 Sector Reads Reads each sector from the media 32 sectors at a time and compares the contents of the sectors to the contents of the image file in the release directory. This test fails when it is unable to read any sector from the media in the drive. The test case also fails when the drive reads fewer bytes than were requested, and when there is a discrepancy between the data on the media and the data in the image file. You should make sure that there is media in the drive and that the specified image file in the release directory on the development workstation matches the contents of the media.
6005: Perform 128 Sector Reads Reads each sector from the media 128 sectors at a time and compares the contents of the sectors to the contents of the image file in the release directory. This test fails when it is unable to read any sector from the media in the drive. The test case also fails when the drive reads fewer bytes than were requested, and when there is a discrepancy between the data on the media and the data in the image file. You should make sure that there is media in the drive and that the specified image file in the release directory on the development workstation matches the contents of the media.
6006: Test increasing read request sizes Performs multiple-sector reads. The number of sectors included in each read starts at one and increases with each read until the number reaches the maximum number of sectors that can be read, as specified by the –s command-line option. The data that is read is compared to the data in the specified image file. This test case fails if the test is unable to allocate a large enough buffer to store the data being read. Such a failure does not indicate a problem and can be solved by setting a smaller maximum number of sectors using the –s option.
6007: Perform Multi-SG Reads Tests the ability for the block driver to support reads with multiple scatter-gather (SG) buffers. This test reads data from the disk using a single SG buffer and then reads the same data in multiple SG buffers. The test verifies that the data read is the same in both cases. This test case fails when the device does not support multiple SG buffer reads.
6011: Issue an ATAPI device info inquiry Tests the functionality of the IOCTL_CDROM_ISSUE_INQUIRY IOCTL, passing an INQUIRY_DATA structure as the output parameter. This test fails when the DeviceIoControl function call returns FALSE for the IOCTL_CDROM_ISSUE_INQUIRY IOCTL.
6012: Verify media eject and load functionality Tests the functionality of the IOCTL_CDROM_LOAD_MEDIA and IOCTL_CDROM_UNLOAD MEDIA IOCTLs. The test case first attempts to eject the media, and then follows with an IOCTL_CDROM_TEST_UNIT_READY IOCTL to verify that the media is not present. The test case then loads the media and follows with a second IOCTL_CDROM_TEST_UNIT_READY IOCTL to verify that the media is loaded. This test case fails if any of the DeviceIoControl function calls return FALSE, if the unit appears to be ready after ejecting the media, or if the unit is not ready after reloading the media.
6021: Read MSF Audio data from audio CD Tests the ability to read an audio track in M:S:F format from the block driver. The M:S:F format is the standard format for specifying a location on an audio CD. This test is skipped if the track specified using the –t command-line option does not exist on the CD or is not in M:S:F format. Make sure that an audio CD is placed in the drive. This test fails if the block driver does not support reading data in M:S:F format.
6022: Read MSF Audio track to file in release directory Verifies that the audio read from an audio CD is correct. When the test runs, a raw pulse code modulation (PCM) audio file named CdtrackX.pcm is created in the release directory of the development workstation. You can convert the CdtrackX.pcm file to a different audio format and play the audio back on the development workstation to verify the quality of the audio. This test is skipped if the track specified using the –t command-line option does not exist on the CD or is not in M:S:F format. Make sure that an audio CD is placed in the drive. This test is also skipped if the release directory is unreachable. This test fails if the block driver does not support reading data in M:S:F format.
6101: Make image of CD media Creates an image of the media that is loaded in the drive and saves the file containing the image in the release directory on the development workstation. You can specify the name of the image file using the –i command-line option. This test executes until it eventually fails or until 328220 sectors are read. If the –v option is specified, then a maximum number of 3725375 sectors are read. This test is skipped if the release directory is unreachable.

Note   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

CD/DVD-ROM Block Driver Test

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.