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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to