From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: eric.jin@intel.com) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Mon, 09 Sep 2019 18:16:01 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Sep 2019 18:16:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,487,1559545200"; d="scan'208";a="191665888" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by FMSMGA003.fm.intel.com with ESMTP; 09 Sep 2019 18:16:00 -0700 Received: from fmsmsx122.amr.corp.intel.com (10.18.125.37) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 9 Sep 2019 18:16:00 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 9 Sep 2019 18:16:00 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.140]) by shsmsx102.ccr.corp.intel.com ([169.254.2.113]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 09:15:58 +0800 From: "Eric Jin" To: Heinrich Schuchardt , EDK II Development CC: Supreeth Venkatesh , Stephano Cetola Subject: Re: [edk2-test] [PATCH v2 1/1] uefi-sct/SctPkg: SNP Statistics may be unsupported Thread-Topic: [edk2-test] [PATCH v2 1/1] uefi-sct/SctPkg: SNP Statistics may be unsupported Thread-Index: AQHVZvGNnTP7RrRKWUiVsG3czym0FqckHKQw Date: Tue, 10 Sep 2019 01:15:57 +0000 Message-ID: References: <20190909093202.12695-1-xypron.glpk@gmx.de> In-Reply-To: <20190909093202.12695-1-xypron.glpk@gmx.de> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: eric.jin@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Eric Jin -----Original Message----- From: Heinrich Schuchardt =20 Sent: Monday, September 9, 2019 5:32 PM To: EDK II Development Cc: Jin, Eric ; Supreeth Venkatesh ; Stephano Cetola ; Heinrich Schuc= hardt Subject: [edk2-test] [PATCH v2 1/1] uefi-sct/SctPkg: SNP Statistics may be = unsupported REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2160 If EFI_SIMPLE_NETWORK.Statistics() is not supported, it will return EFI_UNS= UPPORTED. In this case do not expect input parameters to be checked for con= formance. If an error in SnpInterface->Start() occurs we error out. Therefore create = assertion messages always directly after each individual check. Fix some typos in comments and messages. Signed-off-by: Heinrich Schuchardt --- v2: Create assertion messages always directly after each individual check. Fix typos in comments and messages. --- .../SimpleNetworkBBTestConformance.c | 123 ++++++++++-------- 1 file changed, 72 insertions(+), 51 deletions(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/Black= BoxTest/SimpleNetworkBBTestConformance.c b/uefi-sct/SctPkg/TestCase/UEFI/EF= I/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestConformance.c index 9d5bec18..9bd21a76 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 @@ -964,8 +964,7 @@ BBTestStatisticsConformanceTest ( { EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib; EFI_STATUS = Status;- EFI_STATUS Statu= sBuf[3]; - EFI_TEST_ASSERTION AssertionType[3];+ EFI_= TEST_ASSERTION AssertionType; EFI_SIMPLE_NETWORK_PROTO= COL *SnpInterface; EFI_SIMPLE_NETWORK_STATE State1= , State2; EFI_NETWORK_STATISTICS StatisticsTable;@@ -1012,= 31 +1011,68 @@ BBTestStatisticsConformanceTest ( StatisticsSize =3D sizeof (EFI_NETWORK_STATISTICS); // // Assertion = Point 5.8.2.1- // Call Statistics() function if network interface not star= t.+ // Call Statistics() function while network interface is not started. = //- StatusBuf[0] =3D SnpInterface->Statistics (SnpInterface, FALSE, &Sta= tisticsSize, &StatisticsTable);- if ((StatusBuf[0] =3D=3D EFI_NOT_STARTED)= && (SnpInterface->Mode->State =3D=3D EfiSimpleNetworkStopped)) {- Asser= tionType[0] =3D EFI_TEST_ASSERTION_PASSED;+ Status =3D SnpInterface->Stati= stics (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable);+ if (Statu= s =3D=3D EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ = StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ = L"Statistics isn't supported, Status - %r\n",+ Statu= s+ ); } else {- AssertionType[0] =3D EFI_TEST_ASSERT= ION_FAILED;+ if ((Status =3D=3D EFI_NOT_STARTED) && (SnpInterface->Mode-= >State =3D=3D EfiSimpleNetworkStopped)) {+ AssertionType =3D EFI_TEST_= ASSERTION_PASSED;+ } else {+ AssertionType =3D EFI_TEST_ASSERTION_F= AILED;+ }+ StandardLib->RecordAssertion (+ Standard= Lib,+ AssertionType,+ gSimpleNetworkBBT= estConformanceAssertionGuid014,+ L"EFI_SIMPLE_NETWORK_PRO= TOCOL.Statistics - Invoke Statistics() while network interface not started.= ",+ L"%a:%d:Status - %r",+ __FILE__,+ = (UINTN)__LINE__,+ Status+ = ); } // // Assertion Point 5.8.2.2- // Call Statistics() functi= on if network interface not initialized.+ // Call Statistics() function wh= ile network interface is not initialized. // Status =3D SnpInterface->S= tart (SnpInterface); if (EFI_ERROR(Status)) { return Status; } - S= tatusBuf[1] =3D SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsS= ize, &StatisticsTable);- if (StatusBuf[1] =3D=3D EFI_DEVICE_ERROR) {- A= ssertionType[1] =3D EFI_TEST_ASSERTION_PASSED;+ Status =3D SnpInterface->S= tatistics (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable);+ if (S= tatus =3D=3D EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ = StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ = L"Statistics isn't supported, Status - %r\n",+ S= tatus+ ); } else {- AssertionType[1] =3D EFI_TEST_AS= SERTION_FAILED;+ if (Status =3D=3D EFI_DEVICE_ERROR) {+ AssertionTy= pe =3D EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType =3D EFI_= TEST_ASSERTION_FAILED;+ }+ StandardLib->RecordAssertion (+ = StandardLib,+ AssertionType,+ g= SimpleNetworkBBTestConformanceAssertionGuid015,+ L"EFI_SI= MPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() while network interf= ace is not initialized.",+ L"%a:%d:Status - %r",+ = __FILE__,+ (UINTN)__LINE__,+ = Status+ ); }- // // Assertion Point 5.8.2.3@@ -1= 053,47 +1089,32 @@ BBTestStatisticsConformanceTest ( // StatisticsSize =3D 0; - StatusBuf[2] =3D SnpInterface->Statistics = (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable);- if (StatusBuf[2= ] =3D=3D EFI_BUFFER_TOO_SMALL || Status =3D=3D EFI_UNSUPPORTED) {- Asser= tionType[2] =3D EFI_TEST_ASSERTION_PASSED;+ Status =3D SnpInterface->Stati= stics (SnpInterface, FALSE, &StatisticsSize, &StatisticsTable);+ if (Statu= s =3D=3D EFI_UNSUPPORTED) {+ StandardLib->RecordMessage(+ = StandardLib,+ EFI_VERBOSE_LEVEL_QUIET,+ = L"Statistics isn't supported, Status - %r\n",+ Statu= s+ ); } else {- AssertionType[2] =3D EFI_TEST_ASSERT= ION_FAILED;+ if (Status =3D=3D EFI_BUFFER_TOO_SMALL) {+ AssertionTy= pe =3D EFI_TEST_ASSERTION_PASSED;+ } else {+ AssertionType =3D EFI_= TEST_ASSERTION_FAILED;+ }+ StandardLib->RecordAssertion (+ = StandardLib,+ AssertionType,+ g= SimpleNetworkBBTestConformanceAssertionGuid017,+ L"EFI_SI= MPLE_NETWORK_PROTOCOL.Statistics - Invoke Statistics() with small buffer.",= + L"%a:%d:Status - %r",+ __FILE__,+ = (UINTN)__LINE__,+ Status+ = ); } - - StandardLib->RecordAssertion (- StandardLib,= - AssertionType[0],- gSimpleNetworkBBTestCo= nformanceAssertionGuid014,- L"EFI_SIMPLE_NETWORK_PROTOCOL.S= tatistics - Invoke Statistics() when network interface not start.",- = L"%a:%d:Status - %r",- __FILE__,- = (UINTN)__LINE__,- StatusBuf[0]- );- - St= andardLib->RecordAssertion (- StandardLib,- = AssertionType[1],- gSimpleNetworkBBTestConformanceAssertio= nGuid015,- L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invok= e Statistics() when network interface not initialized.",- L= "%a:%d:Status - %r",- __FILE__,- (UINTN)__L= INE__,- StatusBuf[1]- );-- StandardLib->Re= cordAssertion (- StandardLib,- AssertionTyp= e[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 //--=20 2.20.1