If EFI_SIMPLE_NETWORK.Statistics() is not supported, it will return EFI_UNSUPPORTED. In this case do not expect input parameters to be checked for conformance.
Signed-off-by: Heinrich Schuchardt <[email protected]> --- .../SimpleNetworkBBTestConformance.c | 112 +++++++++++------- 1 file changed, 72 insertions(+), 40 deletions(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestConformance.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestConformance.c index 9d5bec18..ea4a806b 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestConformance.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestConformance.c @@ -1015,10 +1015,19 @@ BBTestStatisticsConformanceTest ( // Call Statistics() function if network interface not start. // StatusBuf[0] = SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable); - if ((StatusBuf[0] == EFI_NOT_STARTED) && (SnpInterface->Mode->State == EfiSimpleNetworkStopped)) { - AssertionType[0] = EFI_TEST_ASSERTION_PASSED; + if (StatusBuf[0] == EFI_UNSUPPORTED) { + StandardLib->RecordMessage( + StandardLib, + EFI_VERBOSE_LEVEL_QUIET, + L"Statistics isn't supported, Status - %r\n", + StatusBuf[0] + ); } else { - AssertionType[0] = EFI_TEST_ASSERTION_FAILED; + if ((StatusBuf[0] == EFI_NOT_STARTED) && (SnpInterface->Mode->State == EfiSimpleNetworkStopped)) { + AssertionType[0] = EFI_TEST_ASSERTION_PASSED; + } else { + AssertionType[0] = EFI_TEST_ASSERTION_FAILED; + } } // @@ -1031,10 +1040,19 @@ BBTestStatisticsConformanceTest ( } StatusBuf[1] = SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable); - if (StatusBuf[1] == EFI_DEVICE_ERROR) { - AssertionType[1] = EFI_TEST_ASSERTION_PASSED; + if (StatusBuf[1] == EFI_UNSUPPORTED) { + StandardLib->RecordMessage( + StandardLib, + EFI_VERBOSE_LEVEL_QUIET, + L"Statistics isn't supported, Status - %r\n", + StatusBuf[1] + ); } else { - AssertionType[1] = EFI_TEST_ASSERTION_FAILED; + if (StatusBuf[1] == EFI_DEVICE_ERROR) { + AssertionType[1] = EFI_TEST_ASSERTION_PASSED; + } else { + AssertionType[1] = EFI_TEST_ASSERTION_FAILED; + } } @@ -1054,45 +1072,59 @@ BBTestStatisticsConformanceTest ( StatisticsSize = 0; StatusBuf[2] = SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable); - if (StatusBuf[2] == EFI_BUFFER_TOO_SMALL || Status == EFI_UNSUPPORTED) { - AssertionType[2] = EFI_TEST_ASSERTION_PASSED; + if (StatusBuf[2] == EFI_UNSUPPORTED) { + StandardLib->RecordMessage( + StandardLib, + EFI_VERBOSE_LEVEL_QUIET, + L"Statistics isn't supported, Status - %r\n", + StatusBuf[2] + ); } else { - AssertionType[2] = EFI_TEST_ASSERTION_FAILED; + if (StatusBuf[2] == EFI_BUFFER_TOO_SMALL || Status == EFI_UNSUPPORTED) { + AssertionType[2] = EFI_TEST_ASSERTION_PASSED; + } else { + AssertionType[2] = EFI_TEST_ASSERTION_FAILED; + } } + if (StatusBuf[0] != EFI_UNSUPPORTED) { + StandardLib->RecordAssertion ( + StandardLib, + AssertionType[0], + gSimpleNetworkBBTestConformanceAssertionGuid014, + L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() when network interface not start.", + L"%a:%d:Status - %r", + __FILE__, + (UINTN)__LINE__, + StatusBuf[0] + ); + } - StandardLib->RecordAssertion ( - StandardLib, - AssertionType[0], - gSimpleNetworkBBTestConformanceAssertionGuid014, - L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() when network interface not start.", - L"%a:%d:Status - %r", - __FILE__, - (UINTN)__LINE__, - StatusBuf[0] - ); - - StandardLib->RecordAssertion ( - StandardLib, - AssertionType[1], - gSimpleNetworkBBTestConformanceAssertionGuid015, - L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() when network interface not initialized.", - L"%a:%d:Status - %r", - __FILE__, - (UINTN)__LINE__, - StatusBuf[1] - ); + if (StatusBuf[1] != EFI_UNSUPPORTED) { + StandardLib->RecordAssertion ( + StandardLib, + AssertionType[1], + gSimpleNetworkBBTestConformanceAssertionGuid015, + L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() when network interface not initialized.", + L"%a:%d:Status - %r", + __FILE__, + (UINTN)__LINE__, + StatusBuf[1] + ); + } - StandardLib->RecordAssertion ( - StandardLib, - AssertionType[2], - gSimpleNetworkBBTestConformanceAssertionGuid017, - L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() with small buffer.", - L"%a:%d:Status - %r", - __FILE__, - (UINTN)__LINE__, - StatusBuf[2] - ); + if (StatusBuf[2] != EFI_UNSUPPORTED) { + StandardLib->RecordAssertion ( + StandardLib, + AssertionType[2], + gSimpleNetworkBBTestConformanceAssertionGuid017, + L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() with small buffer.", + L"%a:%d:Status - %r", + __FILE__, + (UINTN)__LINE__, + StatusBuf[2] + ); + } // // Restore SNP State -- 2.23.0.rc1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46773): https://edk2.groups.io/g/devel/message/46773 Mute This Topic: https://groups.io/mt/33136388/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
