public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-test][Patch] Enable the DNS/BLE DevicePath test
@ 2018-10-11  6:50 Eric Jin
  2018-10-12  7:59 ` Supreeth Venkatesh
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Jin @ 2018-10-11  6:50 UTC (permalink / raw)
  To: edk2-devel

Add new test for DNS/BlueToothLE DevicePath
Resort the assertion guid of DevicePath test

Cc: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin <eric.jin@intel.com>
---
 .../BlackBoxTest/DevicePathBBTestFunction.c        |  96 ++++++--
 .../EFI/Protocol/DevicePath/BlackBoxTest/Guid.c    |  40 ++--
 .../EFI/Protocol/DevicePath/BlackBoxTest/Guid.h    | 103 +++++----
 .../DevicePathFromTextBBTestCoverage.c             | 163 ++++++++++++-
 .../DevicePathFromText/BlackBoxTest/Guid.c         |   6 +-
 .../DevicePathFromText/BlackBoxTest/Guid.h         |  14 +-
 .../BlackBoxTest/DevicePathToTextBBTestCoverage.c  | 125 +++++++++-
 .../BlackBoxTest/DevicePathToTextBBTestMain.c      | 104 ++++++++-
 .../Protocol/DevicePathToText/BlackBoxTest/Guid.c  |   8 +-
 .../Protocol/DevicePathToText/BlackBoxTest/Guid.h  |  22 +-
 .../BlackBoxTest/DevicePathBBTestFunction.c        |  96 ++++++--
 .../DevicePath/BlackBoxTest/DevicePathBBTestMain.c |   4 +-
 .../IHV/Protocol/DevicePath/BlackBoxTest/Guid.c    |  40 ++--
 .../IHV/Protocol/DevicePath/BlackBoxTest/Guid.h    | 255 +++++++++++++--------
 uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h         |  18 +-
 15 files changed, 865 insertions(+), 229 deletions(-)

diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
index 2ab48c0..3079018 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -71,6 +71,8 @@ BBTestDevicePathNodeConformanceAutoTest (
   HARDDRIVE_DEVICE_PATH               *Hd;
   CHAR16                              *DevStr;
   BMC_DEVICE_PATH                     *BMC;
+  DNS_DEVICE_PATH                     *DNS;
+  BLUETOOTH_LE_DEVICE_PATH            *BlueToothLE;
 
   //
   // Get the Standard Library Interface
@@ -264,7 +266,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid051,
+                    gDevicePathBBTestFunctionAssertionGuid042,
                     L"EFI_DEVICE_PATH_PROTOCOL - Hardware Device Path - Controller Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d, InterfaceType - %x",
                     __FILE__,
@@ -340,7 +342,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid040,
+                    gDevicePathBBTestFunctionAssertionGuid031,
                     L"EFI_DEVICE_PATH_PROTOCOL - ACPI _ADR Device Path - ACPI _ADR Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -491,7 +493,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid048,
+                    gDevicePathBBTestFunctionAssertionGuid039,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - SATA Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -516,7 +518,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid041,
+                    gDevicePathBBTestFunctionAssertionGuid032,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -540,7 +542,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid042,
+                    gDevicePathBBTestFunctionAssertionGuid033,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -687,7 +689,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid052,
+                    gDevicePathBBTestFunctionAssertionGuid043,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Vlan Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, VlanId - %d",
                     __FILE__,
@@ -710,7 +712,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid045,
+                    gDevicePathBBTestFunctionAssertionGuid036,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Fibre Channel Ex device path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -733,7 +735,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid046,
+                    gDevicePathBBTestFunctionAssertionGuid037,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI(SAS) Ex device path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -756,7 +758,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid047,
+                    gDevicePathBBTestFunctionAssertionGuid038,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - NVM Express Namespace Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -779,7 +781,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid053,
+                    gDevicePathBBTestFunctionAssertionGuid044,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Uniform Resource Identifiers (URI) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -802,7 +804,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid054,
+                    gDevicePathBBTestFunctionAssertionGuid045,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Universal Flash Storage (UFS) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -825,7 +827,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid055,
+                    gDevicePathBBTestFunctionAssertionGuid046,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Secure Digital (SD) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -848,7 +850,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid056,
+                    gDevicePathBBTestFunctionAssertionGuid047,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Bluetooth Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -871,7 +873,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid057,
+                    gDevicePathBBTestFunctionAssertionGuid048,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - WIFI Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -894,7 +896,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid060,
+                    gDevicePathBBTestFunctionAssertionGuid051,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - eMMC (Embedded Multi-Media Card) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -905,6 +907,56 @@ BBTestDevicePathNodeConformanceAutoTest (
                     );
     }
     //
+    // Add a new checkpoint for BlueToothLE Device Path
+    // Check Messaging Device Path: BlueToothLE Device Path
+    //
+    else if ((Type == 3) && (SubType == 30)) {
+      BlueToothLE = (BLUETOOTH_LE_DEVICE_PATH *) DevicePath;   	
+      if ((Length  == 11) && ((BlueToothLE->LEAddress.Type == 0) || (BlueToothLE->LEAddress.Type == 1))) {
+        AssertionType = EFI_TEST_ASSERTION_PASSED;
+      } else {
+        AssertionType = EFI_TEST_ASSERTION_FAILED;
+      }
+      StandardLib->RecordAssertion (
+                    StandardLib,
+                    AssertionType,
+                    gDevicePathBBTestFunctionAssertionGuid052,
+                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - BlueToothLE Device Path",
+                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, Type - %d",
+                    __FILE__,
+                    (UINTN)__LINE__,
+                    (UINTN)Type,
+                    (UINTN)SubType,
+                    (UINTN)Length,
+                    (UINTN)BlueToothLE->LEAddress.Type
+                    );
+    }
+    //
+    // Add a new checkpoint for DNS Device Path
+    // Check Messaging Device Path: DNS Device Path
+    //
+    else if ((Type == 3) && (SubType == 31)) {
+      DNS = (DNS_DEVICE_PATH *) DevicePath;
+      if (((Length - 5) % sizeof(EFI_IP_ADDRESS) == 0) && ((DNS->IsIPv6 == 0) || (DNS->IsIPv6 == 1))) {
+        AssertionType = EFI_TEST_ASSERTION_PASSED;
+      } else {
+        AssertionType = EFI_TEST_ASSERTION_FAILED;
+      }
+      StandardLib->RecordAssertion (
+                    StandardLib,
+                    AssertionType,
+                    gDevicePathBBTestFunctionAssertionGuid030,
+                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - DNS Device Path",
+                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, IsIPv6 - %d",
+                    __FILE__,
+                    (UINTN)__LINE__,
+                    (UINTN)Type,
+                    (UINTN)SubType,
+                    (UINTN)Length,
+                    (UINTN)DNS->IsIPv6
+                    );
+    }
+    //
     // Assertion Point 3.1.2.23
     // Check Messaging Device Path: InfiniBand Device Path
     //
@@ -1000,7 +1052,7 @@ BBTestDevicePathNodeConformanceAutoTest (
         StandardLib->RecordAssertion (
                       StandardLib,
                       AssertionType,
-                      gDevicePathBBTestFunctionAssertionGuid043,
+                      gDevicePathBBTestFunctionAssertionGuid034,
                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI (SAS) Device Path",
                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                       __FILE__,
@@ -1051,7 +1103,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid044,
+                    gDevicePathBBTestFunctionAssertionGuid035,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path -  iSCSI Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1201,7 +1253,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid049,
+                    gDevicePathBBTestFunctionAssertionGuid040,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware Volume",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1225,7 +1277,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid050,
+                    gDevicePathBBTestFunctionAssertionGuid041,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware File",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1250,7 +1302,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid058,
+                    gDevicePathBBTestFunctionAssertionGuid049,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - Relative Offset Range",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1274,7 +1326,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid059,
+                    gDevicePathBBTestFunctionAssertionGuid050,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - RAM Disk",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c
index 421d17c..33b0817 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -84,6 +84,26 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid028 = EFI_TEST_DEVICEPATHBBTESTF
 
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid029 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_029_GUID;
 
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid030 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid031 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid032 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid033 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid034 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid035 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid036 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid037 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid038 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid039 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID;
+
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid040 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID;
 
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid041 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID;
@@ -106,22 +126,6 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid049 = EFI_TEST_DEVICEPATHBBTESTF
 
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid050 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID;
 
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
-
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid051 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID;
 
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid053 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid054 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid055 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid056 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid057 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid058 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid059 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid060 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID;
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h
index dac578e..33ce8c2 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -227,149 +227,162 @@ extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid028;
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid029;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID \
+  { \
+    0x4d074d59, 0x6051, 0x48ce, { 0x8d, 0x89, 0x9d, 0x4, 0xad, 0xe9, 0x67, 0xc } \
+  }
+
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid030;
+
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID \
   { \
     0xC3B2BA41, 0x7126, 0x4B7A, {0xAB, 0xDC, 0x7D, 0x1B, 0x46, 0x3D, 0x9B, 0xD7 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid031;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID \
   { \
     0xD1527A5C, 0xC1BD, 0x4585, {0x93, 0x23, 0xA5, 0xEA, 0xC7, 0xD5, 0x12, 0x7B } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid032;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID \
   { \
     0x50E59956, 0x46FD, 0x4B21, {0xB5, 0x57, 0x9A, 0x33, 0xB2, 0x08, 0xD3, 0x41 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid033;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID \
   { \
     0x8E637C03, 0xA1DF, 0x4AB6, {0xAE, 0x29, 0x5B, 0x9C, 0xD8, 0x6C, 0x6D, 0x1E } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid034;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID \
   { \
     0x885DB334, 0x940B, 0x4EC3, {0x82, 0xE5, 0xC5, 0xF1, 0x1D, 0xDB, 0x2A, 0x42 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid035;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID \
   { \
     0x5658C849, 0xD7ED, 0x4780, {0x8E, 0xE7, 0x6D, 0xF2, 0x62, 0x48, 0x1D, 0xDB } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid036;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID \
   { \
     0x3F412961, 0x4872, 0x4AA9, {0xBE, 0xD2, 0x2B, 0x03, 0x5F, 0xBC, 0xCC, 0xB6 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid037;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID \
   { \
     0x2ed116cb, 0x1ec7, 0x468a, {0x9c, 0xf8, 0xf, 0xf4, 0x41, 0x2a, 0x4b, 0xb1 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid038;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID \
   { \
     0xab5c791b, 0x015c, 0x41b2, {0x93, 0xdf, 0x70, 0xf5, 0xc8, 0xaf, 0x3a, 0xec } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid039;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
   { \
     0x2bbca783, 0x4c23, 0x477d, {0xa7, 0x50, 0xf3, 0xda, 0xfa, 0xbc, 0x38, 0xf6 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
   { \
     0xbaaf24e1, 0xc59, 0x4494, {0xaf, 0xef, 0x53, 0x2, 0xc1, 0x90, 0x57, 0x29 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
   { \
-    0xbe55aaa6, 0x7510, 0x4904, {0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 } \
+    0x64770fbb, 0x280f, 0x40d5, {0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
   { \
-    0x64770fbb, 0x280f, 0x40d5, {0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b } \
+    0xbe55aaa6, 0x7510, 0x4904, {0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
   { \
     0x88882137, 0x4e4d, 0x445a, {0xa1, 0xae, 0x11, 0xd8, 0xc2, 0xe1, 0xcf, 0xac } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid053;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
   { \
     0xda928c4a, 0x6d22, 0x4091, {0x95, 0x8c, 0xe, 0xde, 0xa5, 0x3b, 0xc8, 0x2e } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid054;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
   { \
     0x71e0582d, 0x983, 0x468e, {0x9a, 0x5d, 0xd2, 0xe5, 0xbb, 0x8c, 0x52, 0x6c } \
   }
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid055;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
   { \
     0x3d20f5d0, 0x670a, 0x4923, {0x91, 0x78, 0xb0, 0x1e, 0x6d, 0xe8, 0xee, 0x13 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid056;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
   { \
     0x136c50de, 0xb2d4, 0x4416, {0xb4, 0x90, 0xe, 0x32, 0x85, 0xf1, 0x6a, 0x7 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid057;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
   { \
     0x973269de, 0xdca6, 0x4ad9, {0x9b, 0x9b, 0x6, 0x40, 0xfa, 0x4d, 0xbd, 0xf5 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid058;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
   { \
     0x6e817459, 0x21fd, 0x4923, {0x89, 0xe7, 0xca, 0xf9, 0x7d, 0x9d, 0xc2, 0x27 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid059;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
   { \
     0xdf69547d, 0xd032, 0x44bd, { 0xb0, 0x54, 0x7f, 0x34, 0x3c, 0x2c, 0x7d, 0x95 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid060;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
 
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
+  { \
+    0x1ee91961, 0xe0fb, 0x4f76, { 0x89, 0xa7, 0xd4, 0x9f, 0x24, 0xc2, 0xc0, 0x4f } \
+  }
+
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c
index 6f0af40..d428893 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c
@@ -1665,6 +1665,89 @@ CreateEMMCDeviceNode (
   return (EFI_DEVICE_PATH_PROTOCOL *) EMMC;
 }
 
+
+#define BlueToothLENodeType    3
+#define BlueToothLENodeSubType 30
+
+STATIC
+EFI_DEVICE_PATH_PROTOCOL *
+CreateBlueToothLEDeviceNode (
+  IN CHAR16 *TextDeviceNode
+  )
+{
+  CHAR16                      *BDAddrStr;
+  CHAR16                      *TypeStr;
+  BLUETOOTH_LE_DEVICE_PATH    *BLUETOOTHLE;
+  UINTN                       Length;
+
+
+  BDAddrStr = SctSplitStr (&TextDeviceNode, L',');
+  TypeStr = SctSplitStr (&TextDeviceNode, L',');
+  BLUETOOTHLE  = (BLUETOOTH_LE_DEVICE_PATH *) CreateDeviceNode (
+                                                BlueToothLENodeType,
+                                                BlueToothLENodeSubType,
+                                                sizeof (BLUETOOTH_LE_DEVICE_PATH)
+                                                );
+
+  Length = sizeof (BLUETOOTH_ADDRESS);
+
+  StrToBuf (&BLUETOOTHLE->LEAddress.Address[0], Length, BDAddrStr);
+  BLUETOOTHLE->LEAddress.Type = (UINT8) SctStrToUInt (TypeStr);
+
+  return (EFI_DEVICE_PATH_PROTOCOL *) BLUETOOTHLE;
+}
+
+
+#define DNSNodeType    3
+#define DNSNodeSubType 31
+
+STATIC
+EFI_DEVICE_PATH_PROTOCOL *
+CreateDNSDeviceNode (
+  IN CHAR16 *TextDeviceNode
+  )
+{
+  CHAR16             *IpStr1;
+  CHAR16             *IpStr2;
+  CHAR16             *Temp;
+  DNS_DEVICE_PATH    *DNS;
+
+  IpStr1           = SctSplitStr (&TextDeviceNode, L',');
+  IpStr2           = SctSplitStr (&TextDeviceNode, L',');
+  DNS  = (DNS_DEVICE_PATH *) CreateDeviceNode (
+                                 DNSNodeType,
+                                 DNSNodeSubType,
+                                 sizeof (DNS_DEVICE_PATH) + 2 * sizeof(EFI_IP_ADDRESS)
+                                 );
+
+  Temp = IpStr1;
+  while(*Temp != L'\0') {
+    if (*Temp == L'.') {
+      DNS->IsIPv6 = 0;
+      break;
+    }
+
+    if (*Temp == L':') {
+      DNS->IsIPv6 = 1;
+      break;
+    }
+    Temp++;
+  }
+
+  if (DNS->IsIPv6 == 0) {
+    SctStrToIPv4Addr (&IpStr1, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH));
+    SctStrToIPv4Addr (&IpStr2, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS));
+  }
+
+  if (DNS->IsIPv6 == 1) {
+    SctStrToIPv6Addr (&IpStr1, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH));
+    SctStrToIPv6Addr (&IpStr2, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS));
+  }
+
+  return (EFI_DEVICE_PATH_PROTOCOL *) DNS;
+}
+
+
 #define HdNodeType     4
 #define HdNodeSubType  1
 
@@ -3410,8 +3493,86 @@ DevicePathFromTextConvertTextToDeviceNodeCoverageTest (
                 L"%a:%d, Convert eMMC(0)",
                 __FILE__,
                 (UINTN)__LINE__
-                ); 
+                );
+
+  //
+  // BluetoothLE(001320F5FA77, 0) 
+  //
+  SctStrCpy (text, L"001320F5FA77");
+  pDevicePath = CreateBlueToothLEDeviceNode(text);
 
+  SctStrCpy (text, L"BluetoothLE(001320F5FA77,0)");
+  pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text);
+  if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) {
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
+  SctFreePool (pDevicePath);
+  SctFreePool (pReDevicePath);
+
+  StandardLib->RecordAssertion (
+                StandardLib,
+                AssertionType,
+                gDevicePathFromTextBBTestFunctionAssertionGuid141,
+                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
+                L"%a:%d, Convert BluetoothLE(001320F5FA77, 0)",
+                __FILE__,
+                (UINTN)__LINE__
+                );
+
+  //
+  // Dns(192.168.22.100,192.168.22.101)
+  //
+  SctStrCpy (text, L"192.168.22.100,192.168.22.101");
+  pDevicePath = CreateDNSDeviceNode(text);
+
+  SctStrCpy (text, L"Dns(192.168.22.100,192.168.22.101)");
+  pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text);
+  if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) {
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
+  SctFreePool (pDevicePath);
+  SctFreePool (pReDevicePath);
+
+  StandardLib->RecordAssertion (
+                StandardLib,
+                AssertionType,
+                gDevicePathFromTextBBTestFunctionAssertionGuid140,
+                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
+                L"%a:%d, Convert Dns(192.168.22.100,192.168.22.101)",
+                __FILE__,
+                (UINTN)__LINE__
+                );
+
+  //
+  // Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)
+  //
+  SctStrCpy (text, L"1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD");
+  pDevicePath = CreateDNSDeviceNode(text);
+
+  SctStrCpy (text, L"Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)");
+  pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text);
+  if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) {
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
+  SctFreePool (pDevicePath);
+  SctFreePool (pReDevicePath);
+
+  StandardLib->RecordAssertion (
+                StandardLib,
+                AssertionType,
+                gDevicePathFromTextBBTestFunctionAssertionGuid140,
+                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
+                L"%a:%d, Convert Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)",
+                __FILE__,
+                (UINTN)__LINE__
+                );
+  
   //
   // RamDisk(0xABCD1234C0000000,0xABCD1234CFFFFFFF,1,E8AAED38-1815-4E4F-BCB5-2E3DBD160C9C)
   //
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c
index c7299a7..ef1816c 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -144,4 +144,8 @@ EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid138 = EFI_TEST_DEVICEPAT
 
 EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid139 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_139_GUID;
 
+EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid140 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_140_GUID;
+
+EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid141 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_141_GUID;
+
 EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid180 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_180_GUID;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h
index d9678a5..f02dd10 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -434,6 +434,18 @@ extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid138;
   }
 extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid139;
 
+#define EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_140_GUID \
+  { \
+    0xf0820f21, 0xad58, 0x4a9a, { 0xb6, 0x4b, 0xb0, 0x34, 0x72, 0x4d, 0x80, 0xc2 } \
+  }
+extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid140;
+
+#define EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_141_GUID \
+  { \
+    0xed04ff52, 0xc8af, 0x411f, { 0x8b, 0x67, 0xbb, 0x2e, 0x80, 0xbe, 0xe4, 0xa2 } \
+  }
+extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid141;
+
 #define EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_180_GUID \
   { \
     0x1759828d, 0x3377, 0x4473, {0x84, 0x8a, 0x1a, 0x92, 0x6f, 0x2e, 0x5b, 0xc5 } \
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c
index 4258f0e..c30af43 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -1909,7 +1909,7 @@ DevicePathToTextConvertDeviceNodeToTextCoverageTest (
   StandardLib->RecordAssertion (
                 StandardLib,
                 AssertionType,
-                gDevicePathToTextBBTestFunctionAssertionGuid127,
+                gDevicePathToTextBBTestFunctionAssertionGuid133,
                 L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
                 L"%a:%d: Convert result: %s - Expected: UFS(0,3)",
                 __FILE__,
@@ -2081,6 +2081,127 @@ DevicePathToTextConvertDeviceNodeToTextCoverageTest (
   if (Text != NULL) {
     SctFreePool (Text);
   }
+
+
+  //
+  // BluetoothLE(77FAF5201300,0) 
+  //
+  pDeviceNode1 = DevicePathUtilities->CreateDeviceNode (0x3, 0x1E, 11);  
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[0] = 0x77;
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[1] = 0xFA;
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[2] = 0xF5;
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[3] = 0x20;
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[4] = 0x13;
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[5] = 0x00;
+  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Type = 0;
+
+  Text = DevicePathToText->ConvertDeviceNodeToText (pDeviceNode1, FALSE, FALSE);
+  pDeviceNode2 = SctConvertTextToDeviceNode(Text);
+
+  if ((pDeviceNode2 != NULL) && (SctCompareMem (pDeviceNode2, pDeviceNode1, SctDevicePathNodeLength(pDeviceNode1)) == 0)) {
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
+
+  StandardLib->RecordAssertion (
+                StandardLib,
+                AssertionType,
+                gDevicePathToTextBBTestFunctionAssertionGuid134,
+                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
+                L"%a:%d: Convert result: %s - Expected: BluetoothLE(77FAF5201300,0)",
+                __FILE__,
+                (UINTN)__LINE__,
+                Text
+                );
+  if (pDeviceNode1 != NULL) {
+    SctFreePool (pDeviceNode1);
+  }
+  if (pDeviceNode2 != NULL) {
+    SctFreePool (pDeviceNode2);
+  }
+  if (Text != NULL) {
+    SctFreePool (Text);
+  }
+
+  //
+  // Dns(192.168.22.100,192.168.22.101)
+  //
+  pDeviceNode1 = DevicePathUtilities->CreateDeviceNode (0x3, 0x1F, sizeof(DNS_DEVICE_PATH) + 2 * sizeof(EFI_IP_ADDRESS));
+  ((DNS_DEVICE_PATH *)pDeviceNode1)->IsIPv6 = 0;
+
+  ConvertStrToIPv4Addr (L"192.168.22.100", ((EFI_IPv4_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH))));
+  ConvertStrToIPv4Addr (L"192.168.22.101", ((EFI_IPv4_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS))));
+
+
+  Text = DevicePathToText->ConvertDeviceNodeToText (pDeviceNode1, FALSE, FALSE);
+  pDeviceNode2 = SctConvertTextToDeviceNode(Text);  
+
+  if ((pDeviceNode2 != NULL) && (SctCompareMem (pDeviceNode2, pDeviceNode1, SctDevicePathNodeLength(pDeviceNode1)) == 0)) {
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
+
+  StandardLib->RecordAssertion (
+                StandardLib,
+                AssertionType,
+                gDevicePathToTextBBTestFunctionAssertionGuid132,
+                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
+                L"%a:%d: Convert result: %s - Expected: Dns(192.168.22.100,192.168.22.101)",
+                __FILE__,
+                (UINTN)__LINE__,
+                Text
+                );
+  if (pDeviceNode1 != NULL) {
+    SctFreePool (pDeviceNode1);
+  }
+  if (pDeviceNode2 != NULL) {
+    SctFreePool (pDeviceNode2);
+  }
+  if (Text != NULL) {
+    SctFreePool (Text);
+  }
+
+  //
+  // Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)
+  //
+  pDeviceNode1 = DevicePathUtilities->CreateDeviceNode (0x3, 0x1F, sizeof(DNS_DEVICE_PATH) + 2 * sizeof(EFI_IP_ADDRESS));
+  ((DNS_DEVICE_PATH *)pDeviceNode1)->IsIPv6 = 1;
+
+  ConvertStrToIPv6Addr (L"1234:5678:ABCD:1234:5678:ABCD:1234:5678", ((EFI_IPv6_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH))));
+  ConvertStrToIPv6Addr (L"5678:ABCD:1234:5678:ABCD:1234:5678:ABCD", ((EFI_IPv6_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS))));
+
+
+  Text = DevicePathToText->ConvertDeviceNodeToText (pDeviceNode1, FALSE, FALSE);
+  pDeviceNode2 = SctConvertTextToDeviceNode(Text);  
+
+  if ((pDeviceNode2 != NULL) && (SctCompareMem (pDeviceNode2, pDeviceNode1, SctDevicePathNodeLength(pDeviceNode1)) == 0)) {
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
+
+  StandardLib->RecordAssertion (
+                StandardLib,
+                AssertionType,
+                gDevicePathToTextBBTestFunctionAssertionGuid132,
+                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
+                L"%a:%d: Convert result: %s - Expected: Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)",
+                __FILE__,
+                (UINTN)__LINE__,
+                Text
+                );
+  if (pDeviceNode1 != NULL) {
+    SctFreePool (pDeviceNode1);
+  }
+  if (pDeviceNode2 != NULL) {
+    SctFreePool (pDeviceNode2);
+  }
+  if (Text != NULL) {
+    SctFreePool (Text);
+  }
+
   
   return EFI_SUCCESS;
 }
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c
index cbb517e..41cf217 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -3811,6 +3811,102 @@ InValidText:
   return NULL;
 }
 
+STATIC
+EFI_DEVICE_PATH_PROTOCOL *
+BuildBluetoothLEDeviceNode (
+  IN CHAR16                      *TextDeviceNode
+  )
+{
+  EFI_STATUS                      Status;
+  CHAR16                          *ParamIdentifierStr;
+  CHAR16                          *ParamIdentifierVal;
+  BLUETOOTH_LE_DEVICE_PATH        *BluetoothLE;
+
+  BluetoothLE = (BLUETOOTH_LE_DEVICE_PATH *) CreateDeviceNode (0x3, 0x1E, sizeof (BLUETOOTH_LE_DEVICE_PATH));
+  if (BluetoothLE == NULL) {
+    return NULL;
+  }
+
+  Status = GetNextRequiredParam(&TextDeviceNode, L"LEAddress", &ParamIdentifierStr, &ParamIdentifierVal);
+  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
+    StrToBuf (&BluetoothLE->LEAddress.Address[0], sizeof (BLUETOOTH_ADDRESS), ParamIdentifierVal);
+  } else {
+  	goto InValidText;
+  }
+
+
+  Status = GetNextRequiredParam(&TextDeviceNode, L"Type", &ParamIdentifierStr, &ParamIdentifierVal);
+  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
+    BluetoothLE->LEAddress.Type = (UINT8) SctStrToUInt (ParamIdentifierVal);
+  } else {
+  	goto InValidText;
+  }
+
+
+  return (EFI_DEVICE_PATH_PROTOCOL *) BluetoothLE;
+InValidText:
+  SctFreePool(BluetoothLE);
+  return NULL;
+}
+
+
+
+STATIC
+EFI_DEVICE_PATH_PROTOCOL *
+BuildDNSDeviceNode (
+  IN CHAR16                      *TextDeviceNode
+  )
+{
+  EFI_STATUS            Status;
+  CHAR16                *ParamIdentifierStr;
+  CHAR16                *ParamIdentifierVal;
+  CHAR16                *Temp;
+  DNS_DEVICE_PATH       *DNS;
+
+  DNS = (DNS_DEVICE_PATH *) CreateDeviceNode (0x3, 0x1F, sizeof (DNS_DEVICE_PATH) + 2 * sizeof (EFI_IP_ADDRESS));
+  if (DNS == NULL) {
+    return NULL;
+  }
+
+  Status = GetNextRequiredParam(&TextDeviceNode, L"DnsServerIp", &ParamIdentifierStr, &ParamIdentifierVal);
+  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
+    Temp = ParamIdentifierVal;
+    while(*Temp != L'\0') {
+      if (*Temp == L'.') {
+        DNS->IsIPv6 = 0;
+        break;
+      }
+
+      if (*Temp == L':') {
+        DNS->IsIPv6 = 1;
+        break;
+      }
+      Temp++;
+    }
+
+    if (DNS->IsIPv6 == 0)  	
+      SctStrToIPv4Addr (&ParamIdentifierVal, (EFI_IPv4_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH)));
+    else
+      SctStrToIPv6Addr (&ParamIdentifierVal, (EFI_IPv6_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH)));
+  } else {
+  	goto InValidText;
+  }
+
+  Status = GetNextRequiredParam(&TextDeviceNode, L"DnsServerIp", &ParamIdentifierStr, &ParamIdentifierVal);
+  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
+    if (DNS->IsIPv6 == 0)  	
+      SctStrToIPv4Addr (&ParamIdentifierVal, (EFI_IPv4_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS)));
+    else
+      SctStrToIPv6Addr (&ParamIdentifierVal, (EFI_IPv6_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS)));
+  } else {
+  	goto InValidText;
+  }
+
+  return (EFI_DEVICE_PATH_PROTOCOL *) DNS;
+InValidText:
+  SctFreePool(DNS);
+  return NULL;
+}
 
 STATIC DEVICE_PATH_FROM_TEXT_TABLE BuildDevPathNodeFuncTable[] = {
   L"PciRoot",
@@ -3902,7 +3998,11 @@ STATIC DEVICE_PATH_FROM_TEXT_TABLE BuildDevPathNodeFuncTable[] = {
   L"Wi-Fi",
   BuildWiFiDeviceNode,
   L"eMMC",
-  BuildEMMCDeviceNode,  
+  BuildEMMCDeviceNode,
+  L"BluetoothLE",
+  BuildBluetoothLEDeviceNode,  
+  L"Dns",
+  BuildDNSDeviceNode,
   L"Uart",
   BuildUartDeviceNode,
   L"UsbClass",
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c
index ec01577..9cad8d3 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2015 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -130,3 +130,9 @@ EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid130 = EFI_TEST_DEVICEPATHT
 
 EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid131 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_131_GUID;
 
+EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid132 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_132_GUID;
+
+EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid133 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_133_GUID;
+
+EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid134 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_134_GUID;
+
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h
index fbc2331..41d2a8a 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2016 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -380,3 +380,23 @@ extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid130;
 
 extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid131;
 
+#define EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_132_GUID \
+  { \
+    0x5a9904c6, 0xed34, 0x43ca, { 0xbf, 0x58, 0x3a, 0xc0, 0x43, 0x90, 0xf1, 0xd0 } \
+  }
+
+extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid132;
+
+#define EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_133_GUID \
+  { \
+    0x8236178a, 0x1a6, 0x4454, { 0xa9, 0xc9, 0x18, 0xe9, 0xa, 0xa5, 0xfe, 0x29 } \
+  }
+
+extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid133;
+
+#define EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_134_GUID \
+  { \
+    0xc57ad77d, 0x53dd, 0x4669, { 0x94, 0x9f, 0xe6, 0x33, 0xa1, 0x91, 0xb7, 0x71 } \
+  }
+
+extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid134;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
index 2ab48c0..3079018 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -71,6 +71,8 @@ BBTestDevicePathNodeConformanceAutoTest (
   HARDDRIVE_DEVICE_PATH               *Hd;
   CHAR16                              *DevStr;
   BMC_DEVICE_PATH                     *BMC;
+  DNS_DEVICE_PATH                     *DNS;
+  BLUETOOTH_LE_DEVICE_PATH            *BlueToothLE;
 
   //
   // Get the Standard Library Interface
@@ -264,7 +266,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid051,
+                    gDevicePathBBTestFunctionAssertionGuid042,
                     L"EFI_DEVICE_PATH_PROTOCOL - Hardware Device Path - Controller Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d, InterfaceType - %x",
                     __FILE__,
@@ -340,7 +342,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid040,
+                    gDevicePathBBTestFunctionAssertionGuid031,
                     L"EFI_DEVICE_PATH_PROTOCOL - ACPI _ADR Device Path - ACPI _ADR Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -491,7 +493,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid048,
+                    gDevicePathBBTestFunctionAssertionGuid039,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - SATA Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -516,7 +518,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid041,
+                    gDevicePathBBTestFunctionAssertionGuid032,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -540,7 +542,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid042,
+                    gDevicePathBBTestFunctionAssertionGuid033,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -687,7 +689,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid052,
+                    gDevicePathBBTestFunctionAssertionGuid043,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Vlan Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, VlanId - %d",
                     __FILE__,
@@ -710,7 +712,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid045,
+                    gDevicePathBBTestFunctionAssertionGuid036,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Fibre Channel Ex device path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -733,7 +735,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid046,
+                    gDevicePathBBTestFunctionAssertionGuid037,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI(SAS) Ex device path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -756,7 +758,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid047,
+                    gDevicePathBBTestFunctionAssertionGuid038,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - NVM Express Namespace Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -779,7 +781,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid053,
+                    gDevicePathBBTestFunctionAssertionGuid044,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Uniform Resource Identifiers (URI) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -802,7 +804,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid054,
+                    gDevicePathBBTestFunctionAssertionGuid045,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Universal Flash Storage (UFS) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -825,7 +827,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid055,
+                    gDevicePathBBTestFunctionAssertionGuid046,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Secure Digital (SD) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -848,7 +850,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid056,
+                    gDevicePathBBTestFunctionAssertionGuid047,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Bluetooth Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -871,7 +873,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid057,
+                    gDevicePathBBTestFunctionAssertionGuid048,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - WIFI Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -894,7 +896,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid060,
+                    gDevicePathBBTestFunctionAssertionGuid051,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - eMMC (Embedded Multi-Media Card) Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -905,6 +907,56 @@ BBTestDevicePathNodeConformanceAutoTest (
                     );
     }
     //
+    // Add a new checkpoint for BlueToothLE Device Path
+    // Check Messaging Device Path: BlueToothLE Device Path
+    //
+    else if ((Type == 3) && (SubType == 30)) {
+      BlueToothLE = (BLUETOOTH_LE_DEVICE_PATH *) DevicePath;   	
+      if ((Length  == 11) && ((BlueToothLE->LEAddress.Type == 0) || (BlueToothLE->LEAddress.Type == 1))) {
+        AssertionType = EFI_TEST_ASSERTION_PASSED;
+      } else {
+        AssertionType = EFI_TEST_ASSERTION_FAILED;
+      }
+      StandardLib->RecordAssertion (
+                    StandardLib,
+                    AssertionType,
+                    gDevicePathBBTestFunctionAssertionGuid052,
+                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - BlueToothLE Device Path",
+                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, Type - %d",
+                    __FILE__,
+                    (UINTN)__LINE__,
+                    (UINTN)Type,
+                    (UINTN)SubType,
+                    (UINTN)Length,
+                    (UINTN)BlueToothLE->LEAddress.Type
+                    );
+    }
+    //
+    // Add a new checkpoint for DNS Device Path
+    // Check Messaging Device Path: DNS Device Path
+    //
+    else if ((Type == 3) && (SubType == 31)) {
+      DNS = (DNS_DEVICE_PATH *) DevicePath;
+      if (((Length - 5) % sizeof(EFI_IP_ADDRESS) == 0) && ((DNS->IsIPv6 == 0) || (DNS->IsIPv6 == 1))) {
+        AssertionType = EFI_TEST_ASSERTION_PASSED;
+      } else {
+        AssertionType = EFI_TEST_ASSERTION_FAILED;
+      }
+      StandardLib->RecordAssertion (
+                    StandardLib,
+                    AssertionType,
+                    gDevicePathBBTestFunctionAssertionGuid030,
+                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - DNS Device Path",
+                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, IsIPv6 - %d",
+                    __FILE__,
+                    (UINTN)__LINE__,
+                    (UINTN)Type,
+                    (UINTN)SubType,
+                    (UINTN)Length,
+                    (UINTN)DNS->IsIPv6
+                    );
+    }
+    //
     // Assertion Point 3.1.2.23
     // Check Messaging Device Path: InfiniBand Device Path
     //
@@ -1000,7 +1052,7 @@ BBTestDevicePathNodeConformanceAutoTest (
         StandardLib->RecordAssertion (
                       StandardLib,
                       AssertionType,
-                      gDevicePathBBTestFunctionAssertionGuid043,
+                      gDevicePathBBTestFunctionAssertionGuid034,
                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI (SAS) Device Path",
                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                       __FILE__,
@@ -1051,7 +1103,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid044,
+                    gDevicePathBBTestFunctionAssertionGuid035,
                     L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path -  iSCSI Device Path",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1201,7 +1253,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid049,
+                    gDevicePathBBTestFunctionAssertionGuid040,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware Volume",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1225,7 +1277,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid050,
+                    gDevicePathBBTestFunctionAssertionGuid041,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware File",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1250,7 +1302,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid058,
+                    gDevicePathBBTestFunctionAssertionGuid049,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - Relative Offset Range",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
@@ -1274,7 +1326,7 @@ BBTestDevicePathNodeConformanceAutoTest (
       StandardLib->RecordAssertion (
                     StandardLib,
                     AssertionType,
-                    gDevicePathBBTestFunctionAssertionGuid059,
+                    gDevicePathBBTestFunctionAssertionGuid050,
                     L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - RAM Disk",
                     L"%a:%d:Type - %d, Subtype - %d, Length - %d",
                     __FILE__,
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c
index 284f149..2c0349e 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2011 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -45,7 +45,7 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = {
   {
     DEVICE_PATH_PROTOCOL_DEVICEPATHNODE_CONFORMANCE_AUTO_GUID,
     L"PathNode_Conf",
-    L"Check whether device path node is consistent with the UEFI2.0 Spec.",
+    L"Check whether device path node is consistent with the UEFI Spec.",
     EFI_TEST_LEVEL_MINIMAL,
     gSupportProtocolGuid1,
     EFI_TEST_CASE_AUTO,
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c
index 421d17c..33b0817 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -84,6 +84,26 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid028 = EFI_TEST_DEVICEPATHBBTESTF
 
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid029 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_029_GUID;
 
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid030 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid031 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid032 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid033 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid034 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid035 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid036 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid037 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid038 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID;
+
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid039 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID;
+
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid040 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID;
 
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid041 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID;
@@ -106,22 +126,6 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid049 = EFI_TEST_DEVICEPATHBBTESTF
 
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid050 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID;
 
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
-
 EFI_GUID  gDevicePathBBTestFunctionAssertionGuid051 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID;
 
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid053 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid054 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid055 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid056 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid057 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid058 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid059 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID;
-
-EFI_GUID  gDevicePathBBTestFunctionAssertionGuid060 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID;
+EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h
index 6960362..33ce8c2 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -25,293 +25,364 @@ Abstract:
 --*/
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_001_GUID \
-{ 0x91064ab1, 0x5408, 0x48c1, 0xbb, 0xd9, 0x2a, 0x49, 0xee, 0xe2, 0x1d, 0xc9 }
+  { \
+    0x91064ab1, 0x5408, 0x48c1, {0xbb, 0xd9, 0x2a, 0x49, 0xee, 0xe2, 0x1d, 0xc9 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid001;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_002_GUID \
-{ 0xb5a0ee55, 0x0070, 0x472d, 0x84, 0xcd, 0xbc, 0xb1, 0xe2, 0xbc, 0x25, 0xc0 }
+  { \
+    0xb5a0ee55, 0x0070, 0x472d, {0x84, 0xcd, 0xbc, 0xb1, 0xe2, 0xbc, 0x25, 0xc0 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid002;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_003_GUID \
-{ 0x2902b389, 0xe4e7, 0x43cd, 0x9e, 0xff, 0xdc, 0x3f, 0xaa, 0xff, 0x12, 0xfa }
+  { \
+    0x2902b389, 0xe4e7, 0x43cd, {0x9e, 0xff, 0xdc, 0x3f, 0xaa, 0xff, 0x12, 0xfa } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid003;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_004_GUID \
-{ 0x745df5f1, 0x7d97, 0x4297, 0xaf, 0x5a, 0xc5, 0xca, 0x67, 0x28, 0x39, 0x18 }
+  { \
+    0x745df5f1, 0x7d97, 0x4297, {0xaf, 0x5a, 0xc5, 0xca, 0x67, 0x28, 0x39, 0x18 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid004;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_005_GUID \
-{ 0xc8f02111, 0x1de9, 0x4df2, 0x8f, 0x17, 0xbb, 0x12, 0x9b, 0xa6, 0x4d, 0xfe }
+  { \
+    0xc8f02111, 0x1de9, 0x4df2, {0x8f, 0x17, 0xbb, 0x12, 0x9b, 0xa6, 0x4d, 0xfe } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid005;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_006_GUID \
-{ 0x1c206e49, 0x6638, 0x469d, 0x8c, 0x9c, 0x26, 0x13, 0x85, 0x8e, 0x4d, 0x77 }
+  { \
+    0x1c206e49, 0x6638, 0x469d, {0x8c, 0x9c, 0x26, 0x13, 0x85, 0x8e, 0x4d, 0x77 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid006;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_007_GUID \
-{ 0xcedef0c0, 0x24cc, 0x4d36, 0x9d, 0x31, 0x9b, 0x9a, 0xf4, 0x63, 0xe6, 0x95 }
+  { \
+    0xcedef0c0, 0x24cc, 0x4d36, {0x9d, 0x31, 0x9b, 0x9a, 0xf4, 0x63, 0xe6, 0x95 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid007;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_008_GUID \
-{ 0xf497a21b, 0x8bb4, 0x4310, 0xba, 0xcf, 0xf6, 0xfc, 0x18, 0xda, 0x46, 0x9e }
+  { \
+    0xf497a21b, 0x8bb4, 0x4310, {0xba, 0xcf, 0xf6, 0xfc, 0x18, 0xda, 0x46, 0x9e } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid008;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_009_GUID \
-{ 0xf52ef05c, 0x4a10, 0x4857, 0xb9, 0x8c, 0x01, 0xd8, 0x15, 0x6e, 0xf8, 0x3f }
+  { \
+    0xf52ef05c, 0x4a10, 0x4857, {0xb9, 0x8c, 0x01, 0xd8, 0x15, 0x6e, 0xf8, 0x3f } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid009;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_010_GUID \
-{ 0x3e3eaf27, 0xf811, 0x4060, 0x97, 0xe1, 0x13, 0xfc, 0x5a, 0x51, 0x6c, 0x0c }
+  { \
+    0x3e3eaf27, 0xf811, 0x4060, {0x97, 0xe1, 0x13, 0xfc, 0x5a, 0x51, 0x6c, 0x0c } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid010;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_011_GUID \
-{ 0x8f24a32d, 0xb167, 0x42df, 0x85, 0xc3, 0xa3, 0xec, 0x68, 0x4a, 0x79, 0x80 }
+  { \
+    0x8f24a32d, 0xb167, 0x42df, {0x85, 0xc3, 0xa3, 0xec, 0x68, 0x4a, 0x79, 0x80 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid011;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_012_GUID \
-{ 0xfd1e18a9, 0x0fd6, 0x4ea4, 0xac, 0xea, 0xe6, 0xc4, 0xd1, 0x73, 0x97, 0x52 }
+  { \
+    0xfd1e18a9, 0x0fd6, 0x4ea4, {0xac, 0xea, 0xe6, 0xc4, 0xd1, 0x73, 0x97, 0x52 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid012;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_013_GUID \
-{ 0x758cfe7a, 0x1463, 0x4f29, 0x8c, 0x5b, 0x0e, 0x3a, 0x04, 0x17, 0x5d, 0xf8 }
+  { \
+    0x758cfe7a, 0x1463, 0x4f29, {0x8c, 0x5b, 0x0e, 0x3a, 0x04, 0x17, 0x5d, 0xf8 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid013;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_014_GUID \
-{ 0x2eb2da32, 0x351d, 0x4743, 0x80, 0x55, 0xea, 0x23, 0x75, 0x69, 0x61, 0xc2 }
+  { \
+    0x2eb2da32, 0x351d, 0x4743, {0x80, 0x55, 0xea, 0x23, 0x75, 0x69, 0x61, 0xc2 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid014;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_015_GUID \
-{ 0xba91dcd7, 0x719d, 0x4803, 0xaf, 0xe2, 0x61, 0x02, 0x1b, 0x31, 0x9b, 0x1f }
+  { \
+    0xba91dcd7, 0x719d, 0x4803, {0xaf, 0xe2, 0x61, 0x02, 0x1b, 0x31, 0x9b, 0x1f } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid015;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_016_GUID \
-{ 0xb10c12a3, 0x8faa, 0x408a, 0x83, 0x63, 0x35, 0x6c, 0x74, 0x95, 0xe6, 0x80 }
+  { \
+    0xb10c12a3, 0x8faa, 0x408a, {0x83, 0x63, 0x35, 0x6c, 0x74, 0x95, 0xe6, 0x80 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid016;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_017_GUID \
-{ 0xdd68e9c3, 0x28e1, 0x44c7, 0x9c, 0x31, 0xba, 0xcc, 0x80, 0x4e, 0xe4, 0xb3 }
+  { \
+    0xdd68e9c3, 0x28e1, 0x44c7, {0x9c, 0x31, 0xba, 0xcc, 0x80, 0x4e, 0xe4, 0xb3 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid017;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_018_GUID \
-{ 0x2da145c3, 0x7d26, 0x4715, 0x8e, 0xfb, 0xf2, 0x35, 0xd5, 0x51, 0xe0, 0x77 }
+  { \
+    0x2da145c3, 0x7d26, 0x4715, {0x8e, 0xfb, 0xf2, 0x35, 0xd5, 0x51, 0xe0, 0x77 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid018;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_019_GUID \
-{ 0xfcac17d1, 0xc792, 0x417a, 0x86, 0x99, 0x26, 0x11, 0xd0, 0xae, 0xc5, 0xba }
+  { \
+    0xfcac17d1, 0xc792, 0x417a, {0x86, 0x99, 0x26, 0x11, 0xd0, 0xae, 0xc5, 0xba } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid019;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_020_GUID \
-{ 0x5f832ee4, 0x1d93, 0x42bf, 0x94, 0xea, 0xf8, 0x1b, 0x30, 0x1a, 0x9e, 0xf7 }
+  { \
+    0x5f832ee4, 0x1d93, 0x42bf, {0x94, 0xea, 0xf8, 0x1b, 0x30, 0x1a, 0x9e, 0xf7 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid020;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_021_GUID \
-{ 0x86499222, 0x650a, 0x4492, 0x92, 0x2d, 0x46, 0x84, 0x4b, 0x1e, 0xb2, 0x0f }
+  { \
+    0x86499222, 0x650a, 0x4492, {0x92, 0x2d, 0x46, 0x84, 0x4b, 0x1e, 0xb2, 0x0f } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid021;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_022_GUID \
-{ 0x4c19f495, 0x7214, 0x48da, 0xb4, 0xc5, 0x2e, 0x6c, 0xae, 0xd2, 0x8f, 0xc9 }
+  { \
+    0x4c19f495, 0x7214, 0x48da, {0xb4, 0xc5, 0x2e, 0x6c, 0xae, 0xd2, 0x8f, 0xc9 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid022;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_023_GUID \
-{ 0x1856d9b9, 0x57db, 0x49eb, 0x97, 0x35, 0x68, 0x8a, 0xee, 0x43, 0x76, 0xf6 }
+  { \
+    0x1856d9b9, 0x57db, 0x49eb, {0x97, 0x35, 0x68, 0x8a, 0xee, 0x43, 0x76, 0xf6 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid023;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_024_GUID \
-{ 0x8b53dc1e, 0xb9be, 0x49d7, 0x86, 0xad, 0xd5, 0x12, 0x8e, 0x1f, 0x08, 0x34 }
+  { \
+    0x8b53dc1e, 0xb9be, 0x49d7, {0x86, 0xad, 0xd5, 0x12, 0x8e, 0x1f, 0x08, 0x34 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid024;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_025_GUID \
-{ 0x4c60bb0c, 0x8c00, 0x40f8, 0xa7, 0x35, 0x13, 0x4a, 0x56, 0x28, 0xe5, 0x21 }
+  { \
+    0x4c60bb0c, 0x8c00, 0x40f8, {0xa7, 0x35, 0x13, 0x4a, 0x56, 0x28, 0xe5, 0x21 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid025;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_026_GUID \
-{ 0xde41b8cb, 0x401f, 0x4b7f, 0xb2, 0x34, 0xf8, 0xfb, 0x29, 0x3f, 0xc5, 0x23 }
+  { \
+    0xde41b8cb, 0x401f, 0x4b7f, {0xb2, 0x34, 0xf8, 0xfb, 0x29, 0x3f, 0xc5, 0x23 } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid026;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_027_GUID \
-{ 0xc9969745, 0x6507, 0x4695, 0xb1, 0x26, 0xc3, 0xf8, 0xe6, 0xd2, 0x86, 0xec }
+  { \
+    0xc9969745, 0x6507, 0x4695, {0xb1, 0x26, 0xc3, 0xf8, 0xe6, 0xd2, 0x86, 0xec } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid027;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_028_GUID \
-{ 0x014988e5, 0xc211, 0x478d, 0x90, 0x6d, 0xf1, 0x6a, 0xb0, 0x73, 0x85, 0x0c }
+  { \
+    0x014988e5, 0xc211, 0x478d, {0x90, 0x6d, 0xf1, 0x6a, 0xb0, 0x73, 0x85, 0x0c } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid028;
 
 #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_029_GUID \
-{ 0x3152ee5d, 0xd161, 0x4916, 0xa4, 0x13, 0x44, 0xa7, 0x79, 0x39, 0x16, 0x7f }
+  { \
+    0x3152ee5d, 0xd161, 0x4916, {0xa4, 0x13, 0x44, 0xa7, 0x79, 0x39, 0x16, 0x7f } \
+  }
 
 extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid029;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID \
   { \
-    0xC3B2BA41, 0x7126, 0x4B7A, 0xAB, 0xDC, 0x7D, 0x1B, 0x46, 0x3D, 0x9B, 0xD7 \
+    0x4d074d59, 0x6051, 0x48ce, { 0x8d, 0x89, 0x9d, 0x4, 0xad, 0xe9, 0x67, 0xc } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid030;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID \
   { \
-    0xD1527A5C, 0xC1BD, 0x4585, 0x93, 0x23, 0xA5, 0xEA, 0xC7, 0xD5, 0x12, 0x7B \
+    0xC3B2BA41, 0x7126, 0x4B7A, {0xAB, 0xDC, 0x7D, 0x1B, 0x46, 0x3D, 0x9B, 0xD7 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid031;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID \
   { \
-    0x50E59956, 0x46FD, 0x4B21, 0xB5, 0x57, 0x9A, 0x33, 0xB2, 0x08, 0xD3, 0x41 \
+    0xD1527A5C, 0xC1BD, 0x4585, {0x93, 0x23, 0xA5, 0xEA, 0xC7, 0xD5, 0x12, 0x7B } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid032;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID \
   { \
-    0x8E637C03, 0xA1DF, 0x4AB6, 0xAE, 0x29, 0x5B, 0x9C, 0xD8, 0x6C, 0x6D, 0x1E \
+    0x50E59956, 0x46FD, 0x4B21, {0xB5, 0x57, 0x9A, 0x33, 0xB2, 0x08, 0xD3, 0x41 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid033;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID \
   { \
-    0x885DB334, 0x940B, 0x4EC3, 0x82, 0xE5, 0xC5, 0xF1, 0x1D, 0xDB, 0x2A, 0x42 \
+    0x8E637C03, 0xA1DF, 0x4AB6, {0xAE, 0x29, 0x5B, 0x9C, 0xD8, 0x6C, 0x6D, 0x1E } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid034;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID \
   { \
-    0x5658C849, 0xD7ED, 0x4780, 0x8E, 0xE7, 0x6D, 0xF2, 0x62, 0x48, 0x1D, 0xDB \
+    0x885DB334, 0x940B, 0x4EC3, {0x82, 0xE5, 0xC5, 0xF1, 0x1D, 0xDB, 0x2A, 0x42 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid035;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID \
   { \
-    0x3F412961, 0x4872, 0x4AA9, 0xBE, 0xD2, 0x2B, 0x03, 0x5F, 0xBC, 0xCC, 0xB6 \
+    0x5658C849, 0xD7ED, 0x4780, {0x8E, 0xE7, 0x6D, 0xF2, 0x62, 0x48, 0x1D, 0xDB } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid036;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID \
   { \
-    0x2ed116cb, 0x1ec7, 0x468a, 0x9c, 0xf8, 0xf, 0xf4, 0x41, 0x2a, 0x4b, 0xb1 \
+    0x3F412961, 0x4872, 0x4AA9, {0xBE, 0xD2, 0x2B, 0x03, 0x5F, 0xBC, 0xCC, 0xB6 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid037;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID \
   { \
-    0xab5c791b, 0x015c, 0x41b2, 0x93, 0xdf, 0x70, 0xf5, 0xc8, 0xaf, 0x3a, 0xec \
+    0x2ed116cb, 0x1ec7, 0x468a, {0x9c, 0xf8, 0xf, 0xf4, 0x41, 0x2a, 0x4b, 0xb1 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid038;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID \
   { \
-    0x2bbca783, 0x4c23, 0x477d, 0xa7, 0x50, 0xf3, 0xda, 0xfa, 0xbc, 0x38, 0xf6 \
+    0xab5c791b, 0x015c, 0x41b2, {0x93, 0xdf, 0x70, 0xf5, 0xc8, 0xaf, 0x3a, 0xec } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid039;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
   { \
-    0xbaaf24e1, 0xc59, 0x4494, 0xaf, 0xef, 0x53, 0x2, 0xc1, 0x90, 0x57, 0x29 \
+    0x2bbca783, 0x4c23, 0x477d, {0xa7, 0x50, 0xf3, 0xda, 0xfa, 0xbc, 0x38, 0xf6 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
   { \
-    0xbe55aaa6, 0x7510, 0x4904, 0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 \
+    0xbaaf24e1, 0xc59, 0x4494, {0xaf, 0xef, 0x53, 0x2, 0xc1, 0x90, 0x57, 0x29 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
   { \
-    0x64770fbb, 0x280f, 0x40d5, 0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b \
+    0x64770fbb, 0x280f, 0x40d5, {0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
   { \
-    0x88882137, 0x4e4d, 0x445a, 0xa1, 0xae, 0x11, 0xd8, 0xc2, 0xe1, 0xcf, 0xac \
+    0xbe55aaa6, 0x7510, 0x4904, {0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid053;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
   { \
-    0xda928c4a, 0x6d22, 0x4091, 0x95, 0x8c, 0xe, 0xde, 0xa5, 0x3b, 0xc8, 0x2e \
+    0x88882137, 0x4e4d, 0x445a, {0xa1, 0xae, 0x11, 0xd8, 0xc2, 0xe1, 0xcf, 0xac } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid054;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
   { \
-    0x71e0582d, 0x983, 0x468e, 0x9a, 0x5d, 0xd2, 0xe5, 0xbb, 0x8c, 0x52, 0x6c \
+    0xda928c4a, 0x6d22, 0x4091, {0x95, 0x8c, 0xe, 0xde, 0xa5, 0x3b, 0xc8, 0x2e } \
   }
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid055;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID \
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
+
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
   { \
-    0x3d20f5d0, 0x670a, 0x4923, 0x91, 0x78, 0xb0, 0x1e, 0x6d, 0xe8, 0xee, 0x13 \
+    0x71e0582d, 0x983, 0x468e, {0x9a, 0x5d, 0xd2, 0xe5, 0xbb, 0x8c, 0x52, 0x6c } \
   }
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid056;
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
+  { \
+    0x3d20f5d0, 0x670a, 0x4923, {0x91, 0x78, 0xb0, 0x1e, 0x6d, 0xe8, 0xee, 0x13 } \
+  }
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID \
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
+
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
   { \
-    0x136c50de, 0xb2d4, 0x4416, 0xb4, 0x90, 0xe, 0x32, 0x85, 0xf1, 0x6a, 0x7 \
+    0x136c50de, 0xb2d4, 0x4416, {0xb4, 0x90, 0xe, 0x32, 0x85, 0xf1, 0x6a, 0x7 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid057;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
   { \
-    0x973269de, 0xdca6, 0x4ad9, 0x9b, 0x9b, 0x6, 0x40, 0xfa, 0x4d, 0xbd, 0xf5 \
+    0x973269de, 0xdca6, 0x4ad9, {0x9b, 0x9b, 0x6, 0x40, 0xfa, 0x4d, 0xbd, 0xf5 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid058;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
   { \
-    0x6e817459, 0x21fd, 0x4923, 0x89, 0xe7, 0xca, 0xf9, 0x7d, 0x9d, 0xc2, 0x27 \
+    0x6e817459, 0x21fd, 0x4923, {0x89, 0xe7, 0xca, 0xf9, 0x7d, 0x9d, 0xc2, 0x27 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid059;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
 
-#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID \
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
   { \
     0xdf69547d, 0xd032, 0x44bd, { 0xb0, 0x54, 0x7f, 0x34, 0x3c, 0x2c, 0x7d, 0x95 } \
   }
 
-extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid060;
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
 
+#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
+  { \
+    0x1ee91961, 0xe0fb, 0x4f76, { 0x89, 0xa7, 0xd4, 0x9f, 0x24, 0xc2, 0xc0, 0x4f } \
+  }
+
+extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
diff --git a/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h b/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h
index 159e936..f69dc76 100644
--- a/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h
+++ b/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright 2006 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>   
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>   
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -828,6 +828,12 @@ typedef struct {
   UINT8                           SlotNumber;
 } EMMC_DEVICE_PATH;
 
+
+typedef struct {
+  EFI_DEVICE_PATH_PROTOCOL        Header;
+  UINT8                           IsIPv6;
+} DNS_DEVICE_PATH;
+
 ///
 /// BLUETOOTH_ADDRESS
 ///
@@ -844,6 +850,16 @@ typedef struct {
 } BLUETOOTH_DEVICE_PATH;
 
 typedef struct {
+UINT8 Address[6];
+UINT8 Type;
+} BLUETOOTH_LE_ADDRESS;
+
+typedef struct {
+  EFI_DEVICE_PATH_PROTOCOL        Header;
+  BLUETOOTH_LE_ADDRESS            LEAddress;
+} BLUETOOTH_LE_DEVICE_PATH;
+
+typedef struct {
   UINT8      Id[32];
 } SSID;
 
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [edk2-test][Patch] Enable the DNS/BLE DevicePath test
  2018-10-11  6:50 [edk2-test][Patch] Enable the DNS/BLE DevicePath test Eric Jin
@ 2018-10-12  7:59 ` Supreeth Venkatesh
  0 siblings, 0 replies; 2+ messages in thread
From: Supreeth Venkatesh @ 2018-10-12  7:59 UTC (permalink / raw)
  To: Eric Jin, edk2-devel

Since this was already present in 
https://github.com/UEFI/UEFI-SCT/commit/86df722a7bc02a15fba471664c0b2c5dec3797bf 
and it is just migrating over to new repository.

Reviewed-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com>


On 10/11/2018 07:50 AM, Eric Jin wrote:
> Add new test for DNS/BlueToothLE DevicePath
> Resort the assertion guid of DevicePath test
>
> Cc: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Eric Jin <eric.jin@intel.com>
> ---
>   .../BlackBoxTest/DevicePathBBTestFunction.c        |  96 ++++++--
>   .../EFI/Protocol/DevicePath/BlackBoxTest/Guid.c    |  40 ++--
>   .../EFI/Protocol/DevicePath/BlackBoxTest/Guid.h    | 103 +++++----
>   .../DevicePathFromTextBBTestCoverage.c             | 163 ++++++++++++-
>   .../DevicePathFromText/BlackBoxTest/Guid.c         |   6 +-
>   .../DevicePathFromText/BlackBoxTest/Guid.h         |  14 +-
>   .../BlackBoxTest/DevicePathToTextBBTestCoverage.c  | 125 +++++++++-
>   .../BlackBoxTest/DevicePathToTextBBTestMain.c      | 104 ++++++++-
>   .../Protocol/DevicePathToText/BlackBoxTest/Guid.c  |   8 +-
>   .../Protocol/DevicePathToText/BlackBoxTest/Guid.h  |  22 +-
>   .../BlackBoxTest/DevicePathBBTestFunction.c        |  96 ++++++--
>   .../DevicePath/BlackBoxTest/DevicePathBBTestMain.c |   4 +-
>   .../IHV/Protocol/DevicePath/BlackBoxTest/Guid.c    |  40 ++--
>   .../IHV/Protocol/DevicePath/BlackBoxTest/Guid.h    | 255 +++++++++++++--------
>   uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h         |  18 +-
>   15 files changed, 865 insertions(+), 229 deletions(-)
>
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
> index 2ab48c0..3079018 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -71,6 +71,8 @@ BBTestDevicePathNodeConformanceAutoTest (
>     HARDDRIVE_DEVICE_PATH               *Hd;
>     CHAR16                              *DevStr;
>     BMC_DEVICE_PATH                     *BMC;
> +  DNS_DEVICE_PATH                     *DNS;
> +  BLUETOOTH_LE_DEVICE_PATH            *BlueToothLE;
>   
>     //
>     // Get the Standard Library Interface
> @@ -264,7 +266,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid051,
> +                    gDevicePathBBTestFunctionAssertionGuid042,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Hardware Device Path - Controller Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d, InterfaceType - %x",
>                       __FILE__,
> @@ -340,7 +342,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid040,
> +                    gDevicePathBBTestFunctionAssertionGuid031,
>                       L"EFI_DEVICE_PATH_PROTOCOL - ACPI _ADR Device Path - ACPI _ADR Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -491,7 +493,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid048,
> +                    gDevicePathBBTestFunctionAssertionGuid039,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - SATA Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -516,7 +518,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid041,
> +                    gDevicePathBBTestFunctionAssertionGuid032,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -540,7 +542,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid042,
> +                    gDevicePathBBTestFunctionAssertionGuid033,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -687,7 +689,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid052,
> +                    gDevicePathBBTestFunctionAssertionGuid043,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Vlan Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, VlanId - %d",
>                       __FILE__,
> @@ -710,7 +712,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid045,
> +                    gDevicePathBBTestFunctionAssertionGuid036,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Fibre Channel Ex device path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -733,7 +735,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid046,
> +                    gDevicePathBBTestFunctionAssertionGuid037,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI(SAS) Ex device path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -756,7 +758,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid047,
> +                    gDevicePathBBTestFunctionAssertionGuid038,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - NVM Express Namespace Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -779,7 +781,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid053,
> +                    gDevicePathBBTestFunctionAssertionGuid044,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Uniform Resource Identifiers (URI) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -802,7 +804,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid054,
> +                    gDevicePathBBTestFunctionAssertionGuid045,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Universal Flash Storage (UFS) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -825,7 +827,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid055,
> +                    gDevicePathBBTestFunctionAssertionGuid046,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Secure Digital (SD) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -848,7 +850,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid056,
> +                    gDevicePathBBTestFunctionAssertionGuid047,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Bluetooth Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -871,7 +873,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid057,
> +                    gDevicePathBBTestFunctionAssertionGuid048,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - WIFI Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -894,7 +896,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid060,
> +                    gDevicePathBBTestFunctionAssertionGuid051,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - eMMC (Embedded Multi-Media Card) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -905,6 +907,56 @@ BBTestDevicePathNodeConformanceAutoTest (
>                       );
>       }
>       //
> +    // Add a new checkpoint for BlueToothLE Device Path
> +    // Check Messaging Device Path: BlueToothLE Device Path
> +    //
> +    else if ((Type == 3) && (SubType == 30)) {
> +      BlueToothLE = (BLUETOOTH_LE_DEVICE_PATH *) DevicePath;   	
> +      if ((Length  == 11) && ((BlueToothLE->LEAddress.Type == 0) || (BlueToothLE->LEAddress.Type == 1))) {
> +        AssertionType = EFI_TEST_ASSERTION_PASSED;
> +      } else {
> +        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      }
> +      StandardLib->RecordAssertion (
> +                    StandardLib,
> +                    AssertionType,
> +                    gDevicePathBBTestFunctionAssertionGuid052,
> +                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - BlueToothLE Device Path",
> +                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, Type - %d",
> +                    __FILE__,
> +                    (UINTN)__LINE__,
> +                    (UINTN)Type,
> +                    (UINTN)SubType,
> +                    (UINTN)Length,
> +                    (UINTN)BlueToothLE->LEAddress.Type
> +                    );
> +    }
> +    //
> +    // Add a new checkpoint for DNS Device Path
> +    // Check Messaging Device Path: DNS Device Path
> +    //
> +    else if ((Type == 3) && (SubType == 31)) {
> +      DNS = (DNS_DEVICE_PATH *) DevicePath;
> +      if (((Length - 5) % sizeof(EFI_IP_ADDRESS) == 0) && ((DNS->IsIPv6 == 0) || (DNS->IsIPv6 == 1))) {
> +        AssertionType = EFI_TEST_ASSERTION_PASSED;
> +      } else {
> +        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      }
> +      StandardLib->RecordAssertion (
> +                    StandardLib,
> +                    AssertionType,
> +                    gDevicePathBBTestFunctionAssertionGuid030,
> +                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - DNS Device Path",
> +                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, IsIPv6 - %d",
> +                    __FILE__,
> +                    (UINTN)__LINE__,
> +                    (UINTN)Type,
> +                    (UINTN)SubType,
> +                    (UINTN)Length,
> +                    (UINTN)DNS->IsIPv6
> +                    );
> +    }
> +    //
>       // Assertion Point 3.1.2.23
>       // Check Messaging Device Path: InfiniBand Device Path
>       //
> @@ -1000,7 +1052,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>           StandardLib->RecordAssertion (
>                         StandardLib,
>                         AssertionType,
> -                      gDevicePathBBTestFunctionAssertionGuid043,
> +                      gDevicePathBBTestFunctionAssertionGuid034,
>                         L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI (SAS) Device Path",
>                         L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                         __FILE__,
> @@ -1051,7 +1103,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid044,
> +                    gDevicePathBBTestFunctionAssertionGuid035,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path -  iSCSI Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1201,7 +1253,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid049,
> +                    gDevicePathBBTestFunctionAssertionGuid040,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware Volume",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1225,7 +1277,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid050,
> +                    gDevicePathBBTestFunctionAssertionGuid041,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware File",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1250,7 +1302,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid058,
> +                    gDevicePathBBTestFunctionAssertionGuid049,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - Relative Offset Range",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1274,7 +1326,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid059,
> +                    gDevicePathBBTestFunctionAssertionGuid050,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - RAM Disk",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c
> index 421d17c..33b0817 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -84,6 +84,26 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid028 = EFI_TEST_DEVICEPATHBBTESTF
>   
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid029 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_029_GUID;
>   
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid030 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid031 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid032 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid033 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid034 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid035 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid036 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid037 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid038 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid039 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID;
> +
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid040 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID;
>   
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid041 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID;
> @@ -106,22 +126,6 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid049 = EFI_TEST_DEVICEPATHBBTESTF
>   
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid050 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID;
>   
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
> -
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid051 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID;
>   
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid053 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid054 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid055 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid056 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid057 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid058 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid059 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid060 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID;
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h
> index dac578e..33ce8c2 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePath/BlackBoxTest/Guid.h
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -227,149 +227,162 @@ extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid028;
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid029;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID \
> +  { \
> +    0x4d074d59, 0x6051, 0x48ce, { 0x8d, 0x89, 0x9d, 0x4, 0xad, 0xe9, 0x67, 0xc } \
> +  }
> +
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid030;
> +
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID \
>     { \
>       0xC3B2BA41, 0x7126, 0x4B7A, {0xAB, 0xDC, 0x7D, 0x1B, 0x46, 0x3D, 0x9B, 0xD7 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid031;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID \
>     { \
>       0xD1527A5C, 0xC1BD, 0x4585, {0x93, 0x23, 0xA5, 0xEA, 0xC7, 0xD5, 0x12, 0x7B } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid032;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID \
>     { \
>       0x50E59956, 0x46FD, 0x4B21, {0xB5, 0x57, 0x9A, 0x33, 0xB2, 0x08, 0xD3, 0x41 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid033;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID \
>     { \
>       0x8E637C03, 0xA1DF, 0x4AB6, {0xAE, 0x29, 0x5B, 0x9C, 0xD8, 0x6C, 0x6D, 0x1E } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid034;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID \
>     { \
>       0x885DB334, 0x940B, 0x4EC3, {0x82, 0xE5, 0xC5, 0xF1, 0x1D, 0xDB, 0x2A, 0x42 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid035;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID \
>     { \
>       0x5658C849, 0xD7ED, 0x4780, {0x8E, 0xE7, 0x6D, 0xF2, 0x62, 0x48, 0x1D, 0xDB } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid036;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID \
>     { \
>       0x3F412961, 0x4872, 0x4AA9, {0xBE, 0xD2, 0x2B, 0x03, 0x5F, 0xBC, 0xCC, 0xB6 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid037;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID \
>     { \
>       0x2ed116cb, 0x1ec7, 0x468a, {0x9c, 0xf8, 0xf, 0xf4, 0x41, 0x2a, 0x4b, 0xb1 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid038;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID \
>     { \
>       0xab5c791b, 0x015c, 0x41b2, {0x93, 0xdf, 0x70, 0xf5, 0xc8, 0xaf, 0x3a, 0xec } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid039;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
>     { \
>       0x2bbca783, 0x4c23, 0x477d, {0xa7, 0x50, 0xf3, 0xda, 0xfa, 0xbc, 0x38, 0xf6 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
>     { \
>       0xbaaf24e1, 0xc59, 0x4494, {0xaf, 0xef, 0x53, 0x2, 0xc1, 0x90, 0x57, 0x29 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
>     { \
> -    0xbe55aaa6, 0x7510, 0x4904, {0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 } \
> +    0x64770fbb, 0x280f, 0x40d5, {0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
>     { \
> -    0x64770fbb, 0x280f, 0x40d5, {0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b } \
> +    0xbe55aaa6, 0x7510, 0x4904, {0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
>     { \
>       0x88882137, 0x4e4d, 0x445a, {0xa1, 0xae, 0x11, 0xd8, 0xc2, 0xe1, 0xcf, 0xac } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid053;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
>     { \
>       0xda928c4a, 0x6d22, 0x4091, {0x95, 0x8c, 0xe, 0xde, 0xa5, 0x3b, 0xc8, 0x2e } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid054;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
>     { \
>       0x71e0582d, 0x983, 0x468e, {0x9a, 0x5d, 0xd2, 0xe5, 0xbb, 0x8c, 0x52, 0x6c } \
>     }
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid055;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
>     { \
>       0x3d20f5d0, 0x670a, 0x4923, {0x91, 0x78, 0xb0, 0x1e, 0x6d, 0xe8, 0xee, 0x13 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid056;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
>     { \
>       0x136c50de, 0xb2d4, 0x4416, {0xb4, 0x90, 0xe, 0x32, 0x85, 0xf1, 0x6a, 0x7 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid057;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
>     { \
>       0x973269de, 0xdca6, 0x4ad9, {0x9b, 0x9b, 0x6, 0x40, 0xfa, 0x4d, 0xbd, 0xf5 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid058;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
>     { \
>       0x6e817459, 0x21fd, 0x4923, {0x89, 0xe7, 0xca, 0xf9, 0x7d, 0x9d, 0xc2, 0x27 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid059;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
>     { \
>       0xdf69547d, 0xd032, 0x44bd, { 0xb0, 0x54, 0x7f, 0x34, 0x3c, 0x2c, 0x7d, 0x95 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid060;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
>   
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
> +  { \
> +    0x1ee91961, 0xe0fb, 0x4f76, { 0x89, 0xa7, 0xd4, 0x9f, 0x24, 0xc2, 0xc0, 0x4f } \
> +  }
> +
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c
> index 6f0af40..d428893 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/DevicePathFromTextBBTestCoverage.c
> @@ -1665,6 +1665,89 @@ CreateEMMCDeviceNode (
>     return (EFI_DEVICE_PATH_PROTOCOL *) EMMC;
>   }
>   
> +
> +#define BlueToothLENodeType    3
> +#define BlueToothLENodeSubType 30
> +
> +STATIC
> +EFI_DEVICE_PATH_PROTOCOL *
> +CreateBlueToothLEDeviceNode (
> +  IN CHAR16 *TextDeviceNode
> +  )
> +{
> +  CHAR16                      *BDAddrStr;
> +  CHAR16                      *TypeStr;
> +  BLUETOOTH_LE_DEVICE_PATH    *BLUETOOTHLE;
> +  UINTN                       Length;
> +
> +
> +  BDAddrStr = SctSplitStr (&TextDeviceNode, L',');
> +  TypeStr = SctSplitStr (&TextDeviceNode, L',');
> +  BLUETOOTHLE  = (BLUETOOTH_LE_DEVICE_PATH *) CreateDeviceNode (
> +                                                BlueToothLENodeType,
> +                                                BlueToothLENodeSubType,
> +                                                sizeof (BLUETOOTH_LE_DEVICE_PATH)
> +                                                );
> +
> +  Length = sizeof (BLUETOOTH_ADDRESS);
> +
> +  StrToBuf (&BLUETOOTHLE->LEAddress.Address[0], Length, BDAddrStr);
> +  BLUETOOTHLE->LEAddress.Type = (UINT8) SctStrToUInt (TypeStr);
> +
> +  return (EFI_DEVICE_PATH_PROTOCOL *) BLUETOOTHLE;
> +}
> +
> +
> +#define DNSNodeType    3
> +#define DNSNodeSubType 31
> +
> +STATIC
> +EFI_DEVICE_PATH_PROTOCOL *
> +CreateDNSDeviceNode (
> +  IN CHAR16 *TextDeviceNode
> +  )
> +{
> +  CHAR16             *IpStr1;
> +  CHAR16             *IpStr2;
> +  CHAR16             *Temp;
> +  DNS_DEVICE_PATH    *DNS;
> +
> +  IpStr1           = SctSplitStr (&TextDeviceNode, L',');
> +  IpStr2           = SctSplitStr (&TextDeviceNode, L',');
> +  DNS  = (DNS_DEVICE_PATH *) CreateDeviceNode (
> +                                 DNSNodeType,
> +                                 DNSNodeSubType,
> +                                 sizeof (DNS_DEVICE_PATH) + 2 * sizeof(EFI_IP_ADDRESS)
> +                                 );
> +
> +  Temp = IpStr1;
> +  while(*Temp != L'\0') {
> +    if (*Temp == L'.') {
> +      DNS->IsIPv6 = 0;
> +      break;
> +    }
> +
> +    if (*Temp == L':') {
> +      DNS->IsIPv6 = 1;
> +      break;
> +    }
> +    Temp++;
> +  }
> +
> +  if (DNS->IsIPv6 == 0) {
> +    SctStrToIPv4Addr (&IpStr1, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH));
> +    SctStrToIPv4Addr (&IpStr2, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS));
> +  }
> +
> +  if (DNS->IsIPv6 == 1) {
> +    SctStrToIPv6Addr (&IpStr1, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH));
> +    SctStrToIPv6Addr (&IpStr2, (UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS));
> +  }
> +
> +  return (EFI_DEVICE_PATH_PROTOCOL *) DNS;
> +}
> +
> +
>   #define HdNodeType     4
>   #define HdNodeSubType  1
>   
> @@ -3410,8 +3493,86 @@ DevicePathFromTextConvertTextToDeviceNodeCoverageTest (
>                   L"%a:%d, Convert eMMC(0)",
>                   __FILE__,
>                   (UINTN)__LINE__
> -                );
> +                );
> +
> +  //
> +  // BluetoothLE(001320F5FA77, 0)
> +  //
> +  SctStrCpy (text, L"001320F5FA77");
> +  pDevicePath = CreateBlueToothLEDeviceNode(text);
>   
> +  SctStrCpy (text, L"BluetoothLE(001320F5FA77,0)");
> +  pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text);
> +  if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) {
> +    AssertionType = EFI_TEST_ASSERTION_PASSED;
> +  } else {
> +    AssertionType = EFI_TEST_ASSERTION_FAILED;
> +  }
> +  SctFreePool (pDevicePath);
> +  SctFreePool (pReDevicePath);
> +
> +  StandardLib->RecordAssertion (
> +                StandardLib,
> +                AssertionType,
> +                gDevicePathFromTextBBTestFunctionAssertionGuid141,
> +                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
> +                L"%a:%d, Convert BluetoothLE(001320F5FA77, 0)",
> +                __FILE__,
> +                (UINTN)__LINE__
> +                );
> +
> +  //
> +  // Dns(192.168.22.100,192.168.22.101)
> +  //
> +  SctStrCpy (text, L"192.168.22.100,192.168.22.101");
> +  pDevicePath = CreateDNSDeviceNode(text);
> +
> +  SctStrCpy (text, L"Dns(192.168.22.100,192.168.22.101)");
> +  pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text);
> +  if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) {
> +    AssertionType = EFI_TEST_ASSERTION_PASSED;
> +  } else {
> +    AssertionType = EFI_TEST_ASSERTION_FAILED;
> +  }
> +  SctFreePool (pDevicePath);
> +  SctFreePool (pReDevicePath);
> +
> +  StandardLib->RecordAssertion (
> +                StandardLib,
> +                AssertionType,
> +                gDevicePathFromTextBBTestFunctionAssertionGuid140,
> +                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
> +                L"%a:%d, Convert Dns(192.168.22.100,192.168.22.101)",
> +                __FILE__,
> +                (UINTN)__LINE__
> +                );
> +
> +  //
> +  // Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)
> +  //
> +  SctStrCpy (text, L"1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD");
> +  pDevicePath = CreateDNSDeviceNode(text);
> +
> +  SctStrCpy (text, L"Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)");
> +  pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text);
> +  if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) {
> +    AssertionType = EFI_TEST_ASSERTION_PASSED;
> +  } else {
> +    AssertionType = EFI_TEST_ASSERTION_FAILED;
> +  }
> +  SctFreePool (pDevicePath);
> +  SctFreePool (pReDevicePath);
> +
> +  StandardLib->RecordAssertion (
> +                StandardLib,
> +                AssertionType,
> +                gDevicePathFromTextBBTestFunctionAssertionGuid140,
> +                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
> +                L"%a:%d, Convert Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)",
> +                __FILE__,
> +                (UINTN)__LINE__
> +                );
> +
>     //
>     // RamDisk(0xABCD1234C0000000,0xABCD1234CFFFFFFF,1,E8AAED38-1815-4E4F-BCB5-2E3DBD160C9C)
>     //
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c
> index c7299a7..ef1816c 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -144,4 +144,8 @@ EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid138 = EFI_TEST_DEVICEPAT
>   
>   EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid139 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_139_GUID;
>   
> +EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid140 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_140_GUID;
> +
> +EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid141 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_141_GUID;
> +
>   EFI_GUID  gDevicePathFromTextBBTestFunctionAssertionGuid180 = EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_180_GUID;
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h
> index d9678a5..f02dd10 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackBoxTest/Guid.h
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -434,6 +434,18 @@ extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid138;
>     }
>   extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid139;
>   
> +#define EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_140_GUID \
> +  { \
> +    0xf0820f21, 0xad58, 0x4a9a, { 0xb6, 0x4b, 0xb0, 0x34, 0x72, 0x4d, 0x80, 0xc2 } \
> +  }
> +extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid140;
> +
> +#define EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_141_GUID \
> +  { \
> +    0xed04ff52, 0xc8af, 0x411f, { 0x8b, 0x67, 0xbb, 0x2e, 0x80, 0xbe, 0xe4, 0xa2 } \
> +  }
> +extern EFI_GUID gDevicePathFromTextBBTestFunctionAssertionGuid141;
> +
>   #define EFI_TEST_DEVICEPATHFROMTEXTBBTESTFUNCTION_ASSERTION_180_GUID \
>     { \
>       0x1759828d, 0x3377, 0x4473, {0x84, 0x8a, 0x1a, 0x92, 0x6f, 0x2e, 0x5b, 0xc5 } \
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c
> index 4258f0e..c30af43 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestCoverage.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -1909,7 +1909,7 @@ DevicePathToTextConvertDeviceNodeToTextCoverageTest (
>     StandardLib->RecordAssertion (
>                   StandardLib,
>                   AssertionType,
> -                gDevicePathToTextBBTestFunctionAssertionGuid127,
> +                gDevicePathToTextBBTestFunctionAssertionGuid133,
>                   L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
>                   L"%a:%d: Convert result: %s - Expected: UFS(0,3)",
>                   __FILE__,
> @@ -2081,6 +2081,127 @@ DevicePathToTextConvertDeviceNodeToTextCoverageTest (
>     if (Text != NULL) {
>       SctFreePool (Text);
>     }
> +
> +
> +  //
> +  // BluetoothLE(77FAF5201300,0)
> +  //
> +  pDeviceNode1 = DevicePathUtilities->CreateDeviceNode (0x3, 0x1E, 11);
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[0] = 0x77;
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[1] = 0xFA;
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[2] = 0xF5;
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[3] = 0x20;
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[4] = 0x13;
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Address[5] = 0x00;
> +  ((BLUETOOTH_LE_DEVICE_PATH *)pDeviceNode1)->LEAddress.Type = 0;
> +
> +  Text = DevicePathToText->ConvertDeviceNodeToText (pDeviceNode1, FALSE, FALSE);
> +  pDeviceNode2 = SctConvertTextToDeviceNode(Text);
> +
> +  if ((pDeviceNode2 != NULL) && (SctCompareMem (pDeviceNode2, pDeviceNode1, SctDevicePathNodeLength(pDeviceNode1)) == 0)) {
> +    AssertionType = EFI_TEST_ASSERTION_PASSED;
> +  } else {
> +    AssertionType = EFI_TEST_ASSERTION_FAILED;
> +  }
> +
> +  StandardLib->RecordAssertion (
> +                StandardLib,
> +                AssertionType,
> +                gDevicePathToTextBBTestFunctionAssertionGuid134,
> +                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
> +                L"%a:%d: Convert result: %s - Expected: BluetoothLE(77FAF5201300,0)",
> +                __FILE__,
> +                (UINTN)__LINE__,
> +                Text
> +                );
> +  if (pDeviceNode1 != NULL) {
> +    SctFreePool (pDeviceNode1);
> +  }
> +  if (pDeviceNode2 != NULL) {
> +    SctFreePool (pDeviceNode2);
> +  }
> +  if (Text != NULL) {
> +    SctFreePool (Text);
> +  }
> +
> +  //
> +  // Dns(192.168.22.100,192.168.22.101)
> +  //
> +  pDeviceNode1 = DevicePathUtilities->CreateDeviceNode (0x3, 0x1F, sizeof(DNS_DEVICE_PATH) + 2 * sizeof(EFI_IP_ADDRESS));
> +  ((DNS_DEVICE_PATH *)pDeviceNode1)->IsIPv6 = 0;
> +
> +  ConvertStrToIPv4Addr (L"192.168.22.100", ((EFI_IPv4_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH))));
> +  ConvertStrToIPv4Addr (L"192.168.22.101", ((EFI_IPv4_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS))));
> +
> +
> +  Text = DevicePathToText->ConvertDeviceNodeToText (pDeviceNode1, FALSE, FALSE);
> +  pDeviceNode2 = SctConvertTextToDeviceNode(Text);
> +
> +  if ((pDeviceNode2 != NULL) && (SctCompareMem (pDeviceNode2, pDeviceNode1, SctDevicePathNodeLength(pDeviceNode1)) == 0)) {
> +    AssertionType = EFI_TEST_ASSERTION_PASSED;
> +  } else {
> +    AssertionType = EFI_TEST_ASSERTION_FAILED;
> +  }
> +
> +  StandardLib->RecordAssertion (
> +                StandardLib,
> +                AssertionType,
> +                gDevicePathToTextBBTestFunctionAssertionGuid132,
> +                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
> +                L"%a:%d: Convert result: %s - Expected: Dns(192.168.22.100,192.168.22.101)",
> +                __FILE__,
> +                (UINTN)__LINE__,
> +                Text
> +                );
> +  if (pDeviceNode1 != NULL) {
> +    SctFreePool (pDeviceNode1);
> +  }
> +  if (pDeviceNode2 != NULL) {
> +    SctFreePool (pDeviceNode2);
> +  }
> +  if (Text != NULL) {
> +    SctFreePool (Text);
> +  }
> +
> +  //
> +  // Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)
> +  //
> +  pDeviceNode1 = DevicePathUtilities->CreateDeviceNode (0x3, 0x1F, sizeof(DNS_DEVICE_PATH) + 2 * sizeof(EFI_IP_ADDRESS));
> +  ((DNS_DEVICE_PATH *)pDeviceNode1)->IsIPv6 = 1;
> +
> +  ConvertStrToIPv6Addr (L"1234:5678:ABCD:1234:5678:ABCD:1234:5678", ((EFI_IPv6_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH))));
> +  ConvertStrToIPv6Addr (L"5678:ABCD:1234:5678:ABCD:1234:5678:ABCD", ((EFI_IPv6_ADDRESS *)((UINT8 *)pDeviceNode1 + sizeof(DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS))));
> +
> +
> +  Text = DevicePathToText->ConvertDeviceNodeToText (pDeviceNode1, FALSE, FALSE);
> +  pDeviceNode2 = SctConvertTextToDeviceNode(Text);
> +
> +  if ((pDeviceNode2 != NULL) && (SctCompareMem (pDeviceNode2, pDeviceNode1, SctDevicePathNodeLength(pDeviceNode1)) == 0)) {
> +    AssertionType = EFI_TEST_ASSERTION_PASSED;
> +  } else {
> +    AssertionType = EFI_TEST_ASSERTION_FAILED;
> +  }
> +
> +  StandardLib->RecordAssertion (
> +                StandardLib,
> +                AssertionType,
> +                gDevicePathToTextBBTestFunctionAssertionGuid132,
> +                L"EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL - ConvertDeviceNodeToText must correctly recover the converting ConvertTextToDeviceNode has acted on the device node string",
> +                L"%a:%d: Convert result: %s - Expected: Dns(1234:5678:ABCD:1234:5678:ABCD:1234:5678,5678:ABCD:1234:5678:ABCD:1234:5678:ABCD)",
> +                __FILE__,
> +                (UINTN)__LINE__,
> +                Text
> +                );
> +  if (pDeviceNode1 != NULL) {
> +    SctFreePool (pDeviceNode1);
> +  }
> +  if (pDeviceNode2 != NULL) {
> +    SctFreePool (pDeviceNode2);
> +  }
> +  if (Text != NULL) {
> +    SctFreePool (Text);
> +  }
> +
>     
>     return EFI_SUCCESS;
>   }
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c
> index cbb517e..41cf217 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/DevicePathToTextBBTestMain.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -3811,6 +3811,102 @@ InValidText:
>     return NULL;
>   }
>   
> +STATIC
> +EFI_DEVICE_PATH_PROTOCOL *
> +BuildBluetoothLEDeviceNode (
> +  IN CHAR16                      *TextDeviceNode
> +  )
> +{
> +  EFI_STATUS                      Status;
> +  CHAR16                          *ParamIdentifierStr;
> +  CHAR16                          *ParamIdentifierVal;
> +  BLUETOOTH_LE_DEVICE_PATH        *BluetoothLE;
> +
> +  BluetoothLE = (BLUETOOTH_LE_DEVICE_PATH *) CreateDeviceNode (0x3, 0x1E, sizeof (BLUETOOTH_LE_DEVICE_PATH));
> +  if (BluetoothLE == NULL) {
> +    return NULL;
> +  }
> +
> +  Status = GetNextRequiredParam(&TextDeviceNode, L"LEAddress", &ParamIdentifierStr, &ParamIdentifierVal);
> +  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
> +    StrToBuf (&BluetoothLE->LEAddress.Address[0], sizeof (BLUETOOTH_ADDRESS), ParamIdentifierVal);
> +  } else {
> +  	goto InValidText;
> +  }
> +
> +
> +  Status = GetNextRequiredParam(&TextDeviceNode, L"Type", &ParamIdentifierStr, &ParamIdentifierVal);
> +  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
> +    BluetoothLE->LEAddress.Type = (UINT8) SctStrToUInt (ParamIdentifierVal);
> +  } else {
> +  	goto InValidText;
> +  }
> +
> +
> +  return (EFI_DEVICE_PATH_PROTOCOL *) BluetoothLE;
> +InValidText:
> +  SctFreePool(BluetoothLE);
> +  return NULL;
> +}
> +
> +
> +
> +STATIC
> +EFI_DEVICE_PATH_PROTOCOL *
> +BuildDNSDeviceNode (
> +  IN CHAR16                      *TextDeviceNode
> +  )
> +{
> +  EFI_STATUS            Status;
> +  CHAR16                *ParamIdentifierStr;
> +  CHAR16                *ParamIdentifierVal;
> +  CHAR16                *Temp;
> +  DNS_DEVICE_PATH       *DNS;
> +
> +  DNS = (DNS_DEVICE_PATH *) CreateDeviceNode (0x3, 0x1F, sizeof (DNS_DEVICE_PATH) + 2 * sizeof (EFI_IP_ADDRESS));
> +  if (DNS == NULL) {
> +    return NULL;
> +  }
> +
> +  Status = GetNextRequiredParam(&TextDeviceNode, L"DnsServerIp", &ParamIdentifierStr, &ParamIdentifierVal);
> +  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
> +    Temp = ParamIdentifierVal;
> +    while(*Temp != L'\0') {
> +      if (*Temp == L'.') {
> +        DNS->IsIPv6 = 0;
> +        break;
> +      }
> +
> +      if (*Temp == L':') {
> +        DNS->IsIPv6 = 1;
> +        break;
> +      }
> +      Temp++;
> +    }
> +
> +    if (DNS->IsIPv6 == 0)  	
> +      SctStrToIPv4Addr (&ParamIdentifierVal, (EFI_IPv4_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH)));
> +    else
> +      SctStrToIPv6Addr (&ParamIdentifierVal, (EFI_IPv6_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH)));
> +  } else {
> +  	goto InValidText;
> +  }
> +
> +  Status = GetNextRequiredParam(&TextDeviceNode, L"DnsServerIp", &ParamIdentifierStr, &ParamIdentifierVal);
> +  if ((!EFI_ERROR(Status)) && (ParamIdentifierVal != NULL)) {
> +    if (DNS->IsIPv6 == 0)  	
> +      SctStrToIPv4Addr (&ParamIdentifierVal, (EFI_IPv4_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS)));
> +    else
> +      SctStrToIPv6Addr (&ParamIdentifierVal, (EFI_IPv6_ADDRESS *)((UINT8 *)DNS + sizeof (DNS_DEVICE_PATH) + sizeof(EFI_IP_ADDRESS)));
> +  } else {
> +  	goto InValidText;
> +  }
> +
> +  return (EFI_DEVICE_PATH_PROTOCOL *) DNS;
> +InValidText:
> +  SctFreePool(DNS);
> +  return NULL;
> +}
>   
>   STATIC DEVICE_PATH_FROM_TEXT_TABLE BuildDevPathNodeFuncTable[] = {
>     L"PciRoot",
> @@ -3902,7 +3998,11 @@ STATIC DEVICE_PATH_FROM_TEXT_TABLE BuildDevPathNodeFuncTable[] = {
>     L"Wi-Fi",
>     BuildWiFiDeviceNode,
>     L"eMMC",
> -  BuildEMMCDeviceNode,
> +  BuildEMMCDeviceNode,
> +  L"BluetoothLE",
> +  BuildBluetoothLEDeviceNode,
> +  L"Dns",
> +  BuildDNSDeviceNode,
>     L"Uart",
>     BuildUartDeviceNode,
>     L"UsbClass",
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c
> index ec01577..9cad8d3 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2015 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -130,3 +130,9 @@ EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid130 = EFI_TEST_DEVICEPATHT
>   
>   EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid131 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_131_GUID;
>   
> +EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid132 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_132_GUID;
> +
> +EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid133 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_133_GUID;
> +
> +EFI_GUID  gDevicePathToTextBBTestFunctionAssertionGuid134 = EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_134_GUID;
> +
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h
> index fbc2331..41d2a8a 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathToText/BlackBoxTest/Guid.h
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2016 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -380,3 +380,23 @@ extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid130;
>   
>   extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid131;
>   
> +#define EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_132_GUID \
> +  { \
> +    0x5a9904c6, 0xed34, 0x43ca, { 0xbf, 0x58, 0x3a, 0xc0, 0x43, 0x90, 0xf1, 0xd0 } \
> +  }
> +
> +extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid132;
> +
> +#define EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_133_GUID \
> +  { \
> +    0x8236178a, 0x1a6, 0x4454, { 0xa9, 0xc9, 0x18, 0xe9, 0xa, 0xa5, 0xfe, 0x29 } \
> +  }
> +
> +extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid133;
> +
> +#define EFI_TEST_DEVICEPATHTOTEXTBBTESTFUNCTION_ASSERTION_134_GUID \
> +  { \
> +    0xc57ad77d, 0x53dd, 0x4669, { 0x94, 0x9f, 0xe6, 0x33, 0xa1, 0x91, 0xb7, 0x71 } \
> +  }
> +
> +extern EFI_GUID gDevicePathToTextBBTestFunctionAssertionGuid134;
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
> index 2ab48c0..3079018 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestFunction.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -71,6 +71,8 @@ BBTestDevicePathNodeConformanceAutoTest (
>     HARDDRIVE_DEVICE_PATH               *Hd;
>     CHAR16                              *DevStr;
>     BMC_DEVICE_PATH                     *BMC;
> +  DNS_DEVICE_PATH                     *DNS;
> +  BLUETOOTH_LE_DEVICE_PATH            *BlueToothLE;
>   
>     //
>     // Get the Standard Library Interface
> @@ -264,7 +266,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid051,
> +                    gDevicePathBBTestFunctionAssertionGuid042,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Hardware Device Path - Controller Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d, InterfaceType - %x",
>                       __FILE__,
> @@ -340,7 +342,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid040,
> +                    gDevicePathBBTestFunctionAssertionGuid031,
>                       L"EFI_DEVICE_PATH_PROTOCOL - ACPI _ADR Device Path - ACPI _ADR Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -491,7 +493,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid048,
> +                    gDevicePathBBTestFunctionAssertionGuid039,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - SATA Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -516,7 +518,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid041,
> +                    gDevicePathBBTestFunctionAssertionGuid032,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -540,7 +542,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid042,
> +                    gDevicePathBBTestFunctionAssertionGuid033,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - USB Device Path(WWID)",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -687,7 +689,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid052,
> +                    gDevicePathBBTestFunctionAssertionGuid043,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Vlan Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, VlanId - %d",
>                       __FILE__,
> @@ -710,7 +712,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid045,
> +                    gDevicePathBBTestFunctionAssertionGuid036,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Fibre Channel Ex device path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -733,7 +735,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid046,
> +                    gDevicePathBBTestFunctionAssertionGuid037,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI(SAS) Ex device path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -756,7 +758,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid047,
> +                    gDevicePathBBTestFunctionAssertionGuid038,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - NVM Express Namespace Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -779,7 +781,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid053,
> +                    gDevicePathBBTestFunctionAssertionGuid044,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Uniform Resource Identifiers (URI) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -802,7 +804,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid054,
> +                    gDevicePathBBTestFunctionAssertionGuid045,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Universal Flash Storage (UFS) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -825,7 +827,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid055,
> +                    gDevicePathBBTestFunctionAssertionGuid046,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Secure Digital (SD) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -848,7 +850,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid056,
> +                    gDevicePathBBTestFunctionAssertionGuid047,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Bluetooth Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -871,7 +873,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid057,
> +                    gDevicePathBBTestFunctionAssertionGuid048,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - WIFI Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -894,7 +896,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid060,
> +                    gDevicePathBBTestFunctionAssertionGuid051,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - eMMC (Embedded Multi-Media Card) Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -905,6 +907,56 @@ BBTestDevicePathNodeConformanceAutoTest (
>                       );
>       }
>       //
> +    // Add a new checkpoint for BlueToothLE Device Path
> +    // Check Messaging Device Path: BlueToothLE Device Path
> +    //
> +    else if ((Type == 3) && (SubType == 30)) {
> +      BlueToothLE = (BLUETOOTH_LE_DEVICE_PATH *) DevicePath;   	
> +      if ((Length  == 11) && ((BlueToothLE->LEAddress.Type == 0) || (BlueToothLE->LEAddress.Type == 1))) {
> +        AssertionType = EFI_TEST_ASSERTION_PASSED;
> +      } else {
> +        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      }
> +      StandardLib->RecordAssertion (
> +                    StandardLib,
> +                    AssertionType,
> +                    gDevicePathBBTestFunctionAssertionGuid052,
> +                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - BlueToothLE Device Path",
> +                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, Type - %d",
> +                    __FILE__,
> +                    (UINTN)__LINE__,
> +                    (UINTN)Type,
> +                    (UINTN)SubType,
> +                    (UINTN)Length,
> +                    (UINTN)BlueToothLE->LEAddress.Type
> +                    );
> +    }
> +    //
> +    // Add a new checkpoint for DNS Device Path
> +    // Check Messaging Device Path: DNS Device Path
> +    //
> +    else if ((Type == 3) && (SubType == 31)) {
> +      DNS = (DNS_DEVICE_PATH *) DevicePath;
> +      if (((Length - 5) % sizeof(EFI_IP_ADDRESS) == 0) && ((DNS->IsIPv6 == 0) || (DNS->IsIPv6 == 1))) {
> +        AssertionType = EFI_TEST_ASSERTION_PASSED;
> +      } else {
> +        AssertionType = EFI_TEST_ASSERTION_FAILED;
> +      }
> +      StandardLib->RecordAssertion (
> +                    StandardLib,
> +                    AssertionType,
> +                    gDevicePathBBTestFunctionAssertionGuid030,
> +                    L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - DNS Device Path",
> +                    L"%a:%d:Type - %d, Subtype - %d, Length - %d, IsIPv6 - %d",
> +                    __FILE__,
> +                    (UINTN)__LINE__,
> +                    (UINTN)Type,
> +                    (UINTN)SubType,
> +                    (UINTN)Length,
> +                    (UINTN)DNS->IsIPv6
> +                    );
> +    }
> +    //
>       // Assertion Point 3.1.2.23
>       // Check Messaging Device Path: InfiniBand Device Path
>       //
> @@ -1000,7 +1052,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>           StandardLib->RecordAssertion (
>                         StandardLib,
>                         AssertionType,
> -                      gDevicePathBBTestFunctionAssertionGuid043,
> +                      gDevicePathBBTestFunctionAssertionGuid034,
>                         L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path - Serial Attached SCSI (SAS) Device Path",
>                         L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                         __FILE__,
> @@ -1051,7 +1103,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid044,
> +                    gDevicePathBBTestFunctionAssertionGuid035,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Messaging Device Path -  iSCSI Device Path",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1201,7 +1253,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid049,
> +                    gDevicePathBBTestFunctionAssertionGuid040,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware Volume",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1225,7 +1277,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid050,
> +                    gDevicePathBBTestFunctionAssertionGuid041,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - PIWG Firmware File",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1250,7 +1302,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid058,
> +                    gDevicePathBBTestFunctionAssertionGuid049,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - Relative Offset Range",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> @@ -1274,7 +1326,7 @@ BBTestDevicePathNodeConformanceAutoTest (
>         StandardLib->RecordAssertion (
>                       StandardLib,
>                       AssertionType,
> -                    gDevicePathBBTestFunctionAssertionGuid059,
> +                    gDevicePathBBTestFunctionAssertionGuid050,
>                       L"EFI_DEVICE_PATH_PROTOCOL - Media Device Path - RAM Disk",
>                       L"%a:%d:Type - %d, Subtype - %d, Length - %d",
>                       __FILE__,
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c
> index 284f149..2c0349e 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/DevicePathBBTestMain.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2011 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -45,7 +45,7 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = {
>     {
>       DEVICE_PATH_PROTOCOL_DEVICEPATHNODE_CONFORMANCE_AUTO_GUID,
>       L"PathNode_Conf",
> -    L"Check whether device path node is consistent with the UEFI2.0 Spec.",
> +    L"Check whether device path node is consistent with the UEFI Spec.",
>       EFI_TEST_LEVEL_MINIMAL,
>       gSupportProtocolGuid1,
>       EFI_TEST_CASE_AUTO,
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c
> index 421d17c..33b0817 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.c
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -84,6 +84,26 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid028 = EFI_TEST_DEVICEPATHBBTESTF
>   
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid029 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_029_GUID;
>   
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid030 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid031 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid032 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid033 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid034 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid035 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid036 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid037 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid038 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID;
> +
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid039 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID;
> +
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid040 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID;
>   
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid041 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID;
> @@ -106,22 +126,6 @@ EFI_GUID  gDevicePathBBTestFunctionAssertionGuid049 = EFI_TEST_DEVICEPATHBBTESTF
>   
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid050 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID;
>   
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
> -
>   EFI_GUID  gDevicePathBBTestFunctionAssertionGuid051 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID;
>   
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid053 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid054 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid055 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid056 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid057 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid058 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid059 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID;
> -
> -EFI_GUID  gDevicePathBBTestFunctionAssertionGuid060 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID;
> +EFI_GUID  gDevicePathBBTestFunctionAssertionGuid052 = EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID;
> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h
> index 6960362..33ce8c2 100644
> --- a/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h
> +++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DevicePath/BlackBoxTest/Guid.h
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -25,293 +25,364 @@ Abstract:
>   --*/
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_001_GUID \
> -{ 0x91064ab1, 0x5408, 0x48c1, 0xbb, 0xd9, 0x2a, 0x49, 0xee, 0xe2, 0x1d, 0xc9 }
> +  { \
> +    0x91064ab1, 0x5408, 0x48c1, {0xbb, 0xd9, 0x2a, 0x49, 0xee, 0xe2, 0x1d, 0xc9 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid001;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_002_GUID \
> -{ 0xb5a0ee55, 0x0070, 0x472d, 0x84, 0xcd, 0xbc, 0xb1, 0xe2, 0xbc, 0x25, 0xc0 }
> +  { \
> +    0xb5a0ee55, 0x0070, 0x472d, {0x84, 0xcd, 0xbc, 0xb1, 0xe2, 0xbc, 0x25, 0xc0 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid002;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_003_GUID \
> -{ 0x2902b389, 0xe4e7, 0x43cd, 0x9e, 0xff, 0xdc, 0x3f, 0xaa, 0xff, 0x12, 0xfa }
> +  { \
> +    0x2902b389, 0xe4e7, 0x43cd, {0x9e, 0xff, 0xdc, 0x3f, 0xaa, 0xff, 0x12, 0xfa } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid003;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_004_GUID \
> -{ 0x745df5f1, 0x7d97, 0x4297, 0xaf, 0x5a, 0xc5, 0xca, 0x67, 0x28, 0x39, 0x18 }
> +  { \
> +    0x745df5f1, 0x7d97, 0x4297, {0xaf, 0x5a, 0xc5, 0xca, 0x67, 0x28, 0x39, 0x18 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid004;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_005_GUID \
> -{ 0xc8f02111, 0x1de9, 0x4df2, 0x8f, 0x17, 0xbb, 0x12, 0x9b, 0xa6, 0x4d, 0xfe }
> +  { \
> +    0xc8f02111, 0x1de9, 0x4df2, {0x8f, 0x17, 0xbb, 0x12, 0x9b, 0xa6, 0x4d, 0xfe } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid005;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_006_GUID \
> -{ 0x1c206e49, 0x6638, 0x469d, 0x8c, 0x9c, 0x26, 0x13, 0x85, 0x8e, 0x4d, 0x77 }
> +  { \
> +    0x1c206e49, 0x6638, 0x469d, {0x8c, 0x9c, 0x26, 0x13, 0x85, 0x8e, 0x4d, 0x77 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid006;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_007_GUID \
> -{ 0xcedef0c0, 0x24cc, 0x4d36, 0x9d, 0x31, 0x9b, 0x9a, 0xf4, 0x63, 0xe6, 0x95 }
> +  { \
> +    0xcedef0c0, 0x24cc, 0x4d36, {0x9d, 0x31, 0x9b, 0x9a, 0xf4, 0x63, 0xe6, 0x95 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid007;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_008_GUID \
> -{ 0xf497a21b, 0x8bb4, 0x4310, 0xba, 0xcf, 0xf6, 0xfc, 0x18, 0xda, 0x46, 0x9e }
> +  { \
> +    0xf497a21b, 0x8bb4, 0x4310, {0xba, 0xcf, 0xf6, 0xfc, 0x18, 0xda, 0x46, 0x9e } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid008;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_009_GUID \
> -{ 0xf52ef05c, 0x4a10, 0x4857, 0xb9, 0x8c, 0x01, 0xd8, 0x15, 0x6e, 0xf8, 0x3f }
> +  { \
> +    0xf52ef05c, 0x4a10, 0x4857, {0xb9, 0x8c, 0x01, 0xd8, 0x15, 0x6e, 0xf8, 0x3f } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid009;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_010_GUID \
> -{ 0x3e3eaf27, 0xf811, 0x4060, 0x97, 0xe1, 0x13, 0xfc, 0x5a, 0x51, 0x6c, 0x0c }
> +  { \
> +    0x3e3eaf27, 0xf811, 0x4060, {0x97, 0xe1, 0x13, 0xfc, 0x5a, 0x51, 0x6c, 0x0c } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid010;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_011_GUID \
> -{ 0x8f24a32d, 0xb167, 0x42df, 0x85, 0xc3, 0xa3, 0xec, 0x68, 0x4a, 0x79, 0x80 }
> +  { \
> +    0x8f24a32d, 0xb167, 0x42df, {0x85, 0xc3, 0xa3, 0xec, 0x68, 0x4a, 0x79, 0x80 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid011;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_012_GUID \
> -{ 0xfd1e18a9, 0x0fd6, 0x4ea4, 0xac, 0xea, 0xe6, 0xc4, 0xd1, 0x73, 0x97, 0x52 }
> +  { \
> +    0xfd1e18a9, 0x0fd6, 0x4ea4, {0xac, 0xea, 0xe6, 0xc4, 0xd1, 0x73, 0x97, 0x52 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid012;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_013_GUID \
> -{ 0x758cfe7a, 0x1463, 0x4f29, 0x8c, 0x5b, 0x0e, 0x3a, 0x04, 0x17, 0x5d, 0xf8 }
> +  { \
> +    0x758cfe7a, 0x1463, 0x4f29, {0x8c, 0x5b, 0x0e, 0x3a, 0x04, 0x17, 0x5d, 0xf8 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid013;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_014_GUID \
> -{ 0x2eb2da32, 0x351d, 0x4743, 0x80, 0x55, 0xea, 0x23, 0x75, 0x69, 0x61, 0xc2 }
> +  { \
> +    0x2eb2da32, 0x351d, 0x4743, {0x80, 0x55, 0xea, 0x23, 0x75, 0x69, 0x61, 0xc2 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid014;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_015_GUID \
> -{ 0xba91dcd7, 0x719d, 0x4803, 0xaf, 0xe2, 0x61, 0x02, 0x1b, 0x31, 0x9b, 0x1f }
> +  { \
> +    0xba91dcd7, 0x719d, 0x4803, {0xaf, 0xe2, 0x61, 0x02, 0x1b, 0x31, 0x9b, 0x1f } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid015;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_016_GUID \
> -{ 0xb10c12a3, 0x8faa, 0x408a, 0x83, 0x63, 0x35, 0x6c, 0x74, 0x95, 0xe6, 0x80 }
> +  { \
> +    0xb10c12a3, 0x8faa, 0x408a, {0x83, 0x63, 0x35, 0x6c, 0x74, 0x95, 0xe6, 0x80 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid016;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_017_GUID \
> -{ 0xdd68e9c3, 0x28e1, 0x44c7, 0x9c, 0x31, 0xba, 0xcc, 0x80, 0x4e, 0xe4, 0xb3 }
> +  { \
> +    0xdd68e9c3, 0x28e1, 0x44c7, {0x9c, 0x31, 0xba, 0xcc, 0x80, 0x4e, 0xe4, 0xb3 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid017;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_018_GUID \
> -{ 0x2da145c3, 0x7d26, 0x4715, 0x8e, 0xfb, 0xf2, 0x35, 0xd5, 0x51, 0xe0, 0x77 }
> +  { \
> +    0x2da145c3, 0x7d26, 0x4715, {0x8e, 0xfb, 0xf2, 0x35, 0xd5, 0x51, 0xe0, 0x77 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid018;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_019_GUID \
> -{ 0xfcac17d1, 0xc792, 0x417a, 0x86, 0x99, 0x26, 0x11, 0xd0, 0xae, 0xc5, 0xba }
> +  { \
> +    0xfcac17d1, 0xc792, 0x417a, {0x86, 0x99, 0x26, 0x11, 0xd0, 0xae, 0xc5, 0xba } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid019;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_020_GUID \
> -{ 0x5f832ee4, 0x1d93, 0x42bf, 0x94, 0xea, 0xf8, 0x1b, 0x30, 0x1a, 0x9e, 0xf7 }
> +  { \
> +    0x5f832ee4, 0x1d93, 0x42bf, {0x94, 0xea, 0xf8, 0x1b, 0x30, 0x1a, 0x9e, 0xf7 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid020;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_021_GUID \
> -{ 0x86499222, 0x650a, 0x4492, 0x92, 0x2d, 0x46, 0x84, 0x4b, 0x1e, 0xb2, 0x0f }
> +  { \
> +    0x86499222, 0x650a, 0x4492, {0x92, 0x2d, 0x46, 0x84, 0x4b, 0x1e, 0xb2, 0x0f } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid021;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_022_GUID \
> -{ 0x4c19f495, 0x7214, 0x48da, 0xb4, 0xc5, 0x2e, 0x6c, 0xae, 0xd2, 0x8f, 0xc9 }
> +  { \
> +    0x4c19f495, 0x7214, 0x48da, {0xb4, 0xc5, 0x2e, 0x6c, 0xae, 0xd2, 0x8f, 0xc9 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid022;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_023_GUID \
> -{ 0x1856d9b9, 0x57db, 0x49eb, 0x97, 0x35, 0x68, 0x8a, 0xee, 0x43, 0x76, 0xf6 }
> +  { \
> +    0x1856d9b9, 0x57db, 0x49eb, {0x97, 0x35, 0x68, 0x8a, 0xee, 0x43, 0x76, 0xf6 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid023;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_024_GUID \
> -{ 0x8b53dc1e, 0xb9be, 0x49d7, 0x86, 0xad, 0xd5, 0x12, 0x8e, 0x1f, 0x08, 0x34 }
> +  { \
> +    0x8b53dc1e, 0xb9be, 0x49d7, {0x86, 0xad, 0xd5, 0x12, 0x8e, 0x1f, 0x08, 0x34 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid024;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_025_GUID \
> -{ 0x4c60bb0c, 0x8c00, 0x40f8, 0xa7, 0x35, 0x13, 0x4a, 0x56, 0x28, 0xe5, 0x21 }
> +  { \
> +    0x4c60bb0c, 0x8c00, 0x40f8, {0xa7, 0x35, 0x13, 0x4a, 0x56, 0x28, 0xe5, 0x21 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid025;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_026_GUID \
> -{ 0xde41b8cb, 0x401f, 0x4b7f, 0xb2, 0x34, 0xf8, 0xfb, 0x29, 0x3f, 0xc5, 0x23 }
> +  { \
> +    0xde41b8cb, 0x401f, 0x4b7f, {0xb2, 0x34, 0xf8, 0xfb, 0x29, 0x3f, 0xc5, 0x23 } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid026;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_027_GUID \
> -{ 0xc9969745, 0x6507, 0x4695, 0xb1, 0x26, 0xc3, 0xf8, 0xe6, 0xd2, 0x86, 0xec }
> +  { \
> +    0xc9969745, 0x6507, 0x4695, {0xb1, 0x26, 0xc3, 0xf8, 0xe6, 0xd2, 0x86, 0xec } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid027;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_028_GUID \
> -{ 0x014988e5, 0xc211, 0x478d, 0x90, 0x6d, 0xf1, 0x6a, 0xb0, 0x73, 0x85, 0x0c }
> +  { \
> +    0x014988e5, 0xc211, 0x478d, {0x90, 0x6d, 0xf1, 0x6a, 0xb0, 0x73, 0x85, 0x0c } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid028;
>   
>   #define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_029_GUID \
> -{ 0x3152ee5d, 0xd161, 0x4916, 0xa4, 0x13, 0x44, 0xa7, 0x79, 0x39, 0x16, 0x7f }
> +  { \
> +    0x3152ee5d, 0xd161, 0x4916, {0xa4, 0x13, 0x44, 0xa7, 0x79, 0x39, 0x16, 0x7f } \
> +  }
>   
>   extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid029;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_030_GUID \
>     { \
> -    0xC3B2BA41, 0x7126, 0x4B7A, 0xAB, 0xDC, 0x7D, 0x1B, 0x46, 0x3D, 0x9B, 0xD7 \
> +    0x4d074d59, 0x6051, 0x48ce, { 0x8d, 0x89, 0x9d, 0x4, 0xad, 0xe9, 0x67, 0xc } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid030;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_031_GUID \
>     { \
> -    0xD1527A5C, 0xC1BD, 0x4585, 0x93, 0x23, 0xA5, 0xEA, 0xC7, 0xD5, 0x12, 0x7B \
> +    0xC3B2BA41, 0x7126, 0x4B7A, {0xAB, 0xDC, 0x7D, 0x1B, 0x46, 0x3D, 0x9B, 0xD7 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid031;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_032_GUID \
>     { \
> -    0x50E59956, 0x46FD, 0x4B21, 0xB5, 0x57, 0x9A, 0x33, 0xB2, 0x08, 0xD3, 0x41 \
> +    0xD1527A5C, 0xC1BD, 0x4585, {0x93, 0x23, 0xA5, 0xEA, 0xC7, 0xD5, 0x12, 0x7B } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid032;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_033_GUID \
>     { \
> -    0x8E637C03, 0xA1DF, 0x4AB6, 0xAE, 0x29, 0x5B, 0x9C, 0xD8, 0x6C, 0x6D, 0x1E \
> +    0x50E59956, 0x46FD, 0x4B21, {0xB5, 0x57, 0x9A, 0x33, 0xB2, 0x08, 0xD3, 0x41 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid033;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_034_GUID \
>     { \
> -    0x885DB334, 0x940B, 0x4EC3, 0x82, 0xE5, 0xC5, 0xF1, 0x1D, 0xDB, 0x2A, 0x42 \
> +    0x8E637C03, 0xA1DF, 0x4AB6, {0xAE, 0x29, 0x5B, 0x9C, 0xD8, 0x6C, 0x6D, 0x1E } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid034;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_035_GUID \
>     { \
> -    0x5658C849, 0xD7ED, 0x4780, 0x8E, 0xE7, 0x6D, 0xF2, 0x62, 0x48, 0x1D, 0xDB \
> +    0x885DB334, 0x940B, 0x4EC3, {0x82, 0xE5, 0xC5, 0xF1, 0x1D, 0xDB, 0x2A, 0x42 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid035;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_036_GUID \
>     { \
> -    0x3F412961, 0x4872, 0x4AA9, 0xBE, 0xD2, 0x2B, 0x03, 0x5F, 0xBC, 0xCC, 0xB6 \
> +    0x5658C849, 0xD7ED, 0x4780, {0x8E, 0xE7, 0x6D, 0xF2, 0x62, 0x48, 0x1D, 0xDB } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid036;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_037_GUID \
>     { \
> -    0x2ed116cb, 0x1ec7, 0x468a, 0x9c, 0xf8, 0xf, 0xf4, 0x41, 0x2a, 0x4b, 0xb1 \
> +    0x3F412961, 0x4872, 0x4AA9, {0xBE, 0xD2, 0x2B, 0x03, 0x5F, 0xBC, 0xCC, 0xB6 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid037;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_038_GUID \
>     { \
> -    0xab5c791b, 0x015c, 0x41b2, 0x93, 0xdf, 0x70, 0xf5, 0xc8, 0xaf, 0x3a, 0xec \
> +    0x2ed116cb, 0x1ec7, 0x468a, {0x9c, 0xf8, 0xf, 0xf4, 0x41, 0x2a, 0x4b, 0xb1 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid038;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_039_GUID \
>     { \
> -    0x2bbca783, 0x4c23, 0x477d, 0xa7, 0x50, 0xf3, 0xda, 0xfa, 0xbc, 0x38, 0xf6 \
> +    0xab5c791b, 0x015c, 0x41b2, {0x93, 0xdf, 0x70, 0xf5, 0xc8, 0xaf, 0x3a, 0xec } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid039;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_040_GUID \
>     { \
> -    0xbaaf24e1, 0xc59, 0x4494, 0xaf, 0xef, 0x53, 0x2, 0xc1, 0x90, 0x57, 0x29 \
> +    0x2bbca783, 0x4c23, 0x477d, {0xa7, 0x50, 0xf3, 0xda, 0xfa, 0xbc, 0x38, 0xf6 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid040;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_041_GUID \
>     { \
> -    0xbe55aaa6, 0x7510, 0x4904, 0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 \
> +    0xbaaf24e1, 0xc59, 0x4494, {0xaf, 0xef, 0x53, 0x2, 0xc1, 0x90, 0x57, 0x29 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid041;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_042_GUID \
>     { \
> -    0x64770fbb, 0x280f, 0x40d5, 0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b \
> +    0x64770fbb, 0x280f, 0x40d5, {0x80, 0x33, 0x7, 0x82, 0x44, 0x7b, 0x3a, 0x2b } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid042;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_053_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_043_GUID \
>     { \
> -    0x88882137, 0x4e4d, 0x445a, 0xa1, 0xae, 0x11, 0xd8, 0xc2, 0xe1, 0xcf, 0xac \
> +    0xbe55aaa6, 0x7510, 0x4904, {0x98, 0x65, 0x8c, 0xa7, 0x16, 0x34, 0xd2, 0x03 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid053;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid043;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_054_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_044_GUID \
>     { \
> -    0xda928c4a, 0x6d22, 0x4091, 0x95, 0x8c, 0xe, 0xde, 0xa5, 0x3b, 0xc8, 0x2e \
> +    0x88882137, 0x4e4d, 0x445a, {0xa1, 0xae, 0x11, 0xd8, 0xc2, 0xe1, 0xcf, 0xac } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid054;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid044;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_055_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_045_GUID \
>     { \
> -    0x71e0582d, 0x983, 0x468e, 0x9a, 0x5d, 0xd2, 0xe5, 0xbb, 0x8c, 0x52, 0x6c \
> +    0xda928c4a, 0x6d22, 0x4091, {0x95, 0x8c, 0xe, 0xde, 0xa5, 0x3b, 0xc8, 0x2e } \
>     }
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid055;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_056_GUID \
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid045;
> +
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_046_GUID \
>     { \
> -    0x3d20f5d0, 0x670a, 0x4923, 0x91, 0x78, 0xb0, 0x1e, 0x6d, 0xe8, 0xee, 0x13 \
> +    0x71e0582d, 0x983, 0x468e, {0x9a, 0x5d, 0xd2, 0xe5, 0xbb, 0x8c, 0x52, 0x6c } \
>     }
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid046;
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid056;
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_047_GUID \
> +  { \
> +    0x3d20f5d0, 0x670a, 0x4923, {0x91, 0x78, 0xb0, 0x1e, 0x6d, 0xe8, 0xee, 0x13 } \
> +  }
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_057_GUID \
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid047;
> +
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_048_GUID \
>     { \
> -    0x136c50de, 0xb2d4, 0x4416, 0xb4, 0x90, 0xe, 0x32, 0x85, 0xf1, 0x6a, 0x7 \
> +    0x136c50de, 0xb2d4, 0x4416, {0xb4, 0x90, 0xe, 0x32, 0x85, 0xf1, 0x6a, 0x7 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid057;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid048;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_058_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_049_GUID \
>     { \
> -    0x973269de, 0xdca6, 0x4ad9, 0x9b, 0x9b, 0x6, 0x40, 0xfa, 0x4d, 0xbd, 0xf5 \
> +    0x973269de, 0xdca6, 0x4ad9, {0x9b, 0x9b, 0x6, 0x40, 0xfa, 0x4d, 0xbd, 0xf5 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid058;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid049;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_059_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_050_GUID \
>     { \
> -    0x6e817459, 0x21fd, 0x4923, 0x89, 0xe7, 0xca, 0xf9, 0x7d, 0x9d, 0xc2, 0x27 \
> +    0x6e817459, 0x21fd, 0x4923, {0x89, 0xe7, 0xca, 0xf9, 0x7d, 0x9d, 0xc2, 0x27 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid059;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid050;
>   
> -#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_060_GUID \
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_051_GUID \
>     { \
>       0xdf69547d, 0xd032, 0x44bd, { 0xb0, 0x54, 0x7f, 0x34, 0x3c, 0x2c, 0x7d, 0x95 } \
>     }
>   
> -extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid060;
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid051;
>   
> +#define EFI_TEST_DEVICEPATHBBTESTFUNCTION_ASSERTION_052_GUID \
> +  { \
> +    0x1ee91961, 0xe0fb, 0x4f76, { 0x89, 0xa7, 0xd4, 0x9f, 0x24, 0xc2, 0xc0, 0x4f } \
> +  }
> +
> +extern EFI_GUID gDevicePathBBTestFunctionAssertionGuid052;
> diff --git a/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h b/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h
> index 159e936..f69dc76 100644
> --- a/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h
> +++ b/uefi-sct/SctPkg/UEFI/Protocol/DevicePath.h
> @@ -1,7 +1,7 @@
>   /** @file
>   
>     Copyright 2006 - 2017 Unified EFI, Inc.<BR>
> -  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
>   
>     This program and the accompanying materials
>     are licensed and made available under the terms and conditions of the BSD License
> @@ -828,6 +828,12 @@ typedef struct {
>     UINT8                           SlotNumber;
>   } EMMC_DEVICE_PATH;
>   
> +
> +typedef struct {
> +  EFI_DEVICE_PATH_PROTOCOL        Header;
> +  UINT8                           IsIPv6;
> +} DNS_DEVICE_PATH;
> +
>   ///
>   /// BLUETOOTH_ADDRESS
>   ///
> @@ -844,6 +850,16 @@ typedef struct {
>   } BLUETOOTH_DEVICE_PATH;
>   
>   typedef struct {
> +UINT8 Address[6];
> +UINT8 Type;
> +} BLUETOOTH_LE_ADDRESS;
> +
> +typedef struct {
> +  EFI_DEVICE_PATH_PROTOCOL        Header;
> +  BLUETOOTH_LE_ADDRESS            LEAddress;
> +} BLUETOOTH_LE_DEVICE_PATH;
> +
> +typedef struct {
>     UINT8      Id[32];
>   } SSID;
>   



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-10-12  7:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-11  6:50 [edk2-test][Patch] Enable the DNS/BLE DevicePath test Eric Jin
2018-10-12  7:59 ` Supreeth Venkatesh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox