SCSI Compliance Test 2.0 (LOGO)
Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.
Type: Automated test
Overview
The SCSI Compliance test verifies that a block storage device (RAID adapter or disk target) that is supported by the operating system fully complies with the Small Computer System Interface (SCSI) standards described in the SCSI-3 Primary Commands-3 (SPC-3) or later, and SCSI Block Commands-2 (SBC-2) or later specifications. To obtain these specifications, see the T10 Technical Committee website at T10 Technical Committee (t10.org). Ensuring that the block device and the operating system maintain compliance with these standards results in a more robust and reliable system. Although some block devices might not be using a SCSI transport, the operating system communicates with them using SCSI commands (except for individual ATA disk drives that are not part of a RAID set).
The test uses SCSI pass-through requests (IOCTL_SCSI_PASS_THROUGH) to construct and send SCSI command descriptor blocks (CDBs) to the device. The test evaluates the results of the commands to verify compliance.
Note If you are running this test as a part of a Storage RAID Hardware-based RAID (Storage Array) submission, and your storage array supports Multipath I/O (MPIO), you must configure your MPIO to use Fail-Over Only policy, and set the target storage disk to use the same active path for all MPIO-capable disks.
Note If you are running this test as a part of a Storage RAID Hardware-based RAID (Storage Array) submission, please make sure that LUN0 is configured as the largest size non-boot LUN.
Details
The SCSI Compliance test consists of several phases: setup, device enumeration, execution, and results reporting. The test operates in the following modes:
- A non-destructive test run against one or more devices.
- A destructive (allows WRITE commands) test that targets one or more specified disks.
Multiple tests are performed for each command to test compliance. The program stores the test results in a matrix, indicating the results for each command on each device. When the test is completed, a summary report of the results is generated. For debugging purposes, the length of output can be increased when the test is run interactively. It is designed to provide complete information for the submitter, so that they can address command issues.
Functionality Testing
The test sends the following commands to the device. The test runs a variety of tests for each command descriptor block (CDB) to ensure full and complete compliance. Commands that are indicated as optional must still perform correctly if you choose to implement the command. Each command can have many subtests.
TEST UNIT READY
REQUEST SENSE
FORMAT UNIT
READ (6)
WRITE (6)
INQUIRY
MODE SELECT
MODE SENSE
START STOP UNIT
PREVENT ALLOW MEDIUM REMOVAL
READ CAPACITY
READ (10)
WRITE (10)
MODE SELECT (10)
MODE SENSE (10)
PERSISTENT RESERVE IN/OUT
READ (16)
WRITE (16)
READ CAPACTIY (16)
REPORT LUNS
SECURITY PROTOCOL IN/OUT
REPORT TARGET PORT GROUPS
SET TARGET PORT GROUPS
REPORT SUPPORTED OPCODE CLEAR
Run time: 10 minutes
Log file: Scsicompliance.wtl
System restart required: No
Supported operating systems for logo or signature testing:
Windows 7
Windows Server 2008 R2
Windows Vista
Windows Server 2008
Windows XP
Windows Server 2003
Program: Scsicompliance.exe
Requirements
Software Requirements
The test tool requires the following software:
Supported operating system (see list above)
Software components included with the device that is being tested
Any drivers that are not shipped with the Windows operating system
The current release of the Windows Driver Kit
The latest version of the Microsoft iSCSI software initiator. To download the iSCSI software initiator, search for “iSCSI software initiator” at the Microsoft Download Center.
The latest version of the Microsoft iSNS server. To download the Microsoft iSNS server, search for “iSNS” at the Microsoft Download Center.
Hardware Requirements
The test tool requires the following hardware:
Device to be tested
Computer that meets the minimum software requirements
Windows keyboard
Two-button pointing device
Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz
Hard disk drive with a minimum of 20 GB available on partition C:
The system requires one or more SCSI, iSCSI, or Fibre Channel disks attached to the test system.
Processor
The test tool runs on the following processor architectures:
x86
x64
Running the Test
Run the test as a Driver Test Manager (DTM) job.
Command Syntax
Command option | Description |
---|---|
scsicompliance.exe |
Should be followed by options. |
/device [string] |
Specifies the device to be tested. |
/logoprogram [string] |
Specifies the type of logo program of the device to certify. |
/scenario [string] |
Specifies the scenario test to be run. For example, unittest or discoverytest. |
[options] |
Other options, which can be accessed by /? option. |
Code Tour
File Manifest
File | Location |
---|---|
scsicompliance.exe |
[testbinroot]\nttest\driverstest\storage\wdk\ |
Test Assertions
Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.
Title: ASSERTION: TEST UNIT READY Basic Verification Test
Description: The TEST UNIT READY command provides a means to check whether the logical unit is ready. This is not a request for a self-test. If the logical unit is able to accept an appropriate medium-access command without returning CHECK CONDITION status, this command shall return a GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.33 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: REQUEST SENSE (6) Support Test
Description: Checking to see whether Request Sense Command is supported and returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.27 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: REQUEST SENSE (6) RESPONSE CODE Test
Description: Verify that RESPONSE CODE is either 0x70 or 0x71 or 0x72 or 0x73.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.27 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: RESPONSE CODE == 0x70 or RESPONSE CODE == 0x71 or RESPONSE CODE == 0x72 or RESPONSE CODE == 0x73
Title: ASSERTION: REQUEST SENSE (6) Sense Data Length Test
Description: Verify that length of SENSE data is correct (data transferred matches data length reported by the command response).
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.27 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Additional Sense Length = Sense data size - 8
Title: ASSERTION: FORMAT UNIT test with Type 1 Protection
Description: Format Unit with longlist=0, fmtdata=0, cmplist=0, defect list format=0 and type 1 protection
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.2 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: FORMAT UNIT test with Type 2 Protection
Description: Sending Format Unit with longlist=0, fmtdata=0, cmplist=0, defect list format=0 and type 2 protection
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.2 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: FORMAT UNIT test with Type 3 Protection
Description: Sending Format Unit with longlist=0, fmtdata=0, cmplist=0, defect list format=0 and type 3 protection
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.2 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: FORMAT UNIT test with Type 0 Protection
Description: Sending Format Unit with longlist=0, fmtdata=0, cmplist=0, defect list format=0 and type 0 protection
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.2 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: READ (6) Basic Verification Test
Description: The device must return GOOD (0x0) SCSI status and the first two blocks of data correctly. This test sends two READ commands reading two different but overlapped blocks of data. Then it compares the overlapped data. It returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly).
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.4. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: READ (6) Sequential Read Test
Description: The device must read 1000 sequential blocks of data correctly. This test sends the command 1000 times, reading 1024 bytes of data sequentially starting at a random block address.
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.4. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: All READ (6) commands succeed.
Title: ASSERTION: READ (6) Random Read Test
Description: The device must read 1000 random blocks of data correctly. This test sends the command 1000 times, reading data at random logical block address.
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.4. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: All READ (6) commands succeed.
Title: ASSERTION: READ (6) Read-With-Disk-Cache-Cleared Test
Description: The device must return data correctly after clearing 12-MB disk cache. This test first reads 12 MB sequential data for later verification. Then, it clears the disk cache by reading 12 MB random data. Finally, it reads the same 12 MB sequential data to see whether the data is same as in first read.
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.4. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: The 12 MB data read after cache cleared is correct.
Title: ASSERTION: WRITE (6) Basic Functionality Test
Description: The command writes one block of data to device correctly. This test compares the data we want to write and the data returned by the READ after the write operation. If the data is the same, this implies that the WRITE command writes the data to disk correctly.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.30.
Expectation: ScsiStatus == 0x0
Title: ASSERTION: WRITE (6) Sequential Write Test
Description: The command writes 1000 sequential blocks of data correctly.This test sends the command 1000 times, writing data sequentially starting at a random logical block addresses.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.30.
Expectation: All WRITE (6) commands succeed.
Title: ASSERTION: WRITE (6) Random Write Test
Description: The command writes 1000 random blocks of data correctly.This test sends the WRITE command 1000 times, writing data at random logical block addresses.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.30.
Expectation: All WRITE (6) commands succeed.
Title: ASSERTION: WRITE (6) Write-With-Disk-Cache-Enabled Test
Description: The command writes 12 MB of data correctly with cache enabled.This test writes 12 MB of data to disk. Then it sends a SYNCHRONIZE CACHE (10) command to synchronize the logical block address in cache with the ones in disk. Finally, it will read the same 12 MB data that has just been written to verify that the data we just wrote are correct.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.30.
Expectation: The 12 MB data are written correctly.
Title: ASSERTION: WRITE (6) Write-With-Disk-Cache-Disabled Test
Description: The command writes 12 MB of data correctly with cache disabled.This test writes 12 MB of data to disk. Then it reads the same 12 MB data that has just been written to verify that the data we just wrote are correct.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.30.
Expectation: The 12 MB data are written correctly.
Title: ASSERTION: INQUIRY Basic Verification Test
Description: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes in response to the INQUIRY command with ALLOCATION LENGTH field set to 255 (0xFF) bytes. The ALLOCATION LENGTH field specifies the maximum number of bytes that an application client has allocated for returned data.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes.
Title: ASSERTION: INQUIRY Test for error when PAGE CODE field is nonzero and EVPD=0
Description: Checking that an error is returned when PAGE CODE field is nonzero and EVPD=0.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x2, CHECK CONDITION
Title: ASSERTION: INQUIRY Retrieving standard inquiry data
Description: Checking whether we can retrieve standard inquiry data.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, GOOD
Title: ASSERTION: INQUIRY Checking size of standard inquiry data
Description: Standard INQUIRY data shall contain at least 36 bytes.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Data Transfer Length >= 36 bytes
Title: ASSERTION: INQUIRY Testing device type field
Description: Checking device type field to ensure it is a direct-access device.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Device Type == 0x0, Direct-access device
Title: ASSERTION: INQUIRY Testing peripheral qualifier field
Description: Checking Peripheral Qualifier field.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Peripheral qualifier field == 0
Title: ASSERTION: INQUIRY VERSION Field Test
Description: The device must return a valid VERSION field of 0x4, 0x5 or 0x6.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: VERSION is 0x4 (SPC-2) or later for non-SCSI bus type and VERSION is 0x3 (SPC)or later for SCSI bus type.
Title: ASSERTION: INQUIRY Checking RESPONSE DATA FORMAT
Description: Checking that RESPONSE DATA FORMAT == 2.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: RESPONSE DATA FORMAT == 2
Title: ASSERTION: INQUIRY Checking additional length
Description: Checking additional length field is correct.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Additional Length field == Total Data size - 5
Title: ASSERTION: INQUIRY Checking VENDOR IDENTIFICATION field
Description: Checking that VENDOR IDENTIFICATION field contains valid ASCII.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: VENDOR IDENTIFICATION field contains valid ASCII.
Title: ASSERTION: INQUIRY Checking PRODUCT IDENTIFICATION field
Description: Checking that PRODUCT IDENTIFICATION field contains valid ASCII.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: PRODUCT IDENTIFICATION field contains valid ASCII.
Title: ASSERTION: INQUIRY Checking PRODUCT REVISION LEVEL field
Description: Checking that PRODUCT REVISION LEVEL field contains valid ASCII.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: PRODUCT REVISION LEVEL field contains valid ASCII.
Title: ASSERTION: INQUIRY Command Support Data Tes.
Description: The device must set the HiSup bit in the Standard Inquiry Data.
Reference: SCSI Architecture Model - 3 (SAM-3) Revision 14 (or later) specification Section 4.9.2 https://www.t10.org/ftp/t10/drafts/sam3/sam3r14.pdf
Expectation: HiSup bit is set in Standard Inquiry Data.
Title: ASSERTION: INQUIRY Checking for Supported Vital Product Pages
Description: Checking to see whether Vital Product Pages are supported.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.4. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: List of Supported Vital Product Data Pages is returned.
Title: ASSERTION: INQUIRY Testing access to each supported Vital Product Data Page
Description: Attempting to access each supported Vital Product Data Page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.4. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Each supported page is accessible (up to 255 bytes).
Title: ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80
Description: Checking whether Unit Serial Number Page 0x80 is supported and is valid ASCII.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 7.6.10. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0 and result is valid ASCII.
Title: ASSERTION: INQUIRY Attempting Device identification Page 0x83
Description: Checking whether Device identification Page 0x83 is supported.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 7.6.3. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: INQUIRY Checking Identification Descriptors in VPD page 0x83
Description: Checking that Identification Descriptors contain meaningful data.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 7.6.3. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: All descriptors are compliant and contain meaningful data.
Title: ASSERTION: INQUIRY Checking Version Descriptors
Description: Checking that Version Descriptors are compliant.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Version descriptors exist.
Title: ASSERTION: INQUIRY Checking RMB bit
Description: For devices into which we can't insert/remove media, example: UFD, RMB bit should be set to 0. For devices into which we can insert/remove media, example: USB card reader, RMB bit should be set to 1. This test is run only on removable storage devices.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Correct value for RMB bit depending on the device.
Title: ASSERTION: MODE SELECT (6) Basic Test
Description: Checking to see whether a simple MODE SELECT command, with PF and SP == 0, passes.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 6: MODE SENSE (6) Attempting to get Caching mode page
Description: Checking to see whether a simple MODE SENSE command on Page 0x08 will return GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 6: MODE SENSE (6) Checking Parameters Savable (PS bit).
Description: Checking to see whether Parameters Savable bit for the Caching Mode Page is 1.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: PS == 1
Title: MODE SELECT 6: MODE SENSE (6) Checking Mode Parameter Header
Description: Verify that MediumType == 0 and BlockDescriptorLength == 0.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: MediumType == 0x0 and BlockDescriptorLength == 0x0
Title: MODE SELECT 6: MODE SENSE (6) Checking Caching Mode Page Length
Description: Checking that the Caching Mode Page is 20 bytes.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: cachePageLength == 20 bytes
Title: MODE SELECT 6: MODE SENSE (6) Getting Changeable values
Description: Saving away Changeable Values for Caching Mode Page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 6: MODE SENSE (6) Getting default values
Description: Saving away Default Values for Caching Mode Page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT (6) Changing WCE.
Description: Applying MODE SELECT to WCE=0 for the device.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 6: MODE SENSE (6) Checking that WCE has been cleared
Description: Checking that the previous MODE SELECT command actually changed the current mode parameters.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: WCE is clear.
Title: MODE SELECT 6: MODE SENSE (6) Checking that Saved Values have changed
Description: Checking that the previous MODE SELECT command actually changed the saved mode parameters.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Saved values have changed.
Title: MODE SELECT (6) setting WCE
Description: Applying MODE SELECT to set WCE.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 6: MODE SENSE (6) Checking that WCE has been set.
Description: Checking that the previous MODE SELECT command actually set WCE.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Current values have been set.
Title: MODE SELECT (6) Attempting to restore original values.
Description: Testing whether MODE SELECT can return the Caching Mode Page values to their original values.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 6: MODE SENSE (6) Verifying values were restored.
Description: Checking that the values were restored in the Caching Mode Page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Current values equal default values.
Title: ASSERTION: RESERVE (6) Support Test
Description: Checking that the Reserve Command is supported and returns GOOD status.
Reference: Refer to SPC-2 (SCSI Primary Commands - 2) specification Section 7.22.
Expectation: Scsi Status is 0x0.
Title: ASSERTION: RELEASE (6) Support Test
Description: Checking that the Release Command is supported and returns GOOD status.
Reference: Refer to SPC-2 (SCSI Primary Commands - 2) specification Section 7.17.
Expectation: Scsi Status is 0x0.
Title: ASSERTION: MODE SENSE (6) Basic Test
Description: Checking that a simple MODE SENSE command on Page 0x3f will return GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: MODE SENSE (6) Checking size of returned data
Description: Checking that we receive a minimum amount of data (that is, at least the MODE PARAMETER HEADER).
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Data Transfer Length >= 4 bytes
Title: ASSERTION: MODE SENSE (6) Checking MODE PARAMETER HEADER
Description: Checking that the MODE PARAMETER HEADER length information is valid.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ModeDataLength = Data Transfer Length - 1 = -1 bytes
Title: MODE SENSE (6) Test DBD (disable block descriptors) bit
Description: Testing to make sure that, when DBD bit is set, no block descriptors are returned.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Block Descriptor Length = 0
Title: MODE SENSE (6) Testing new data length when DBD bit is set
Description: Testing that new data length should equal old data length minus block descriptor length.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: New Data Length = Old Data Length
Title: MODE SENSE (6) Comparing MODE PAGE data before and after DBD bit is set
Description: Testing that page data is the same before and after DBD bit is set.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Page data will match.
Title: MODE SENSE (6) Testing Page Control Field
Description: Testing different values of the Page control field, and enforcing the size of the data returned.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Data length for each value of PC is correct.
Title: MODE SENSE (6) Scanning All Mode Pages
Description: Checking Mode Page 0x3f data to examine supported mode pages.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: To find supported mode pages: Information Exception control mode page and Caching mode page.
Title: MODE SENSE (6) Ensuring mandatory mode pages are supported
Description: Checking that required mode pages are present in MODE PAGE 0x3f.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Caching and Informational Exception pages are supported, at a minimum.
Title: MODE SENSE (6) Checking Individual Mode Pages
Description: Testing to ensure we can access each individual mode page, and that the paremeters are correct
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Pages should be returned and the headers should be compliant.
Title: MODE SENSE (6) Checking Informational Exception Mode Page
Description: Ensuring Informational Exception mode page is compliant.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Power Condition mode page is supported.
Title: MODE SENSE (6) Checking Power Condition Mode Page
Description: Ensuring Power Condition mode page is compliant.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Informational Exception mode page is supported.
Title: MODE SENSE (6) Checking Caching Mode Page.
Description: Ensuring Caching mode page is compliant.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Caching mode page is supported.
Title: MODE SENSE (6) Checking Device Specific Parameters
Description: Tests whether the Device specific parameters are supported.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.9 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Nothing.
Title: ASSERTION: START STOP UNIT Basic Test 1
Description: Sending StartStopUnit with IMMED=0, LOEJ=0, START=0, expect no action
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: START STOP UNIT Basic Test 2
Description: Sending StartStopUnit with IMMED=0, LOEJ=0, START=1, expect no action.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: START STOP UNIT Basic Test 3
Description: Sending StartStopUnit with IMMED=1, LOEJ=0, START=0, expect no action.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: START STOP UNIT Basic Test 4
Description: Sending StartStopUnit with IMMED=1, LOEJ=0, START=1, expect no action.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: START STOP UNIT unload test with IMMED bit clear
Description: Sending StartStopUnit with IMMED=0, LOEJ=1, START=0, medium should be unloaded.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: SCSI status is 0x2 (CHECK).
Title: ASSERTION: START STOP UNIT load test with IMMED bit clear
Description: Sending StartStopUnit with IMMED=0, LOEJ=1, START=1, medium should be loaded.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: START STOP UNIT unload test with IMMED bit set
Description: Sending StartStopUnit with IMMED=1 LOEJ=1, START=0, medium should be unloaded.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: START STOP UNIT load test with IMMED bit set
Description: Sending StartStopUnit with IMMED=1 LOEJ=1, START=0, medium should be loaded.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.17 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: RECEIVE DIAGNOSTIC RESULTS Page Code Valid Test
Description: On receiving this command without a prior Send Diagnostic results command, device should not go into bad state.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.18 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: RECEIVE DIAGNOSTIC RESULTS Page Code Test
Description: Device should return the diagnostic pages specified in the PAGE CODE field, which are the control mode page and informational exception control mode page .
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.18 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return diagnostic page for the page asked.
Title: ASSERTION: SEND DIAGNOSTIC RESULTS Page Basic Verification Test
Description: Logical units that support this command shall implement, at a minimum, the default self-test feature.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.28 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: SEND DIAGNOSTIC RESULTS Background Short self-test
Description: The device shall start its short self-test in the background mode followed by a response to receive diagnostic results command. Device shall ignore DEVOFFL bit and UNITOFFL bit.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.28 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: SEND DIAGNOSTIC RESULTS Background Extended self-test
Description: The device shall start its Extended self-test in the background mode followed by a response to receive diagnostic results command.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.28 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: SEND DIAGNOSTIC RESULTS Abort Background self-test
Description: The device shall abort the current self-test running in background mode.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.28 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: SEND DIAGNOSTIC RESULTS Foreground Short self-test
Description: The device shall start its short self-test in the foreground mode followed by a response to receive diagnostic results command.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.28 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: SEND DIAGNOSTIC RESULTS Foreground Extended self-test
Description: The device shall start its Extended self-test in the foreground mode followed by a response to receive diagnostic results command.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.28 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: PREVENT ALLOW MEDIUM REMOVAL prevent bit set test
Description: Sending Prevent Allow Medium Removal with prevent bit set to 01.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.13 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status if it supports CDB, else return CHECH CONDITION andset sense key/ASC/ASCQ to 5/20/0 accordingly.
Title: ASSERTION: PREVENT ALLOW MEDIUM REMOVAL prevent bit clear test
Description: Sending Prevent Allow Medium Removal with prevent bit set to 00.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.13 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: READ CAPACITY (10) Basic Verification Test
Description: The device must return GOOD (0x0) SCSI status and 8 bytes of parameter data describing the capacity and medium format of the block device to the data-in buffer.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.10 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: READ CAPACITY (10) PMI Test
Description: Send a READ CAPACITY command with the Partial Medium Indicator (PMI) set to 1. It indicates that the RETURNED LOGICAL BLOCK ADDRESS and BLOCK LENGTH IN BYTES are those of the last logical block address before a substantial delay in data transer may be encountered.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.10 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The returned LOGICAL BLOCK ADDRESS shall be greater than or equal to the logical block address specified by the RELADR and LOGICAL BLOCK ADDRESS fields in the command descriptor block.
Title: ASSERTION: READ CAPACITY (10) Negative Test
Description: Send a READ CAPACITY command with the Partial Medium Indicator (PMI) bit zero but the LOGICAL BLOCK ADDRESS non-zero.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.10 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device should return a CHECK CONDITION (2h) status and the sense key be set to ILLEGAL REQUEST with the additional sense code set to ILLEGAL FIELD IN CDB (24h).
Title: ASSERTION: READ (10) Basic Functionality Test
Description: The command reads the first two blocks of data correctly.This test sends two READ commands reading two different but overlapped blocks of data. Then it compares the overlapped data. It returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly).
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.5. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: Scsi Status == 0x0
Title: ASSERTION: READ (10) Sequential Read Test
Description: The command reads 1000 sequential blocks of data correctly.This test sends the command 1000 times, reading data sequentially starting at a random logical block addresses.
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.5. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: All READ (10) commands succeed.
Title: ASSERTION: READ (10) Random Read Test
Description: The command reads 1000 random blocks of data correctly.This test sends the command 1000 times, reading data at random logical block addresses.
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.5. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: All READ (10) commands succeed.
Title: ASSERTION: READ (10) Read-With-Disk-Cache-Cleared Test
Description: The command reads 12 MB of data correctly with disk cache cleared.This test first reads 12 MB sequential data for later verification. Then, it clears the disk cache by reading 12 MB random data. Finally, it reads the same 12 MB sequential data to see whether the data is same as the one in first read.
Reference: SCSI-3 Block Commands (SBC) specification Revision 8c Section 6.1.5. https://www.t10.org/ftp/t10/drafts/sbc/sbc-r08c.pdf
Expectation: The 12 MB data read after cache cleared is correct.
Title: ASSERTION: WRITE (10) Basic Functionality Test
Description: The command writes one block of data to device correctly.This test compares the data we want to write and the data returned by the READ after the write operation. If the data is the same, this implies that the WRITE command writes the data to disk correctly.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.31.
Expectation: ScsiStatus == 0x0
Title: ASSERTION: WRITE (10) Sequential Write Test
Description: The command writes 1000 sequential blocks of data correctly.This test sends the command 1000 times, writing data sequentially starting at a random logical block addresses.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.31.
Expectation: All WRITE (10) commands succeed.
Title: ASSERTION: WRITE (10) Random Write Test
Description: The command writes 1000 random blocks of data correctly.This test sends the WRITE command 1000 times, writing data at random logical block addresses.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.31.
Expectation: All WRITE (10) commands succeed.
Title: ASSERTION: WRITE (10) Write-With-Disk-Cache-Enabled Test
Description: The command writes 12 MB of data correctly with cache enabled.This test writes 12 MB of data to disk. Then it sends a SYNCHRONIZE CACHE (10) command to synchronize the logical block address in cache with the ones in disk. Finally, it will read the same 12 MB data that has just been written to verify that the data we just wrote are correct.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.31.
Expectation: The 12 MB data are written correctly.
Title: ASSERTION: WRITE (10) Write-With-Disk-Cache-Disabled Test
Description: The command writes 12 MB of data correctly with cache disabled.This test writes 12 MB of data to disk. Then it reads the same 12 MB data that has just been written to verify that the data we just wrote are correct.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.31.
Expectation: The 12 MB data are written correctly.
Title: ASSERTION: WRITE (10) FUA Test
Description: The command writes data to disk correctly with cache and Force Unit Access (FUA) on.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.31.
Expectation: Data is written correctly to disk with FUA on. Checksums of all WRITE (10) are correct.
Title: ASSERTION: MODE SELECT (10) Basic Test
Description: Checking that a simple MODE SELECT command, with PF and SP == 0, passes.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 10: MODE SENSE (10) Attempting to get Caching mode page
Description: Checking that a simple MODE SENSE command on Page 0x08 will return GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 10: MODE SENSE (10) Checking Parameters Savable (PS bit).
Description: Checking that Parameters Savable bit for the Caching Mode Page is 1.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: PS == 1
Title: MODE SELECT 10: MODE SENSE (10) Checking Mode Parameter Header
Description: Verify that MediumType == 0 and BlockDescriptorLength == 0.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: MediumType == 0x0 and BlockDescriptorLength == 0x0.
Title: MODE SELECT 10: MODE SENSE (10) Checking Caching Mode Page Length
Description: Checking that the Caching mode page is 20 bytes.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: cachePageLength == 20 bytes
Title: MODE SELECT 10: MODE SENSE (10) Getting Changeable values
Description: Saving away Changeable Values for Caching mode page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 10: MODE SENSE (10) Getting default values
Description: Saving away Default Values for Caching mode page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT (10) Changing WC.
Description: Applying MODE SELECT to WCE=0 for the device.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 10: MODE SENSE (10) Checking that WCE has been cleared
Description: Checking that the previous MODE SELECT command actually changed the current mode parameters.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: WCE is clear.
Title: MODE SELECT 10: MODE SENSE (10) Checking that Saved Values have changed
Description: Checking that the previous MODE SELECT command actually changed the saved mode parameters.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Saved values have changed.
Title: MODE SELECT (10) setting WCE
Description: Applying MODE SELECT to set WCE.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 10: MODE SENSE (10) Checking that WCE has been set
Description: Checking that the previous MODE SELECT command actually set WCE.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Current values have been set.
Title: MODE SELECT (10) Attempting to restore original values
Description: Testing MODE SELECT can return the Caching mode page values to their original values.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: MODE SELECT 10: MODE SENSE (10) Verifying values were restored
Description: Checking that the values were restored in the Caching mode page.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Current values equal default values.
Title: ASSERTION: RESERVE (10) Support Test
Description: Checking that the Reserve (10) Command is supported and returns GOOD status.
Reference: Refer to SPC-2 (SCSI Primary Commands - 2) specification Section 7.21.
Expectation: Scsi Status is 0x0.
Title: ASSERTION: RELEASE (10) Support Test
Description: Checking that the Release (10) Command is supported and returns GOOD status.
Reference: Refer to SPC-2 (SCSI Primary Commands - 2) specification Section 7.16.
Expectation: Scsi Status is 0x0.
Title: ASSERTION: MODE SENSE (10) Basic Test
Description: Checking that a simple MODE SENSE10 command on Page 0x3f will return GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: MODE SENSE (10) Checking size of returned data
Description: Checking that we receive a minimum amount of data (that is, at least the MODE PARAMETER HEADER).
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Data Transfer Length >= 8 bytes
Title: ASSERTION: MODE SENSE (10) Checking MODE PARAMETER HEADER
Description: Checking that the MODE PARAMETER HEADER length information is valid.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ModeDataLength = Data Transfer Length - 2 = -2 bytes
Title: MODE SENSE (10) Test DBD (disable block descriptors) bit
Description: Testing that, when DBD bit is set, no block descriptors are returned.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Block Descriptor Length = 0
Title: MODE SENSE (10) Comparing MODE PAGE data before and after DBD bit is set
Description: Testing that page data is the same before and after DBD bit is set.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Page data will match.
Title: MODE SENSE (10) Testing Page Control Field
Description: Testing different values of the Page control field, and enforcing the size of the data returned.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Data length for each value of PC is correct and PC=0 and PC=2 return good status.
Title: ASSERTION: PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action REGISTER AND IGNORE EXISTING KEY is supported and returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Support Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS with minimum ALLOCATION LENGTH is supported, returns GOOD status, and appropriate ADDITIONAL LENGTH.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, DataTransferLength == ALLOCATION LENGTH, ADDITIONAL LENGTH != 0, and ADDITIONAL LENGTH == 0.
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Functional Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS with full ALLOCATION LENGTH returns the known key previously registered.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, ADDITIONAL LENGTH == previous ADDITIONAL LENGTH, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : RESERVE Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action RESERVE, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Support Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION with minimum ALLOCATION LENGTH is supported, returns GOOD status, and appropriate ADDITIONAL LENGTH.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, DataTransferLength == ALLOCATION LENGTH, ADDITIONAL LENGTH != 0, and ADDITIONAL LENGTH is mulitple of 8.
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Functional Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION with full ALLOCATION LENGTH returns the known key previously reserved.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, ADDITIONAL LENGTH == previous ADDITIONAL LENGTH, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : RELEASE Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action RELEASE, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION returns list without previously released key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list does not contain known key.
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list with previously registered key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list still contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : REGISTER Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action REGISTER is supported and returns GOOD status when SERVICE ACTION RESERVATION KEY = 0.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list without previously unregistered key or null key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list does not contain known key, list does not contain the null key.
Title: ASSERTION: PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action REGISTER AND IGNORE EXISTING KEY with APTPL = 1 returns GOOD status or CHECK CONDITION with ILLEGAL REQUEST.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list with registered key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : RESERVE Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action RESERVE, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION returns list with previously reserved key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : CLEAR Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action CLEAR, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Verification Test
Description: Checking to see if the PERSISTENT RESERVE IN with service action READ RESERVATION returns list without previously cleared key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list does not contain known key.
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list without previously cleared key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list does not contain known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action REGISTER AND IGNORE EXISTING KEY is supported and returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list with registered key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : RESERVE Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action RESERVE, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION returns list with previously reserved reservation with current initiator's key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : PREEMPT Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action PREEMPT, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION returns list without previously preempted key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list does not contain known key.
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list with known key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : PREEMPT AND ABORT Support Test
Description: Checking that the PERSISTENT RESERVE OUT with service action PREEMPT AND ABORT, LU_SCOPE, Write Exclusive - Registrants Only, and previously registered key returns GOOD status.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.12 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: PERSISTENT RESERVE IN : READ RESERVATION Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ RESERVATION returns list with known key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE IN : READ KEYS Verification Test
Description: Checking that the PERSISTENT RESERVE IN with service action READ KEYS returns list with known key.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0, list contains known key.
Title: ASSERTION: PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test
Description: Clean up test environment for latter test.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.11 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: ScsiStatus == 0x0
Title: ASSERTION: READ (16) Support Test
Description: Verify that the device supports the READ (16) command.This test issues a simple READ (16) command and checks whether the return code is 0x2 (meaning not supported).
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.10.
Expectation: Scsi Status is 0x0.
Title: ASSERTION: READ (16) Basic Functionality Test
Description: The command reads the first two blocks of data correctly. This test sends two READ commands reading two different but overlapped blocks of data. Then it compares the overlapped data. It returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly).
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.10.
Expectation: Scsi Status is 0x0.
Title: ASSERTION: READ (16) Sequential Read Test
Description: The device must read 1000 sequential blocks of data correctly. This test sends the command 1000 times, reading data sequentially starting at a random logical block address.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.10.
Expectation: All READ (16) commands succeed.
Title: ASSERTION: READ (16) Random Read Test
Description: The command reads 1000 random blocks of data correctly.This test sends READ (16) command 1000 times, reading data at random logical block addresses.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.10.
Expectation: All READ (16) commands succeed.
Title: ASSERTION: READ (16) Read-With-Disk-Cache-Cleared Test
Description: The command reads 12 MB of data correctly with disk cache cleared.This test first reads 12 MB sequential data for later verification. Then, it clears the disk cache by reading 12 MB random data. Finally, it reads the same 12 MB sequential data to see if the data is same as the data in the first read.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.10.
Expectation: The 12 MB data read after cache cleared is correct.
Title: ASSERTION: WRITE (16) Support Test
Description: Verify that the device supports the command. This test issues a simple WRITE (16) command and checks whether the return code is 0x2 (Check Condition).
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.33.
Expectation: ScsiStatus == 0x0
Title: ASSERTION: WRITE (16) Basic Functionality Test
Description: The command writes one block of data to device correctly.This test compares the data we want to write and the data returned by the READ after the write operation. If the data are the same, this implies that the WRITE command writes the data to disk correctly.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.33.
Expectation: ScsiStatus == 0x0
Title: ASSERTION: WRITE (16) Sequential Write Test
Description: The command writes 1000 sequential blocks of data correctly.This test sends the command 1000 times, writing data sequentially starting at a random logical block address.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.33.
Expectation: All WRITE (16) commands succeed.
Title: ASSERTION: WRITE (16) Random Write Test
Description: The command writes 1000 random blocks of data correctly.This test sends the WRITE command 1000 times, writing data at random logical block addresses.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.33.
Expectation: All WRITE (16) commands succeed.
Title: ASSERTION: WRITE (16) Write-With-Disk-Cache-Enabled Test
Description: The command writes 12 MB of data correctly with cache enabled.This test writes 12 MB of data to disk. Then it sends a SYNCHRONIZE CACHE (10) command to synchronize the logical block addresses in cache with the ones in disk. Finally, it will read the same 12 MB data that has just been written to verify that the data we just wrote are correct.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.33.
Expectation: The 12 MB data returned by the WRITEs is correct.
Title: ASSERTION: WRITE (16) Write-With-Disk-Cache-Disabled Test
Description: The command writes 12 MB of data correctly with cache disabled.This test writes 12 MB of data to disk. Then, it reads the same 12 MB data that has just been written to verify that the data we just wrote are correct.
Reference: Refer to SBC-2 (SCSI Block Commands) specification revision 8 Section 5.2.33.
Expectation: The 12 MB data are written correctly.
Title: ASSERTION: READ CAPACITY (16) Allocation length test
Description: The device must return GOOD (0x0) SCSI status and even though allocation length is set to 0 value.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.11 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI statu.s
Title: ASSERTION: READ CAPACITY (16) Basic Verification Test
Description: The device must return GOOD (0x0) SCSI status and 8 bytes of parameter data describing the capacity and medium format of the block device to the data-in buffer.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.11 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device must return GOOD (0x0) SCSI status.
Title: ASSERTION: READ CAPACITY (16) PMI Test
Description: Send a READ CAPACITY command with the Partial Medium Indicator (PMI) set to 1. It indicates that the RETURNED LOGICAL BLOCK ADDRESS and BLOCK LENGTH IN BYTES are those of the last logical block address before a substantial delay in data transer may be encountered.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.11 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The returned LOGICAL BLOCK ADDRESS shall be greater than or equal to the logical block address specified by the RELADR and LOGICAL BLOCK ADDRESS fields in the command descriptor block.
Title: ASSERTION: READ CAPACITY (16) Negative Test
Description: Send a READ CAPACITY command with the Partial Medium Indicator (PMI) bit zero but the LOGICAL BLOCK ADDRESS non-zero.
Reference: SCSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.11 https://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf
Expectation: The device should return a CHECK CONDITION (2h) status and the sense key be set to ILLEGAL REQUEST with the additional sense code set to ILLEGAL FIELD IN CDB (24h).
Title: ASSERTION: REPORT LUNS Basic Verification Test
Description: Attempts to find the LUN 0 corresponding to D.U.T. and execute the REPORT LUNS command. This test will only send REPORT LUNS to LUN 0 at the current target address per SAM-3. This test will only issue a request with SELECT REPORT set to zero per SPC-3.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.21 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes.
Title: ASSERTION: REPORT LUNS LUN0 Test
Description: This test will only send REPORT LUNS to LUN 0 at the current target address per SAM-3. This test will only issue a request with SELECT REPORT set to zero per SPC-3.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.21 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes.
Title: ASSERTION: REPORT LUNS Data valid Test
Description: This test will only send REPORT LUNS to LUN 0 at the current target address per SAM-3. This test will only issue a request with SELECT REPORT set to zero per SPC-3.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.21 https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Each reported LUN uses single level numbers restricted to less than or equal to 255.
Title: ASSERTION: SECURITY PROTOCOL OUT Basic Test
Description: This test sends SPOUT command to device unit before sending SPIN next.
Reference: SCSI Primary Commands - 4 (SPC-4) Revision 17 (or published) specification Section 6.31 https://www.t10.org/ftp/t10/drafts/spc4/spc4r17.pdf
Expectation: Devices that understand IEEE 1667 silo commands must return GOOD (0x0) SCSI status and devices that don't can return check condition.
Title: ASSERTION: SECURITY PROTOCOL IN Basic Test
Description: This test sends SPIN command followed by test unit ready to check whether device is in bad state to accept further commands.
Reference: SCSI Primary Commands - 4 (SPC-4) Revision 17 (or published) specification Section 6.30 https://www.t10.org/ftp/t10/drafts/spc4/spc4r17.pdf
Expectation: Devices that understand IEEE 1667 silo commands must return GOOD (0x0) SCSI status and devices that don't can return check condition and then respond to TUR with GOOD SCSI status.
Title: ASSERTION: REPORT TARGET PORT GROUPS Basic Verification Test
Description: Check whether test can get target port groups information with this command.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.25. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Scsi status == 0
Title: ASSERTION: REPORT TARGET PORT GROUPS Response Data Format Test
Description: Check whether test can get target port groups information in valid format with this command.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.25. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Response Data Format is correct.
Title: ASSERTION: SET TARGET PORT GROUPS Check Information can be Set
Description: Check whether test can set target port groups information with this command. Get target port groups information; then set target port groups; read target port groups information to do comparison.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.31. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: Group Information is set. SCSI status should be 0 or sense code should be 2A/06 for Report Target Port Group CDB after setting.
Title: ASSERTION: REPORT SUPPORTED OP CODES with RTCD clear
Description: This test requests information on commands the addressed logical unit supports; command timeouts descriptor shall not be included in any parameter data returned.This test is run only on USB devices.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status along with all supported op codes in requested format.
Title: ASSERTION: REPORT SUPPORTED OP CODES with RTCD set
Description: This test requests information on commands the addressed logical unit supports; command timeouts descriptor shall be included in each command descriptor that is returned in parameter data. This test is run only on USB devices.
Reference: SCSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.2. https://www.t10.org/ftp/t10/drafts/spc3/spc3r23.pdf
Expectation: The device must return GOOD (0x0) SCSI status along with all supported op codes in requested format.
Build date: 9/14/2012