* [edk2-devel] [edk2-test] [PATCH 1/1] uefi-sct/SctPkg: Auto gen result of "EFICompliantTest".
@ 2019-09-09 7:22 Eric Jin
0 siblings, 0 replies; 2+ messages in thread
From: Eric Jin @ 2019-09-09 7:22 UTC (permalink / raw)
To: EDK II Development; +Cc: Supreeth Venkatesh, Jin, Eric
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/EfiCompliantBBTestPlatform_uefi.c b/Edk2/SctPkg/TestCase/UEFI/EFI/Generic/EfiCompliant/BlackBoxTest/EfiCompliantBBTestPlatform_uefi.c
index 221366b..7bbec70 100644
--- a/Edk2/SctPkg/TestCase/UEFI/EFI/Generic/EfiCompliant/BlackBoxTest/EfiCompliantBBTestPlatform_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
+ );
+ 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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
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;
+ }
}
}
@@ -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;
+ }
}
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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
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;
+ }
}
}
@@ -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;
+ }
}
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;
+ }
}
}
@@ -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;
+ }
}
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;
+ }
}
}
@@ -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;
+ }
}
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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
//
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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;
+ }
}
}
@@ -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 !"
+ );
+
return EFI_SUCCESS;
}
\ No newline at end of file
--
2.16.2.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
[parent not found: <15C2B434997E0DDA.16248@groups.io>]
* Re: [edk2-devel] [edk2-test] [PATCH 1/1] uefi-sct/SctPkg: Auto gen result of "EFICompliantTest".
[not found] <15C2B434997E0DDA.16248@groups.io>
@ 2019-09-26 9:01 ` Eric Jin
0 siblings, 0 replies; 2+ messages in thread
From: Eric Jin @ 2019-09-26 9:01 UTC (permalink / raw)
To: devel@edk2.groups.io, Chen, ArvinX; +Cc: Supreeth Venkatesh
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
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-09-26 9:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-09 7:22 [edk2-devel] [edk2-test] [PATCH 1/1] uefi-sct/SctPkg: Auto gen result of "EFICompliantTest" Eric Jin
[not found] <15C2B434997E0DDA.16248@groups.io>
2019-09-26 9:01 ` Eric Jin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox