From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=VGVBnv9m; spf=pass (domain: gmx.de, ip: 212.227.17.22, mailfrom: xypron.glpk@gmx.de) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by groups.io with SMTP; Mon, 09 Sep 2019 02:32:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568021541; bh=nlZpgXO2GUlbRgrAhnSTa4kEDX7uaMuxMJT+o58xkHo=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=VGVBnv9mJga8Y6tiH0tKU3RAqXJ+qpiBS7JK+RvttNQEAjB03LcLUSx99gaurmoB+ BVk7Cb8ihVi2AP2yQW7DSptZ4kLjHgivB23/y7/MO5IzFkxqBk3ISFyGiWtdqzPhMH yKWA1Oar8Lqml/k3oDQrMZ3X9vYeGiMxEFNRZetM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([84.118.159.3]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MIdif-1htFOj3aNh-00EbRF; Mon, 09 Sep 2019 11:32:20 +0200 From: "Heinrich Schuchardt" To: EDK II Development Cc: Eric Jin , Supreeth Venkatesh , Stephano Cetola , Heinrich Schuchardt Subject: [edk2-test] [PATCH v2 1/1] uefi-sct/SctPkg: SNP Statistics may be unsupported Date: Mon, 9 Sep 2019 11:32:02 +0200 Message-Id: <20190909093202.12695-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:NqtjnGfdXaNJ99mAsdqqdvzS6atXJWRr6otMRRlYS2/xMjHFW1q U1tkBvDM8hX5mT0OerYmVrx+h4lWyfhQmCwwO/eLrhhw+PBgQVelmbwFfKZyHY0nzVQYTNS SIPP1PhYEFU/2paGYPOlmXxEqlzsFp9do8CH3g6goCGD9sHTgN/nsy0OYKuTzGU4MqysMAk cofpETg6Xj6PHcDhVCNAw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:vx8UZni4O5M=:XsGT5iWOo3mWnRUUf8TvlR byPVQGdzTZ2W7cwB4WAgiQ9wu1navgBZDReCiLXvuwk560xUHv8HGU4s2dkGW4WZzNRCnZ35+ f2jkfKBP/2F5Q1A0N/mD6z5I7LHo9FbVBSqF+54ltTZNRRmMWTBkO1qpbmYtWtA69EqSN+eZt gaQsBCEBJjgDThUr4eqnWdzPBif5TasBEfyz7jAB2NtkyWbFBamica/SVkaGftGVtjWB4g3/F 1H+dm/PwCX/ejJpy57iuxJF0ZqqtsNmbjqLFJaMVXDKd0ZqMsZW/5V5bkxQs/z19ntwqbOdHW FPla+NpDmsuoJp1gqOLvo7PUrOafYX8MGPNuPfI04X/c3ZfUNk00T3e1Gkni9LDGkgR16qVY4 atzIx08J/+XFOhBuzMOrTGkG5SmHDsE326ytTRtnL2BZHYRQJljH00wr8m1jD4in4akU8VihL SkXpZVag0UcoI/9BRqUYKT0lHfMd6zvDXV+coQD6SwC/mtUJPf1G1vJeVZb+l6RpYGren3eJO yABw1fFuNgD7O4YCn8QbBBdYmjfOAOalW+JinSTgJs+0rF36AL/f+yK7lqvgEBfJ4z4qdExJQ Pyrw3sQWdHVkZL/50Soxs4kFc4oVWP6EXHtc43tYNHcThONBP+u0heqGgs2aBMN6zs3VJpSy4 Pl+y6kghecVWpD7tKsKK+zI5bl6hyevYMjPposWwN2hEBMB+JDmEPXqPuSkn/VXs8I1Y05JvU hO8N3I1I/tmNXJq4HGV7LSICb21YKqecxcPpb2/aP4pHRW02gb5uT4rZrUdg7PV+uKsohx1Xv ny1oAmwJiukADZGt6DZtg6CkvM6Xcz5kuRHLGn2DMB3Bh9X/GfjwJSwode8Lf6DFhEyjym7Gb P0O2MeY9V7EAVCHGOvgqk1F+CA9iniESgRHhfrHgzXXfrauhECjzPpjWf5ji3rRf2WG2IL8FQ B/hX11/PFSxH4GdFSA/tYI4RP1xwo+jdqRI+x99HiIW3iwh0Omxxu231OojGTf2JFIESTjRDe 3PcmWpBMD7OOzP9/aCyiAY39duCEOfCAU7/IlatAcHvAUzUj3bS5+FealadHVqg/gKHz9kyA8 MR9a4fPC/S6JzUgBIT6CqOOJjXlOQ1cao5TRQw9spmv82a1NEjFhZfXdm4PmYv5ZoZHVZcMoo v463Oja+BW8n7UKGSHM1Opb9i/vCLDXZgWiWzQjWrzXQlInzXPgQpM6e+tIJCFJfv3SFqFByu WeGvprqnQXK3qOmF4 Content-Transfer-Encoding: quoted-printable REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2160 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. 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/BlackBoxTest= /SimpleNetworkBBTestConformance.c @@ -964,8 +964,7 @@ BBTestStatisticsConformanceTest ( {=0D EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib;=0D EFI_STATUS Status;=0D - EFI_STATUS StatusBuf[3]; =0D - EFI_TEST_ASSERTION AssertionType[3];=0D + EFI_TEST_ASSERTION AssertionType;=0D EFI_SIMPLE_NETWORK_PROTOCOL *SnpInterface;=0D EFI_SIMPLE_NETWORK_STATE State1, State2;=0D EFI_NETWORK_STATISTICS StatisticsTable;=0D @@ -1012,31 +1011,68 @@ BBTestStatisticsConformanceTest ( StatisticsSize =3D sizeof (EFI_NETWORK_STATISTICS);=0D //=0D // Assertion Point 5.8.2.1=0D - // Call Statistics() function if network interface not start.=0D + // Call Statistics() function while network interface is not started.=0D //=0D - StatusBuf[0] =3D SnpInterface->Statistics (SnpInterface, FALSE, &Statist= icsSize, &StatisticsTable);=0D - if ((StatusBuf[0] =3D=3D EFI_NOT_STARTED) && (SnpInterface->Mode->State = =3D=3D EfiSimpleNetworkStopped)) {=0D - AssertionType[0] =3D EFI_TEST_ASSERTION_PASSED;=0D + Status =3D SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsSiz= e, &StatisticsTable);=0D + if (Status =3D=3D EFI_UNSUPPORTED) {=0D + StandardLib->RecordMessage(=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_QUIET,=0D + L"Statistics isn't supported, Status - %r\n",=0D + Status=0D + );=0D } else {=0D - AssertionType[0] =3D EFI_TEST_ASSERTION_FAILED;=0D + if ((Status =3D=3D EFI_NOT_STARTED) && (SnpInterface->Mode->State =3D= =3D EfiSimpleNetworkStopped)) {=0D + AssertionType =3D EFI_TEST_ASSERTION_PASSED;=0D + } else {=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gSimpleNetworkBBTestConformanceAssertionGuid014,=0D + L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Stati= stics() while network interface not started.",=0D + L"%a:%d:Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D }=0D =0D //=0D // Assertion Point 5.8.2.2=0D - // Call Statistics() function if network interface not initialized.=0D + // Call Statistics() function while network interface is not initialized= .=0D //=0D Status =3D SnpInterface->Start (SnpInterface);=0D if (EFI_ERROR(Status)) {=0D return Status;=0D }=0D =0D - StatusBuf[1] =3D SnpInterface->Statistics (SnpInterface, FALSE, &Statist= icsSize, &StatisticsTable);=0D - if (StatusBuf[1] =3D=3D EFI_DEVICE_ERROR) {=0D - AssertionType[1] =3D EFI_TEST_ASSERTION_PASSED;=0D + Status =3D SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsSiz= e, &StatisticsTable);=0D + if (Status =3D=3D EFI_UNSUPPORTED) {=0D + StandardLib->RecordMessage(=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_QUIET,=0D + L"Statistics isn't supported, Status - %r\n",=0D + Status=0D + );=0D } else {=0D - AssertionType[1] =3D EFI_TEST_ASSERTION_FAILED;=0D + if (Status =3D=3D EFI_DEVICE_ERROR) {=0D + AssertionType =3D EFI_TEST_ASSERTION_PASSED;=0D + } else {=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gSimpleNetworkBBTestConformanceAssertionGuid015,=0D + L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Stati= stics() while network interface is not initialized.",=0D + L"%a:%d:Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D }=0D - =0D =0D //=0D // Assertion Point 5.8.2.3=0D @@ -1053,47 +1089,32 @@ BBTestStatisticsConformanceTest ( //=0D StatisticsSize =3D 0;=0D =0D - StatusBuf[2] =3D SnpInterface->Statistics (SnpInterface, FALSE, &Statist= icsSize, &StatisticsTable);=0D - if (StatusBuf[2] =3D=3D EFI_BUFFER_TOO_SMALL || Status =3D=3D EFI_UNSUPP= ORTED) {=0D - AssertionType[2] =3D EFI_TEST_ASSERTION_PASSED;=0D + Status =3D SnpInterface->Statistics (SnpInterface, FALSE, &StatisticsSiz= e, &StatisticsTable);=0D + if (Status =3D=3D EFI_UNSUPPORTED) {=0D + StandardLib->RecordMessage(=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_QUIET,=0D + L"Statistics isn't supported, Status - %r\n",=0D + Status=0D + );=0D } else {=0D - AssertionType[2] =3D EFI_TEST_ASSERTION_FAILED;=0D + if (Status =3D=3D EFI_BUFFER_TOO_SMALL) {=0D + AssertionType =3D EFI_TEST_ASSERTION_PASSED;=0D + } else {=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gSimpleNetworkBBTestConformanceAssertionGuid017,=0D + L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Stati= stics() with small buffer.",=0D + L"%a:%d:Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D }=0D =0D - =0D - StandardLib->RecordAssertion (=0D - StandardLib,=0D - AssertionType[0],=0D - gSimpleNetworkBBTestConformanceAssertionGuid014,=0D - L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statist= ics() when network interface not start.",=0D - L"%a:%d:Status - %r",=0D - __FILE__,=0D - (UINTN)__LINE__,=0D - StatusBuf[0]=0D - );=0D - =0D - StandardLib->RecordAssertion (=0D - StandardLib,=0D - AssertionType[1],=0D - gSimpleNetworkBBTestConformanceAssertionGuid015,=0D - L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statist= ics() when network interface not initialized.",=0D - L"%a:%d:Status - %r",=0D - __FILE__,=0D - (UINTN)__LINE__,=0D - StatusBuf[1]=0D - );=0D -=0D - StandardLib->RecordAssertion (=0D - StandardLib,=0D - AssertionType[2],=0D - gSimpleNetworkBBTestConformanceAssertionGuid017,=0D - L"EFI_SIMPLE_NETWORK_PROTOCOL.Statistics - Invoke Statist= ics() with small buffer.",=0D - L"%a:%d:Status - %r",=0D - __FILE__,=0D - (UINTN)__LINE__,=0D - StatusBuf[2]=0D - );=0D -=0D //=0D // Restore SNP State=0D //=0D --=20 2.20.1