GrpAdminDeleteIOSQCmd::GrpAdminDeleteIOSQCmd(size_t grpNum) : Group(grpNum, "GrpAdminDeleteIOSQCmd", "Admin cmd set delete IOSQ test cases") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_10b: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpAdminDeleteIOSQCmd) APPEND_TEST_AT_YLEVEL(UnsupportRsvdFields_r10b, GrpAdminDeleteIOSQCmd) APPEND_TEST_AT_XLEVEL(InvalidQID_r10b, GrpAdminDeleteIOSQCmd) break; case SPECREV_12: case SPECREV_11: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpAdminDeleteIOSQCmd) APPEND_TEST_AT_YLEVEL(UnsupportRsvdFields_r11b, GrpAdminDeleteIOSQCmd) APPEND_TEST_AT_XLEVEL(InvalidQID_r10b, GrpAdminDeleteIOSQCmd) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpReservationsHostA::GrpReservationsHostA(size_t grpNum) : Group(grpNum, "GrpReservationsHostA", "Reservation Commands HostA") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_10b: break; case SPECREV_12: case SPECREV_121: case SPECREV_13: case SPECREV_11: APPEND_TEST_AT_XLEVEL(CreateResources_r11, GrpReservationsHostA) APPEND_TEST_AT_YLEVEL(RegisterReservation, GrpReservationsHostA) APPEND_TEST_AT_YLEVEL(ReplaceReservation, GrpReservationsHostA) APPEND_TEST_AT_YLEVEL(AcquireReservation, GrpReservationsHostA) APPEND_TEST_AT_YLEVEL(ReleaseReservation, GrpReservationsHostA) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpAdminGetLogPgCmd::GrpAdminGetLogPgCmd(size_t grpNum) : Group(grpNum, "GrpAdminGetLogPgCmd", "Admin cmd set get log page test cases") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_10b: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(PRP1_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(PRP1PRP2_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(UnsupportRrvdFields_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(NUMDIsAdhered_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(InvalidLogPageNVMSet_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(InvalidNamspc_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(MandatoryErrInfo_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(MandatorySMART_r10b, GrpAdminGetLogPgCmd) APPEND_TEST_AT_YLEVEL(MandatoryFW_r10b, GrpAdminGetLogPgCmd) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpInterrupts::GrpInterrupts(size_t grpNum) : Group(grpNum, "GrpInterrupts", "MSI-single, MSI-multi, MSI-X test cases") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_10b: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpInterrupts) APPEND_TEST_AT_YLEVEL(InvalidMSIXIRQ_r10b, GrpInterrupts) APPEND_TEST_AT_YLEVEL(PartialReapMSIX_r10b, GrpInterrupts) APPEND_TEST_AT_YLEVEL(MaxIOQMSIX1To1_r10b, GrpInterrupts) APPEND_TEST_AT_YLEVEL(MaxIOQMSIXManyTo1_r10b, GrpInterrupts) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpNVMDatasetMgmtCmd::GrpNVMDatasetMgmtCmd(size_t grpNum) : Group(grpNum, "GrpNVMDatasetMgmtCmd", "NVM cmd set data set mgmt tests") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_10b: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpNVMDatasetMgmtCmd) APPEND_TEST_AT_YLEVEL(InvalidNamspc_r10b, GrpNVMDatasetMgmtCmd) APPEND_TEST_AT_YLEVEL(UnsupportRsvdFields_r10b, GrpNVMDatasetMgmtCmd) APPEND_TEST_AT_YLEVEL(PRP1PRP2NR_r10b, GrpNVMDatasetMgmtCmd) APPEND_TEST_AT_YLEVEL(Attributes_r10b, GrpNVMDatasetMgmtCmd) APPEND_TEST_AT_YLEVEL(VerifyNUSE_r10b, GrpNVMDatasetMgmtCmd) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpGeneralCmds::GrpGeneralCmds(size_t grpNum) : Group(grpNum, "GrpGeneralCmds", "General command tests.") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_11: case SPECREV_12: case SPECREV_10b: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpGeneralCmds) APPEND_TEST_AT_YLEVEL(IllegalNVMCmds_r10b, GrpGeneralCmds) APPEND_TEST_AT_YLEVEL(IllegalAdminCmds_r10b, GrpGeneralCmds) APPEND_TEST_AT_YLEVEL(CIDAcceptedASQ_r10b, GrpGeneralCmds) APPEND_TEST_AT_XLEVEL(CIDAcceptedIOSQ_r10b, GrpGeneralCmds) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpQueues::GrpQueues(size_t grpNum) : Group(grpNum, "GrpQueues", "Validates general queue functionality") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_11: case SPECREV_12: case SPECREV_121: case SPECREV_13: case SPECREV_10b: APPEND_TEST_AT_XLEVEL(InitialStateAdmin_r10b, GrpQueues) APPEND_TEST_AT_XLEVEL(AdminQRollChkSame_r10b, GrpQueues) APPEND_TEST_AT_XLEVEL(AdminQRollChkDiff_r10b, GrpQueues) APPEND_TEST_AT_XLEVEL(AdminQFull_r10b, GrpQueues) APPEND_TEST_AT_XLEVEL(IllegalCreateOrder_r10b, GrpQueues) APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(IOQRollChkSame_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(IOQRollChkDiff_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(ManySQtoCQAssoc_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(IOQFull_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(ManyCmdSubmit_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(IllegalDeleteQs_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(MaxIOQ_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(SQCQSizeMismatch_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(QIDVariations_r10b, GrpQueues) APPEND_TEST_AT_YLEVEL(IllegalCreateQs_r10b, GrpQueues) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }
GrpNVMReadCmd::GrpNVMReadCmd(size_t grpNum) : Group(grpNum, "GrpNVMReadCmd", "NVM cmd set read cmd tests") { // For complete details about the APPEND_TEST_AT_?LEVEL() macros: // "https://github.com/nvmecompliance/tnvme/wiki/Test-Numbering" and // "https://github.com/nvmecompliance/tnvme/wiki/Test-Strategy switch (gCmdLine.rev) { case SPECREV_10b: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(LBAOutOfRangeBare_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(InvalidNamspc_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(UnsupportRsvdFields_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(ProtInfoIgnoreBare_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(IgnoreMetaPtrBare_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(FUA_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(LimitedRetry_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(IgnoreMetaPtrMeta_r10b, GrpNVMReadCmd) APPEND_TEST_AT_XLEVEL(LBAOutOfRangeMeta_r10b, GrpNVMReadCmd) APPEND_TEST_AT_XLEVEL(ProtInfoIgnoreMeta_r10b, GrpNVMReadCmd) break; case SPECREV_11: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(LBAOutOfRangeBare_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(InvalidNamspc_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(UnsupportRsvdFields_r11b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(ProtInfoIgnoreBare_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(IgnoreMetaPtrBare_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(FUA_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(LimitedRetry_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(IgnoreMetaPtrMeta_r10b, GrpNVMReadCmd) APPEND_TEST_AT_XLEVEL(LBAOutOfRangeMeta_r10b, GrpNVMReadCmd) APPEND_TEST_AT_XLEVEL(ProtInfoIgnoreMeta_r10b, GrpNVMReadCmd) break; case SPECREV_12: APPEND_TEST_AT_XLEVEL(CreateResources_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(LBAOutOfRangeBare_r12, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(InvalidNamspc_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(UnsupportRsvdFields_r11b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(ProtInfoIgnoreBare_r12, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(IgnoreMetaPtrBare_r12, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(FUA_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(LimitedRetry_r10b, GrpNVMReadCmd) APPEND_TEST_AT_YLEVEL(IgnoreMetaPtrMeta_r12, GrpNVMReadCmd) APPEND_TEST_AT_XLEVEL(LBAOutOfRangeMeta_r12, GrpNVMReadCmd) APPEND_TEST_AT_XLEVEL(ProtInfoIgnoreMeta_r12, GrpNVMReadCmd) break; default: case SPECREVTYPE_FENCE: throw FrmwkEx(HERE, "Object created with an unknown SpecRev=%d", gCmdLine.rev); } }