From 887252612b217e49e3dd447644b372c2bdea9aae Mon Sep 17 00:00:00 2001 From: Will Marone Date: Mon, 16 Dec 2024 12:45:37 -0800 Subject: [PATCH] Update test case 1 (Version) to support SPDM 1.3 This updates test case 1 to check for and confirm report of SPDM 1.3 in GET_VERSION. * Minor change to SPDM version check. * Added check for SPDM 1.3 * Updated test documentation. Signed-off-by: Will Marone --- doc/1.Version.md | 2 +- .../spdm_responder_test_1_version.c | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/doc/1.Version.md b/doc/1.Version.md index 2ea53b6..8f7e76d 100644 --- a/doc/1.Version.md +++ b/doc/1.Version.md @@ -28,5 +28,5 @@ Assertion 1.1.4: SpdmMessage.VersionNumberEntryCount <= (sizeof(SpdmMessage) - offset(VERSION, VersionNumberEntry)) / sizeof(uint16_t) Assertion 1.1.5: - ((SpdmMessage.VersionNumberEntry[i].MajorVersion << 4) + SpdmMessage.VersionNumberEntry[i].MinorVersion) is in {0x10, 0x11, 0x12}. + ((SpdmMessage.VersionNumberEntry[i].MajorVersion << 4) + SpdmMessage.VersionNumberEntry[i].MinorVersion) is in {0x10, 0x11, 0x12, 0x13}. diff --git a/library/spdm_responder_conformance_test_lib/spdm_responder_test_1_version.c b/library/spdm_responder_conformance_test_lib/spdm_responder_test_1_version.c index 12e6230..9c33087 100644 --- a/library/spdm_responder_conformance_test_lib/spdm_responder_test_1_version.c +++ b/library/spdm_responder_conformance_test_lib/spdm_responder_test_1_version.c @@ -100,13 +100,17 @@ void spdm_test_case_version_success (void *test_context) version_number_entry = (void *)(spdm_response + 1); for (index = 0; index < spdm_response->version_number_entry_count; index++) { - version = version_number_entry[index]; - version = version >> SPDM_VERSION_NUMBER_SHIFT_BIT; - if (version == SPDM_MESSAGE_VERSION_10 || version == SPDM_MESSAGE_VERSION_11 || - version == SPDM_MESSAGE_VERSION_12) { - test_result = COMMON_TEST_RESULT_PASS; - } else { - test_result = COMMON_TEST_RESULT_FAIL; + version = version_number_entry[index] >> SPDM_VERSION_NUMBER_SHIFT_BIT; + switch (version) { + case SPDM_MESSAGE_VERSION_10: + case SPDM_MESSAGE_VERSION_11: + case SPDM_MESSAGE_VERSION_12: + case SPDM_MESSAGE_VERSION_13: + test_result = COMMON_TEST_RESULT_PASS; + break; + default: + test_result = COMMON_TEST_RESULT_FAIL; + break; } common_test_record_test_assertion ( SPDM_RESPONDER_TEST_GROUP_VERSION, SPDM_RESPONDER_TEST_CASE_VERSION_SUCCESS_10, 5,