TCG Storage Opal Test Suites

Introduction

Based on Peanut script language and Peanut NVMe extension module, two test suites are developed for TCG Storage Opal/Pyrite SSCs tests.

The Opal Family Test Cases Suite is a set of baseline functional tests on use cases, and the Opal Test Cases Suite is devised for protocol tests.

Opal Family Test Cases Suite

TCG storage specifications refered:

Sample Script and Log

Script: UCT-04: Activate Locking SP when in Manufactured-Inactive State
Log: UCT-04: Activate Locking SP when in Manufactured-Inactive State

Opal Test Cases Suite

Refered specifications:

Sample Script and Log

Script: A7. Transaction
Log: A7. Transaction

Test Logs

All test cases of the test suites list payload data and testing flows in details. And it is worth to mention that the header and payload data of the communication packets are displayed in an intuitive structured layout for users to identify the payload data's relationship easily.

            
Host -> TPer: Get Method
ComPacket Header
    0: 00000000 (Reserved)
    4: 7FFE (ComID)
    6: 0000 (ComID Extension)
    8: 00000000 (OutstandingData)
    C: 00000000 (MinTransfer)
   10: 00000048 (Length (n))
Packet Header
   14: 00001001 (Session (TSN))
   18: 00000112 (Session (HSN))
   1C: 00000000 (SeqNumber)
   20: 0000 (Reserved)
   22: 0000 (AckType)
   24: 00000000 (Acknowledgement)
   28: 00000030 (Length (n))
SubPacket Header
   2C: 000000000000 (Reserved)
   32: 0000 (Kind)
   34: 00000021 (Length (n))
SubPacket Payload
   38: F8 (Call)
   39: A8 00 00 00 01 00 00 02 05 (SP)
   42: A8 00 00 00 06 00 00 00 16 (Get)
   4B: F0 (StartList)
   4C:     F0 (StartList)
   4D:         F2 (StartName)
   4E:             03
   4F:             00
   50:         F3 (EndName)
   51:     F1 (EndList)
   52: F1 (EndList)
   53: F9 (EndOfData)
   54: F0 (StartList)
   55:     00 (SUCCESS)
   56:     00
   57:     00
   58: F1 (EndList)
   59: 00
   5A: 00
   5B: 00

TPer -> Host: Response
ComPacket Header
    0: 00000000 (Reserved)
    4: 7FFE (ComID)
    6: 0000 (ComID Extension)
    8: 00000000 (OutstandingData)
    C: 00000000 (MinTransfer)
   10: 00000070 (Length (n))
Packet Header
   14: 00001001 (Session (TSN))
   18: 00000112 (Session (HSN))
   1C: 00000000 (SeqNumber)
   20: 0000 (Reserved)
   22: 0000 (AckType)
   24: 00000000 (Acknowledgement)
   28: 00000058 (Length (n))
SubPacket Header
   2C: 000000000000 (Reserved)
   32: 0000 (Kind)
   34: 0000004A (Length (n))
SubPacket Payload
   38: F0 (StartList)
   39:     F0 (StartList)
   3A:         F2 (StartName)
   3B:             00
   3C:             A8 00 00 00 01 00 00 02 05  (SP)
   45:         F3 (EndName)
   46:         F2 (StartName)
   47:             01
   48:             A2 53 50  (SP)
   4B:         F3 (EndName)
   4C:         F2 (StartName)
   4D:             02
   4E:         F3 (EndName)
   4F:         F2 (StartName)
   50:             03
   51:         F3 (EndName)
   52:         F2 (StartName)
   53:             04
   54:             01
   55:         F3 (EndName)
   56:         F2 (StartName)
   57:             05
   58:         F3 (EndName)
   59:         F2 (StartName)
   5A:             06
   5B:             08
   5C:         F3 (EndName)
   5D:         F2 (StartName)
   5E:             07
   5F:             02
   60:         F3 (EndName)
   61:         F2 (StartName)
   62:             08
   63:         F3 (EndName)
   64:         F2 (StartName)
   65:             09
   66:         F3 (EndName)
   67:         F2 (StartName)
   68:             0A
   69:         F3 (EndName)
   6A:         F2 (StartName)
   6B:             0B
   6C:             02
   6D:         F3 (EndName)
   6E:         F2 (StartName)
   6F:             0C
   70:             02
   71:         F3 (EndName)
   72:         F2 (StartName)
   73:             0D
   74:             00
   75:         F3 (EndName)
   76:         F2 (StartName)
   77:             0E
   78:             00
   79:         F3 (EndName)
   7A:     F1 (EndList)
   7B: F1 (EndList)
   7C: F9 (EndOfData)
   7D: F0 (StartList)
   7E:     00  (SUCCESS)
   7F:     00
   80:     00
   81: F1 (EndList)
   82: 00
   83: 00