Add [edk2-test] in subject Reviewed-by: Eric Jin <eric....@intel.com>
-----Original Message----- From: Heinrich Schuchardt <xypron.g...@gmx.de> Sent: Tuesday, September 17, 2019 1:10 PM To: EDK II Development <devel@edk2.groups.io> Cc: Jin, Eric <eric....@intel.com>; Supreeth Venkatesh <supreeth.venkat...@arm.com>; Stephano Cetola <stephano.cet...@linux.intel.com>; Heinrich Schuchardt <xypron.g...@gmx.de> Subject: [edk2-devel] [PATCH 1/1] uefi-sct/SctPkg: SNP ReceiveFilters may be unsupported REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2197 If EFI_SIMPLE_NETWORK.ReceiveFilters() 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 <xypron.g...@gmx.de> --- .../SimpleNetworkBBTestConformance.c | 223 +++++++++++------- 1 file changed, 138 insertions(+), 85 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 9bd21a76..09b47ee6 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestConformance.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxT +++ est/SimpleNetworkBBTestConformance.c @@ -626,22 +626,31 @@ BBTestReceiveFilterConformanceTest ( // Call ReceiveFilters() function if network interface not start. // Status = SnpInterface->ReceiveFilters (SnpInterface, 0, 0, FALSE, 0, NULL);- if ((Status == EFI_NOT_STARTED) && (SnpInterface->Mode->State == EfiSimpleNetworkStopped)) {- AssertionType = EFI_TEST_ASSERTION_PASSED;+ if (Status == EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ L"ReceiveFilters isn't supported, Status - %r\n",+ Status+ ); } else {- AssertionType = EFI_TEST_ASSERTION_FAILED;- }+ if ((Status == EFI_NOT_STARTED) && (SnpInterface->Mode->State == EfiSimpleNetworkStopped)) {+ AssertionType = EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType = EFI_TEST_ASSERTION_FAILED;+ } - StandardLib->RecordAssertion (- StandardLib,- AssertionType,- gSimpleNetworkBBTestConformanceAssertionGuid006,- L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() when network interface not start.",- L"%a:%d:Status - %r",- __FILE__,- (UINTN)__LINE__,- Status- );+ StandardLib->RecordAssertion (+ StandardLib,+ AssertionType,+ gSimpleNetworkBBTestConformanceAssertionGuid006,+ L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() when network interface not start.",+ L"%a:%d:Status - %r",+ __FILE__,+ (UINTN)__LINE__,+ Status+ );+ } // // Assertion Point 5.6.2.2@@ -653,22 +662,31 @@ BBTestReceiveFilterConformanceTest ( } Status = SnpInterface->ReceiveFilters (SnpInterface, 0, 0, FALSE, 0, NULL);- if (Status == EFI_DEVICE_ERROR) {- AssertionType = EFI_TEST_ASSERTION_PASSED;+ if (Status == EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ L"ReceiveFilters isn't supported, Status - %r\n",+ Status+ ); } else {- AssertionType = EFI_TEST_ASSERTION_FAILED;- }+ if (Status == EFI_DEVICE_ERROR) {+ AssertionType = EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType = EFI_TEST_ASSERTION_FAILED;+ } - StandardLib->RecordAssertion (- StandardLib,- AssertionType,- gSimpleNetworkBBTestConformanceAssertionGuid007,- L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() when network interface not initialized.",- L"%a:%d:Status - %r",- __FILE__,- (UINTN)__LINE__,- Status- );+ StandardLib->RecordAssertion (+ StandardLib,+ AssertionType,+ gSimpleNetworkBBTestConformanceAssertionGuid007,+ L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() when network interface not initialized.",+ L"%a:%d:Status - %r",+ __FILE__,+ (UINTN)__LINE__,+ Status+ );+ } // // Assertion Point 5.6.2.3@@ -683,22 +701,31 @@ BBTestReceiveFilterConformanceTest ( // Call ReceiveFilters with invalide Enable // Status = SnpInterface->ReceiveFilters (SnpInterface, ~(SnpInterface->Mode->ReceiveFilterMask), 0, FALSE, 0, NULL);- if (Status == EFI_INVALID_PARAMETER) {- AssertionType = EFI_TEST_ASSERTION_PASSED;+ if (Status == EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ L"ReceiveFilters isn't supported, Status - %r\n",+ Status+ ); } else {- AssertionType = EFI_TEST_ASSERTION_FAILED;- }+ if (Status == EFI_INVALID_PARAMETER) {+ AssertionType = EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType = EFI_TEST_ASSERTION_FAILED;+ } - StandardLib->RecordAssertion (- StandardLib,- AssertionType,- gSimpleNetworkBBTestConformanceAssertionGuid008,- L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with invalid Enable.",- L"%a:%d:Status - %r",- __FILE__,- (UINTN)__LINE__,- Status- ); + StandardLib->RecordAssertion (+ StandardLib,+ AssertionType,+ gSimpleNetworkBBTestConformanceAssertionGuid008,+ L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with invalid Enable.",+ L"%a:%d:Status - %r",+ __FILE__,+ (UINTN)__LINE__,+ Status+ );+ } // // Call ReceiveFilters with invalide MCastFilterCnt@@ -713,59 +740,85 @@ BBTestReceiveFilterConformanceTest ( MAC.Addr[5] = 0x02; Status = SnpInterface->ReceiveFilters (SnpInterface, EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST, 0, FALSE, SnpInterface->Mode->MaxMCastFilterCount + 1, &MAC);- if (Status == EFI_INVALID_PARAMETER) {- AssertionType = EFI_TEST_ASSERTION_PASSED;+ if (Status == EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ L"ReceiveFilters isn't supported, Status - %r\n",+ Status+ ); } else {- AssertionType = EFI_TEST_ASSERTION_FAILED;+ if (Status == EFI_INVALID_PARAMETER) {+ AssertionType = EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType = EFI_TEST_ASSERTION_FAILED;+ }++ StandardLib->RecordAssertion (+ StandardLib,+ AssertionType,+ gSimpleNetworkBBTestConformanceAssertionGuid009,+ L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with invalid MCastFilterCnt is greater than Snp->Mode->MaxMCastFilterCount.",+ L"%a:%d:Status - %r",+ __FILE__,+ (UINTN)__LINE__,+ Status+ ); } - StandardLib->RecordAssertion (- StandardLib,- AssertionType,- gSimpleNetworkBBTestConformanceAssertionGuid009,- L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with invalid MCastFilterCnt is greater than Snp->Mode->MaxMCastFilterCount.",- L"%a:%d:Status - %r",- __FILE__,- (UINTN)__LINE__,- Status- );- Status = SnpInterface->ReceiveFilters (SnpInterface, EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST, 0, FALSE, 0, &MAC);- if (Status == EFI_INVALID_PARAMETER) {- AssertionType = EFI_TEST_ASSERTION_PASSED;+ if (Status == EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ L"ReceiveFilters isn't supported, Status - %r\n",+ Status+ ); } else {- AssertionType = EFI_TEST_ASSERTION_FAILED;+ if (Status == EFI_INVALID_PARAMETER) {+ AssertionType = EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType = EFI_TEST_ASSERTION_FAILED;+ }++ StandardLib->RecordAssertion (+ StandardLib,+ AssertionType,+ gSimpleNetworkBBTestConformanceAssertionGuid043,+ L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with invalid MCastFilterCnt is 0.",+ L"%a:%d:Status - %r",+ __FILE__,+ (UINTN)__LINE__,+ Status+ ); } - StandardLib->RecordAssertion (- StandardLib,- AssertionType,- gSimpleNetworkBBTestConformanceAssertionGuid043,- L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with invalid MCastFilterCnt is 0.",- L"%a:%d:Status - %r",- __FILE__,- (UINTN)__LINE__,- Status- );- Status = SnpInterface->ReceiveFilters (SnpInterface, EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST, 0, FALSE, 1, NULL);- if (Status == EFI_INVALID_PARAMETER) {- AssertionType = EFI_TEST_ASSERTION_PASSED;+ if (Status == EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ L"ReceiveFilters isn't supported, Status - %r\n",+ Status+ ); } else {- AssertionType = EFI_TEST_ASSERTION_FAILED;+ if (Status == EFI_INVALID_PARAMETER) {+ AssertionType = EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType = EFI_TEST_ASSERTION_FAILED;+ }++ StandardLib->RecordAssertion (+ StandardLib,+ AssertionType,+ gSimpleNetworkBBTestConformanceAssertionGuid010,+ L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with MCastFilterCnt not match MCastFilter.",+ L"%a:%d:Status - %r",+ __FILE__,+ (UINTN)__LINE__,+ Status+ ); }-- StandardLib->RecordAssertion (- StandardLib,- AssertionType,- gSimpleNetworkBBTestConformanceAssertionGuid010,- L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke ReceiveFilters() with MCastFilterCnt not match MCastFilter.",- L"%a:%d:Status - %r",- __FILE__,- (UINTN)__LINE__,- Status- );- } //-- 2.23.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#48280): https://edk2.groups.io/g/devel/message/48280 Mute This Topic: https://groups.io/mt/34342247/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-