You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looking to confirm behavior, as I believe this is a bug. Tested libspdm tag 3.2.0 + spdm responder validator tag 3.2.0
Tests 2, 3, 6, and 7 incorrectly omit tests depending what versions are specified. When version 1.0 is removed as a supported version, the negotiation step correctly identifies this and skips the 1.0 only tests, but fails to reset properly when negotiating for 1.0+ tests. The same pattern happens for tests if only 1.2 is supported and 1.1 checks are skipped.
Example, spdm_test_case_capabilities_version_mismatch: SPDM Version: 1.0+
SPDM 1.0 + 1.1:
test group 2 (spdm_test_group_capabilities) - pass: 38, fail: 0
test case 2.1 (spdm_test_case_capabilities_success_10) - pass: 4, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 10, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 9, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 15, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 0, fail: 0
SPDM 1.1 only:
test group 2 (spdm_test_group_capabilities) - pass: 24, fail: 0
test case 2.1 (spdm_test_case_capabilities_success_10) - pass: 0, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 0, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 9, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 15, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 0, fail: 0
SPDM 1.1 + 1.2:
test group 2 (spdm_test_group_capabilities) - pass: 55, fail: 0
test case 2.1 (spdm_test_case_capabilities_success_10) - pass: 0, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 0, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 9, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 20, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 11, fail: 0
Modifying the tests to omit spdm_test_case_capabilities_success_10 from being considered:
test group 2 (spdm_test_group_capabilities) - pass: 65, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 10, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 9, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 20, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 11, fail: 0
We get proper output for the 1.1 + 1.2 and 1.1 only cases:
1.1 only
test group 2 (spdm_test_group_capabilities) - pass: 44, fail: 0
test case 2.1 (spdm_test_case_capabilities_success_10) - pass: 0, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 10, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 9, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 15, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 0, fail: 0
1.1+1.2
test group 2 (spdm_test_group_capabilities) - pass: 65, fail: 0
test case 2.1 (spdm_test_case_capabilities_success_10) - pass: 0, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 10, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 9, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 20, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 11, fail: 0
test group 2 (spdm_test_group_capabilities) - pass: 26, fail: 0
test case 2.1 (spdm_test_case_capabilities_success_10) - pass: 0, fail: 0
test case 2.2 (spdm_test_case_capabilities_version_mismatch) - pass: 0, fail: 0
test case 2.3 (spdm_test_case_capabilities_success_11) - pass: 0, fail: 0
test case 2.4 (spdm_test_case_capabilities_invalid_request) - pass: 0, fail: 0
test case 2.5 (spdm_test_case_capabilities_success_12) - pass: 11, fail: 0
The teardown flow goes through libspdm_init_context_with_secured_context which should be resetting the version, but does not appear to be doing so correctly.
The text was updated successfully, but these errors were encountered:
Looking to confirm behavior, as I believe this is a bug. Tested libspdm tag 3.2.0 + spdm responder validator tag 3.2.0
Tests 2, 3, 6, and 7 incorrectly omit tests depending what versions are specified. When version 1.0 is removed as a supported version, the negotiation step correctly identifies this and skips the 1.0 only tests, but fails to reset properly when negotiating for 1.0+ tests. The same pattern happens for tests if only 1.2 is supported and 1.1 checks are skipped.
Example, spdm_test_case_capabilities_version_mismatch: SPDM Version: 1.0+
Modifying the tests to omit spdm_test_case_capabilities_success_10 from being considered:
By resetting supported SPDM versions:
We get proper output for the 1.1 + 1.2 and 1.1 only cases:
1.1 only
1.1+1.2
Extended example: spdm_test_case_capabilities_invalid_request, SPDM Version: 1.1+
1.2 only
The teardown flow goes through libspdm_init_context_with_secured_context which should be resetting the version, but does not appear to be doing so correctly.
The text was updated successfully, but these errors were encountered: