public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Eric Jin" <eric.jin@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Chen, ArvinX" <arvinx.chen@intel.com>
Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
Subject: Re: [edk2-devel] [edk2-test] [PATCH 1/1] uefi-sct/SctPkg: Auto gen result of "EFICompliantTest".
Date: Thu, 26 Sep 2019 09:01:30 +0000	[thread overview]
Message-ID: <DA72DC7456565B47808A57108259571F6381978D@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <15C2B434997E0DDA.16248@groups.io>

Hi Avrin,

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Eric Jin
> Sent: Monday, September 9, 2019 3:23 PM
> To: EDK II Development <devel@edk2.groups.io>
> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>; Jin, Eric
> <eric.jin@intel.com>
> Subject: [edk2-devel] [edk2-test] [PATCH 1/1] uefi-sct/SctPkg: Auto gen
> result of "EFICompliantTest".
> 
> Add prefix in subject.
> 
> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
> 
> -----Original Message-----
> From: Chen, ArvinX
> Sent: Monday, September 9, 2019 2:29 PM
> To: devel@edk2.groups.io
> Cc: Jin, Eric <eric.jin@intel.com>; Chen, ArvinX <arvinx.chen@intel.com>
> Subject: [PATCH] uefi-sct/SctPkg: Auto gen result of "EFICompliantTest".
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2155
> 
>   Now the test item "EFICompliantTest" will be gen in the XXX.csv.
> However, I find most of the SCT user will not know what platform config they
> test is, so I think  we can independently generate a file of the
> "EFICompliantTest" tests, then the SCT tester can send this file to the
> platform owner and let them directly handle the compliant issue.
> 
> This patch will auto gen a file in path SCT\Report\PlatformConfigXXX.ini each
> time tester execute this test will creat a new one until 255.
> 
> Cc: Eric Jin <eric.jin@intel.com>
> Cc: ArvinX Chen <arvinX.chen@intel.com>
> Signed-off-by: ArvinX Chen <arvinx.chen@intel.com>
> ---
>  .../BlackBoxTest/EfiCompliantBBTestPlatform_uefi.c | 438
> +++++++++++++++++++++
>  1 file changed, 438 insertions(+)
> 
> diff --git
> a/Edk2/SctPkg/TestCase/UEFI/EFI/Generic/EfiCompliant/BlackBoxTest/EfiCo
> mpliantBBTestPlatform_uefi.c
> b/Edk2/SctPkg/TestCase/UEFI/EFI/Generic/EfiCompliant/BlackBoxTest/EfiCo
> mpliantBBTestPlatform_uefi.c
> index 221366b..7bbec70 100644
> ---
> a/Edk2/SctPkg/TestCase/UEFI/EFI/Generic/EfiCompliant/BlackBoxTest/EfiCo
> mpliantBBTestPlatform_uefi.c
> +++
> b/Edk2/SctPkg/TestCase/UEFI/EFI/Generic/EfiCompliant/BlackBoxTest/Ef
> +++ iCompliantBBTestPlatform_uefi.c
> @@ -118,6 +118,8 @@ extern EFI_GUID gGlobalVariableGuid;  //
> 
>  #define SECTION_NAME_PLATFORM_SPECIFIC      L"Platform Specific"
> +#define GEN_CONFIG_INI_FILE_ON              TRUE
> +#define MAX_SIZE                            0xFF
> 
>  #define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID \
>   { 0x9fb9a8a1, 0x2f4a, 0x43a6, {0x88, 0x9c, 0xd0, 0xf7, 0xb6, 0xc4, 0x7a,
> 0xd5 }} @@ -201,6 +203,12 @@ EFI_GUID
> gEfiBlueToothAttributeProtocolGuid = { 0x898890e9, 0x84b2, 0x4f3a, { 0x
> 
>  EFI_GUID gEfiBlueToothLEConfigProtocolGuid = { 0x8f76da58, 0x1f99, 0x4275,
> { 0xa4, 0xec, 0x47, 0x56, 0x51, 0x5b, 0x1c, 0xe8 }};
> 
> +typedef struct CONFIG_ERROR_DATA {
> +  UINT8                ErrorCount;
> +  CHAR16               *TitleString;
> +  EFI_INI_FILE_HANDLE  ConfigINI;
> +} CONFIG_ERROR_DATA;
> +
>  //
>  // Internal functions declarations
>  //
> @@ -405,6 +413,23 @@ CheckIPSecProtocols (
>    IN EFI_INI_FILE_HANDLE                  IniFile
>    );
> 
> +CONFIG_ERROR_DATA*
> +ConstructionAndAcquisition (
> +  IN CHAR16                               *TitleString,
> +  IN EFI_INI_FILE_HANDLE                  ConfigINI
> +);
> +
> +EFI_STATUS
> +GenTestConfigTitle (
> +  IN CHAR16                               *TestItemString
> +  );
> +
> +EFI_STATUS
> +GenTestConfigContent (
> +  IN CHAR16                               *ProtocolGUIDString,
> +  IN BOOLEAN                              Value
> +);
> +
>  //
>  // External functions implementation
>  //
> @@ -429,6 +454,11 @@ Routine Description:
>    EFI_STANDARD_TEST_LIBRARY_PROTOCOL  *StandardLib;
>    EFI_TEST_PROFILE_LIBRARY_PROTOCOL   *ProfileLib;
>    EFI_INI_FILE_HANDLE                 IniFile;
> +  EFI_INI_FILE_HANDLE                 ConfigINI;
> +  EFI_DEVICE_PATH_PROTOCOL            *DevicePath;
> +  CONFIG_ERROR_DATA                   *ErrorData;
> +  CHAR16                              *FilePath;
> +  UINT8                               Index;
> 
>    //
>    // Locate the standard test library protocol @@ -477,6 +507,85 @@ Routine
> Description:
>      return Status;
>    }
> 
> +  //
> +  //  Creat PlatformConfig.ini file.
> +  //
> +  ProfileLib->EfiGetSystemDevicePath (
> +                         ProfileLib,
> +                         &DevicePath,
> +                         &FilePath
> +                       );
> +  for (Index=0; Index<MAX_SIZE; Index++) {
> +    Status = OpenIniFile (
> +               ProfileLib,
> +               L"Report",
> +               SctPoolPrint (L"PlatformConfig%03d.ini", Index),
> +               &ConfigINI
> +             );
> +    if (ConfigINI != NULL) {
> +      //
> +      // If file exise, Creat a new one.
> +      //
> +      CloseIniFile (ProfileLib, ConfigINI);
> +      continue;
> +    }
> +    break;
> +  }
> +  Status = ProfileLib->EfiIniCreate (
> +                         ProfileLib,
> +                         DevicePath,
> +                         SctPoolPrint (L"%s\\Report\\PlatformConfig%03d.ini",FilePath,
> Index),
> +                         &ConfigINI
> +                       );

It create the new PlatformConfig.ini file with 255 files limitation
How about always delete the old and create the new?

> +  if (EFI_ERROR (Status)) {
> +    StandardLib->RecordAssertion (
> +                   StandardLib,
> +                   EFI_TEST_ASSERTION_WARNING,
> +                   gTestGenericFailureGuid,
> +                   L"UEFI Compliant - Cannot create INI file",
> +                   L"%a:%d",
> +                   __FILE__,
> +                   (UINTN)__LINE__
> +                   );
> +
> +    return Status;
> +  }
> +  //
> +  //  Gen PlatformConfig.ini title and description.
> +  //
> +  ConfigINI->SetStringByOrder (
> +                  ConfigINI,
> +                  0x00,
> +                  L"|=================  Configuration Environment
> =================|",
> +                  L"<|Unavailable (Fail) item have :",
> +                  SctPoolPrint (L":   \"%02d\"   --", 0x00)
> +                );
> +  ConfigINI->SetString (
> +                  ConfigINI,
> +                  L"|=================  Configuration Environment
> =================|",
> +                  L"<|If fail item is not 0, it mean platform config  have error ___",
> +                  L"|>"
> +                );
> +  ConfigINI->SetString (
> +                  ConfigINI,
> +                  L"|=================  Configuration Environment
> =================|",
> +                  L"<|occur or EfiCompliant.ini setting have wrong.
> ________________",
> +                  L"|>"
> +                );
> +  ConfigINI->SetString (
> +                  ConfigINI,
> +                  L"|=================  Configuration Environment
> =================|",
> +                  L"<|Please sent this file and EfiCompliant.ini to platform owner .",
> +                  L"|>"
> +                );
> +  ConfigINI->SetString (
> +                  ConfigINI,
> +                  L"|=================  Configuration Environment
> =================|",
> +
> L"<|=======================================================
> =======",
> +                  L"|>"
> +                );
> +
> +  ConstructionAndAcquisition (NULL, ConfigINI);
>    //
>    // Check the console protocols
>    //
> @@ -618,6 +727,26 @@ Routine Description:
>    //
>    CloseIniFile (ProfileLib, IniFile);
> 
> +  ErrorData = ConstructionAndAcquisition (L"END", ConfigINI);  //  //
> + Update fail count.
> +  //
> +  ConfigINI->SetStringByOrder (
> +                  ConfigINI,
> +                  0x00,
> +                  L"|=================  Configuration Environment
> =================|",
> +                  L"<|Unavailable (Fail) item have :",
> +                  SctPoolPrint (L":   \"%02d\"   --", ErrorData->ErrorCount)
> +                );
> +  //
> +  // Save data
> +  //
> +  if (GEN_CONFIG_INI_FILE_ON == TRUE) {
> +    //
> +    // If have error occor and GenTestINI flag is on, gen the report file.
> +    //
> +    CloseIniFile (ProfileLib, ConfigINI);  }
>    return EFI_SUCCESS;
>  }
> 
> @@ -835,6 +964,12 @@ CheckConsoleProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"ConsoleDevices")) {
> +        GenTestConfigContent (L"gEfiSimpleTextInProtocolGuid     ", ValueA);
> +        GenTestConfigContent (L"gEfiSimpleTextOutProtocolGuid    ", ValueB);
> +        GenTestConfigContent (L"gEfiSimpleTextInputExProtocolGuid",
> ValueC);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -914,6 +1049,13 @@ CheckHiiProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"HiiConfigSupport")) {
> +        GenTestConfigContent (L"gEfiHiiDatabaseProtocolGuid     ", Value[0]);
> +        GenTestConfigContent (L"gEfiHiiStringProtocolGuid       ", Value[1]);
> +        GenTestConfigContent (L"gEfiHiiConfigRoutingProtocolGuid", Value[2]);
> +        GenTestConfigContent (L"gEfiHiiFontProtocolGuid         ", Value[3]);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -956,6 +1098,10 @@ CheckHiiProtocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"HiiFontSupport")) {
> +          GenTestConfigContent (L"gEfiHiiFontProtocolGuid", Value[4]);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -1056,6 +1202,12 @@ CheckGraphicalConsoleProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"GraphicalConsoleDevices")) {
> +        GenTestConfigContent (L"gEfiGraphicsOutputProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiEdidDiscoveredProtocolGuid", ValueB);
> +        GenTestConfigContent (L"gEfiEdidActiveProtocolGuid    ", ValueC);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -1127,6 +1279,10 @@ CheckPointerProtocol (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"PointerDevices")) {
> +        GenTestConfigContent (L"gEfiSimplePointerProtocolGuid", ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -1241,6 +1397,13 @@ CheckBootFromDiskProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BootFromDiskDevices")) {
> +        GenTestConfigContent (L"gEfiBlockIoProtocolGuid         ", ValueA);
> +        GenTestConfigContent (L"gEfiDiskIoProtocolGuid          ", ValueB);
> +        GenTestConfigContent (L"gEfiSimpleFileSystemProtocolGuid", ValueC);
> +        GenTestConfigContent (L"gEfiUnicodeCollationProtocolGuid", ValueD);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -1384,6 +1547,13 @@ CheckBootFromNetworkProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BootFromNetworkDevices")) {
> +        GenTestConfigContent (L"gEfiPxeBaseCodeProtocolGuid               ",
> ValueA);
> +        GenTestConfigContent (L"gEfiSimpleNetworkProtocolGuid             ",
> Value[0]);
> +        GenTestConfigContent (L"gEfiManagedNetworkProtocolGuid            ",
> Value[1]);
> +        GenTestConfigContent (L"gEfiNetworkInterfaceIdentifierProtocolGuid",
> Value[2]);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -1423,6 +1593,10 @@ CheckBootFromNetworkProtocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"ValidateBootImageThruNet")) {
> +          GenTestConfigContent (L"Variable \"SetupMode\"", ValueC);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -1514,6 +1688,16 @@ CheckUefiNetworkApplication (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"UefiNetworkApplication")) {
> +        GenTestConfigContent
> (L"gEfiManagedNetworkServiceBindingProtocolGuid", Value[0]);
> +        GenTestConfigContent (L"gEfiArpServiceBindingProtocolGuid           ",
> Value[1]);
> +        GenTestConfigContent (L"gEfiIp4ServiceBindingProtocolGuid           ",
> Value[2]);
> +        GenTestConfigContent (L"gEfiDhcp4ServiceBindingProtocolGuid         ",
> Value[3]);
> +        GenTestConfigContent (L"gEfiTcp4ServiceBindingProtocolGuid          ",
> Value[4]);
> +        GenTestConfigContent (L"gEfiUdp4ServiceBindingProtocolGuid          ",
> Value[5]);
> +        GenTestConfigContent (L"gEfiIp4Config2ProtocolGuid                  ",
> Value[6]);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>      StandardLib->RecordAssertion (
>                     StandardLib,
> @@ -1616,6 +1800,22 @@ CheckUefiNetworkApplication (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"UefiNetworkApplication")) {
> +          GenTestConfigContent
> (L"gEfiManagedNetworkServiceBindingProtocolGuid", Value[0]);
> +          GenTestConfigContent (L"gEfiArpServiceBindingProtocolGuid           ",
> Value[1]);
> +          GenTestConfigContent (L"gEfiIp4ServiceBindingProtocolGuid           ",
> Value[2]);
> +          GenTestConfigContent (L"gEfiDhcp4ServiceBindingProtocolGuid         ",
> Value[3]);
> +          GenTestConfigContent (L"gEfiTcp4ServiceBindingProtocolGuid          ",
> Value[4]);
> +          GenTestConfigContent (L"gEfiUdp4ServiceBindingProtocolGuid          ",
> Value[5]);
> +          GenTestConfigContent (L"gEfiIp4Config2ProtocolGuid                  ",
> Value[6]);
> +          GenTestConfigContent (L"gEfiManagedNetworkProtocolGuid              ",
> Value[7]);
> +          GenTestConfigContent (L"gEfiArpProtocolGuid                         ", Value[8]);
> +          GenTestConfigContent (L"gEfiIp4ProtocolGuid                         ", Value[9]);
> +          GenTestConfigContent (L"gEfiDhcp4ProtocolGuid                       ",
> Value[10]);
> +          GenTestConfigContent (L"gEfiTcp4ProtocolGuid                        ",
> Value[11]);
> +          GenTestConfigContent (L"gEfiUdp4ProtocolGuid                        ",
> Value[12]);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -1714,6 +1914,14 @@ CheckUefiV6NetworkApplication (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"UEFIIPv6Support")) {
> +        GenTestConfigContent (L"gEfiDhcp6ServiceBindingProtocolGuid",
> Value[0]);
> +        GenTestConfigContent (L"gEfiTcp6ServiceBindingProtocolGuid ",
> Value[1]);
> +        GenTestConfigContent (L"gEfiIp6ServiceBindingProtocolGuid  ",
> Value[2]);
> +        GenTestConfigContent (L"gEfiUdp6ServiceBindingProtocolGuid ",
> Value[3]);
> +        GenTestConfigContent (L"gEfiIp6ConfigProtocolGuid          ", Value[4]);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>      StandardLib->RecordAssertion (
>                     StandardLib,
> @@ -1810,6 +2018,18 @@ CheckUefiV6NetworkApplication (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"UEFIIPv6Support")) {
> +          GenTestConfigContent (L"gEfiDhcp6ServiceBindingProtocolGuid",
> Value[0]);
> +          GenTestConfigContent (L"gEfiTcp6ServiceBindingProtocolGuid ",
> Value[1]);
> +          GenTestConfigContent (L"gEfiIp6ServiceBindingProtocolGuid  ",
> Value[2]);
> +          GenTestConfigContent (L"gEfiUdp6ServiceBindingProtocolGuid ",
> Value[3]);
> +          GenTestConfigContent (L"gEfiIp6ConfigProtocolGuid          ", Value[4]);
> +          GenTestConfigContent (L"gEfiDhcp6ProtocolGuid              ", Value[5]);
> +          GenTestConfigContent (L"gEfiTcp6ProtocolGuid               ", Value[6]);
> +          GenTestConfigContent (L"gEfiIp6ProtocolGuid                ", Value[7]);
> +          GenTestConfigContent (L"gEfiUdp6ProtocolGuid               ", Value[8]);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -1867,6 +2087,10 @@ CheckUefiV6NetworkApplication (
>                              );
>          if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>            AssertionType = EFI_TEST_ASSERTION_FAILED;
> +          if (!GenTestConfigTitle (L"VlanSupport")) {
> +            GenTestConfigContent (L"gEfiVlanConfigProtocolGuid", Value[9]);
> +            AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +          }
>          }
>        }
> 
> @@ -1940,6 +2164,10 @@ CheckUartProtocol (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"UartDevices")) {
> +        GenTestConfigContent (L"gEfiSerialIoProtocolGuid", ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;
> +      }
>      }
>    }
> 
> @@ -2025,6 +2253,11 @@ CheckPciProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"PciBusSupport")) {
> +        GenTestConfigContent (L"gEfiPciRootBridgeIoProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiPciIoProtocolGuid          ", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2110,6 +2343,11 @@ CheckUsbProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"UsbBusSupport")) {
> +        GenTestConfigContent (L"gEfiUsb2HcProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiUsbIoProtocolGuid ", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2180,6 +2418,10 @@ CheckNVMeProtocol (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"NVMExpressPassThru")) {
> +        GenTestConfigContent (L"gEfiNvmExpressPassThruProtocolGuid",
> ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2264,6 +2506,10 @@ CheckBootFromNVMe (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BootFromNVMe")) {
> +        GenTestConfigContent (L"gEfiBlockIoProtocolGuid", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2301,6 +2547,10 @@ CheckBootFromNVMe (
>                          );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"NVMExpressPassThru")) {
> +          GenTestConfigContent (L"gEfiNvmExpressPassThruProtocolGuid",
> ValueA);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -2374,6 +2624,10 @@ CheckScsiProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"ExtScsiPassThru")) {
> +        GenTestConfigContent (L"gEfiExtScsiPassThruProtocolGuid", ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2473,6 +2727,11 @@ CheckBootFromScsi (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BootFromScsi")) {
> +        GenTestConfigContent (L"gEfiBlockIoProtocolGuid", ValueB);
> +        GenTestConfigContent (L"gEfiScsiIoProtocolGuid ", ValueC);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2511,6 +2770,10 @@ CheckBootFromScsi (
>                          );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"ExtScsiPassThruSupport")) {
> +          GenTestConfigContent (L"gEfiExtScsiPassThruProtocolGuid", ValueA);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -2597,6 +2860,11 @@ CheckBootFromIScsi (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BootFromIscsi")) {
> +        GenTestConfigContent (L"gEfiIScsiInitiatorNameProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiAuthenticationInfoProtocolGuid",
> ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2685,6 +2953,11 @@ CheckDebugProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"DebugSupport")) {
> +        GenTestConfigContent (L"gEfiDebugSupportProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiDebugPortProtocolGuid   ", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2755,6 +3028,10 @@ CheckDriverOverrideProtocol (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"PlatformDriverOverride")) {
> +        GenTestConfigContent (L"gEfiPlatformDriverOverrideProtocolGuid",
> ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2824,6 +3101,10 @@ CheckATAProtocol (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"AtaPassThru")) {
> +        GenTestConfigContent (L"gEfiAtaPassThruProtocolGuid", ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2896,6 +3177,13 @@ CheckEbcProtocol (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"EBCSupport")) {
> +        GenTestConfigContent (L"Ebc->CreateThunk", Ebc->CreateThunk !=
> NULL);
> +        GenTestConfigContent (L"Ebc->UnloadImage", Ebc->UnloadImage !=
> NULL);
> +        GenTestConfigContent (L"Ebc->RegisterICacheFlush", Ebc-
> >RegisterICacheFlush != NULL);
> +        GenTestConfigContent (L"Ebc->GetVersion ", Ebc->GetVersion !=
> NULL);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -2993,6 +3281,10 @@ CheckDNS4Protocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"DNS4Support")) {
> +        GenTestConfigContent (L"gEfiDns4ServiceBindingProtocolGuid",
> ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>      StandardLib->RecordAssertion (
>                     StandardLib,
> @@ -3051,6 +3343,11 @@ CheckDNS4Protocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"DNS4Support")) {
> +          GenTestConfigContent (L"gEfiDns4ServiceBindingProtocolGuid",
> ValueA);
> +          GenTestConfigContent (L"gEfiDns4ProtocolGuid              ", ValueB);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -3121,6 +3418,10 @@ CheckDNS6Protocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"DNS6Support")) {
> +        GenTestConfigContent (L"gEfiDns6ServiceBindingProtocolGuid",
> ValueA);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>      StandardLib->RecordAssertion (
>                     StandardLib,
> @@ -3179,6 +3480,11 @@ CheckDNS6Protocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"DNS6Support")) {
> +          GenTestConfigContent (L"gEfiDns6ServiceBindingProtocolGuid",
> ValueA);
> +          GenTestConfigContent (L"gEfiDns6ProtocolGuid              ", ValueB);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -3261,6 +3567,11 @@ CheckTLSProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"TLSSupport")) {
> +        GenTestConfigContent (L"gEfiTlsServiceBindingProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiTlsConfigurationProtocolGuid ", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>      StandardLib->RecordAssertion (
>                     StandardLib,
> @@ -3320,6 +3631,12 @@ CheckTLSProtocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"TLSSupport")) {
> +          GenTestConfigContent (L"gEfiTlsServiceBindingProtocolGuid", ValueA);
> +          GenTestConfigContent (L"gEfiTlsConfigurationProtocolGuid ", ValueB);
> +          GenTestConfigContent (L"gEfiTlsProtocolGuid              ", ValueC);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -3404,6 +3721,11 @@ CheckHTTPProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"HTTPSupport")) {
> +        GenTestConfigContent (L"gEfiHttpServiceBindingProtocolGuid",
> ValueA);
> +        GenTestConfigContent (L"gEfiHttpUtilitiesProtocolGuid     ", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>      StandardLib->RecordAssertion (
>                     StandardLib,
> @@ -3463,6 +3785,12 @@ CheckHTTPProtocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"HTTPSupport")) {
> +          GenTestConfigContent (L"gEfiHttpServiceBindingProtocolGuid",
> ValueA);
> +          GenTestConfigContent (L"gEfiHttpUtilitiesProtocolGuid     ", ValueB);
> +          GenTestConfigContent (L"gEfiHttpProtocolGuid              ", ValueC);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -3553,6 +3881,12 @@ CheckEAPProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"EAPSupport")) {
> +        GenTestConfigContent (L"gEfiEapProtocolGuid           ", ValueA);
> +        GenTestConfigContent (L"gEfiEapConfigProtocolGuid     ", ValueB);
> +        GenTestConfigContent (L"gEfiEapManagement2ProtocolGuid", ValueC);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -3649,6 +3983,12 @@ CheckBlueToothClassicProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BlueToothClassicSupport")) {
> +        GenTestConfigContent (L"gEfiBlueToothHcProtocolGuid            ",
> ValueA);
> +        GenTestConfigContent (L"gEfiBlueToothServiceBindingProtocolGuid",
> ValueB);
> +        GenTestConfigContent (L"gEfiBlueToothConfigProtocolGuid        ",
> ValueC);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
> 
>      //
> @@ -3714,6 +4054,13 @@ CheckBlueToothClassicProtocols (
>                            );
>        if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>          AssertionType = EFI_TEST_ASSERTION_FAILED;
> +        if (!GenTestConfigTitle (L"BlueToothClassicSupport")) {
> +          GenTestConfigContent (L"gEfiBlueToothHcProtocolGuid            ",
> ValueA);
> +          GenTestConfigContent (L"gEfiBlueToothServiceBindingProtocolGuid",
> ValueB);
> +          GenTestConfigContent (L"gEfiBlueToothConfigProtocolGuid        ",
> ValueC);
> +          GenTestConfigContent (L"gEfiBlueToothIoProtocolGuid            ",
> ValueD);
> +          AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +        }
>        }
>      }
> 
> @@ -3807,6 +4154,12 @@ CheckBlueToothLEProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"BlueToothLESupport")) {
> +        GenTestConfigContent (L"gEfiBlueToothHcProtocolGuid       ", ValueA);
> +        GenTestConfigContent (L"gEfiBlueToothAttributeProtocolGuid",
> ValueB);
> +        GenTestConfigContent (L"gEfiBlueToothLEConfigProtocolGuid ",
> ValueC);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -3897,6 +4250,11 @@ CheckIPSecProtocols (
>                          );
>      if (!EFI_ERROR (Status) && (SctStriCmp (String, L"yes") == 0)) {
>        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      if (!GenTestConfigTitle (L"IPSecSupport")) {
> +        GenTestConfigContent (L"gEfiIPSecConfigProtocolGuid", ValueA);
> +        GenTestConfigContent (L"gEfiIPSec2ProtocolGuid     ", ValueB);
> +        AssertionType = EFI_TEST_ASSERTION_WARNING;

AssertionType should not be changed
> +      }
>      }
>    }
> 
> @@ -3915,5 +4273,85 @@ CheckIPSecProtocols (
>                   ValueB ? L"Yes" : L"No"
>                   );
> 
> +  return EFI_SUCCESS;
> +}
> +
> +CONFIG_ERROR_DATA*
> +ConstructionAndAcquisition (
> +  CHAR16               *TitleString,
> +  EFI_INI_FILE_HANDLE  ConfigINI
> +){
> +  UINTN  Index;
> +  static CONFIG_ERROR_DATA Data;
> +
> +  if (TitleString == NULL && ConfigINI != NULL) {
> +    //
> +    //  If only gave ConfigINI, init struct.
> +    //
> +    gtBS->AllocatePool (EfiBootServicesData ,MAX_SIZE,
> (VOID**)&(Data.TitleString));
> +    Data.ConfigINI   = ConfigINI;
> +    Data.ErrorCount  = 0;
> +
> +    return NULL;
> +  } else if (TitleString != NULL && ConfigINI == NULL) {
> +    //
> +    // If Only gave TitleString, update the title and error count +1.
> +    //
> +    for (Index=0; Data.TitleString[Index]=TitleString[Index],
> TitleString[Index]!=0; Index++);
> +    Data.ErrorCount++;
> +
> +    return &Data;
> +  } else if (TitleString != NULL && ConfigINI != NULL) {
> +    //
> +    // If Both not NULL, end of the function, free the buffer.
> +    //
> +    gtBS->FreePool (Data.TitleString);
> +    return &Data;
> +  }
> +  //
> +  // If both NULL, just return struct data.
> +  //
> +  return &Data;
> +}
> +
> +EFI_STATUS
> +GenTestConfigTitle (
> +  IN CHAR16 *TestItemString
> +){
> +  CONFIG_ERROR_DATA *ErrorData;
> +
> +  ErrorData = ConstructionAndAcquisition (TestItemString, NULL);  //
> + // Set title  //  ErrorData->ConfigINI->SetStringByOrder (
> +               ErrorData->ConfigINI,
> +               ErrorData->ErrorCount,
> +               SctPoolPrint (L"%02d. %s",ErrorData->ErrorCount, TestItemString),
> +               L"Device Status  :",
> +               L":  Unavailable"
> +             );
> +
> +  return (GEN_CONFIG_INI_FILE_ON) ? EFI_SUCCESS : EFI_UNSUPPORTED; }
> +
> +EFI_STATUS
> +GenTestConfigContent (
> +  IN CHAR16   *ProtocolGUIDString,
> +  IN BOOLEAN  Value
> +){
> +  CONFIG_ERROR_DATA *ErrorData;
> +
> +  ErrorData = ConstructionAndAcquisition (NULL, NULL);  //  // Gen
> + content  //  ErrorData->ConfigINI->SetString (
> +               ErrorData->ConfigINI,
> +               SctPoolPrint (L"%02d. %s",ErrorData->ErrorCount, ErrorData-
> >TitleString),
> +               SctPoolPrint (L" %s  <-| Status  :", ProtocolGUIDString),
> +               Value ? L":  In use !": L":  Not available !"

In use and Not available may cause confusion.
Suggest to "exist in system" or "not exist in system"

> +             );
> +
>    return EFI_SUCCESS;
>  }
> \ No newline at end of file
> --
Please make sure CRLF at the end of line.

Best Regards
Eric

> 2.16.2.windows.1
> 
> 
> 


       reply	other threads:[~2019-09-26  9:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <15C2B434997E0DDA.16248@groups.io>
2019-09-26  9:01 ` Eric Jin [this message]
2019-09-09  7:22 [edk2-devel] [edk2-test] [PATCH 1/1] uefi-sct/SctPkg: Auto gen result of "EFICompliantTest" Eric Jin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DA72DC7456565B47808A57108259571F6381978D@SHSMSX103.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox