You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
7.4 KiB
171 lines
7.4 KiB
9 months ago
|
From 0d85ac65b3e469e879f687150d0a25e6dbd6cac1 Mon Sep 17 00:00:00 2001
|
||
|
From: Jon Maloy <jmaloy@redhat.com>
|
||
|
Date: Thu, 8 Feb 2024 10:35:14 -0500
|
||
|
Subject: [PATCH 02/18] NetworkPkg: : Add Unit tests to CI and create Host Test
|
||
|
DSC
|
||
|
|
||
|
RH-Author: Jon Maloy <jmaloy@redhat.com>
|
||
|
RH-MergeRequest: 54: NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45230 Patch
|
||
|
RH-Jira: RHEL-21841 RHEL-21843 RHEL-21845 RHEL-21847 RHEL-21849 RHEL-21851 RHEL-21853
|
||
|
RH-Acked-by: Gerd Hoffmann <None>
|
||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||
|
RH-Commit: [2/18] 331bea0d7e46de0e35e595ad08c94eec99c80cd8
|
||
|
|
||
|
JIRA: https://issues.redhat.com/browse/RHEL-21843
|
||
|
CVE: CVE-2023-45230
|
||
|
Upstream: Merged
|
||
|
|
||
|
commit 8014ac2d7bbbc503f5562b51af46bb20ae3d22ff
|
||
|
Author: Doug Flick via groups.io <dougflick=microsoft.com@groups.io>
|
||
|
Date: Fri Jan 26 05:54:44 2024 +0800
|
||
|
|
||
|
NetworkPkg: : Add Unit tests to CI and create Host Test DSC
|
||
|
|
||
|
Adds Host Based testing to the NetworkPkg
|
||
|
|
||
|
Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
|
||
|
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
|
||
|
|
||
|
Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
|
||
|
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
|
||
|
|
||
|
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
|
||
|
---
|
||
|
NetworkPkg/NetworkPkg.ci.yaml | 7 +-
|
||
|
NetworkPkg/Test/NetworkPkgHostTest.dsc | 98 ++++++++++++++++++++++++++
|
||
|
2 files changed, 104 insertions(+), 1 deletion(-)
|
||
|
create mode 100644 NetworkPkg/Test/NetworkPkgHostTest.dsc
|
||
|
|
||
|
diff --git a/NetworkPkg/NetworkPkg.ci.yaml b/NetworkPkg/NetworkPkg.ci.yaml
|
||
|
index 07dc7abd69..076424eb60 100644
|
||
|
--- a/NetworkPkg/NetworkPkg.ci.yaml
|
||
|
+++ b/NetworkPkg/NetworkPkg.ci.yaml
|
||
|
@@ -24,6 +24,9 @@
|
||
|
"CompilerPlugin": {
|
||
|
"DscPath": "NetworkPkg.dsc"
|
||
|
},
|
||
|
+ "HostUnitTestCompilerPlugin": {
|
||
|
+ "DscPath": "Test/NetworkPkgHostTest.dsc"
|
||
|
+ },
|
||
|
"CharEncodingCheck": {
|
||
|
"IgnoreFiles": []
|
||
|
},
|
||
|
@@ -35,7 +38,9 @@
|
||
|
"CryptoPkg/CryptoPkg.dec"
|
||
|
],
|
||
|
# For host based unit tests
|
||
|
- "AcceptableDependencies-HOST_APPLICATION":[],
|
||
|
+ "AcceptableDependencies-HOST_APPLICATION":[
|
||
|
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||
|
+ ],
|
||
|
# For UEFI shell based apps
|
||
|
"AcceptableDependencies-UEFI_APPLICATION":[
|
||
|
"ShellPkg/ShellPkg.dec"
|
||
|
diff --git a/NetworkPkg/Test/NetworkPkgHostTest.dsc b/NetworkPkg/Test/NetworkPkgHostTest.dsc
|
||
|
new file mode 100644
|
||
|
index 0000000000..1aeca5c5b3
|
||
|
--- /dev/null
|
||
|
+++ b/NetworkPkg/Test/NetworkPkgHostTest.dsc
|
||
|
@@ -0,0 +1,98 @@
|
||
|
+## @file
|
||
|
+# NetworkPkgHostTest DSC file used to build host-based unit tests.
|
||
|
+#
|
||
|
+# Copyright (c) Microsoft Corporation.<BR>
|
||
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
+#
|
||
|
+##
|
||
|
+[Defines]
|
||
|
+ PLATFORM_NAME = NetworkPkgHostTest
|
||
|
+ PLATFORM_GUID = 3b68324e-fc07-4d49-9520-9347ede65879
|
||
|
+ PLATFORM_VERSION = 0.1
|
||
|
+ DSC_SPECIFICATION = 0x00010005
|
||
|
+ OUTPUT_DIRECTORY = Build/NetworkPkg/HostTest
|
||
|
+ SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64
|
||
|
+ BUILD_TARGETS = NOOPT
|
||
|
+ SKUID_IDENTIFIER = DEFAULT
|
||
|
+
|
||
|
+!include UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
|
||
|
+[Packages]
|
||
|
+ MdePkg/MdePkg.dec
|
||
|
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||
|
+
|
||
|
+[Components]
|
||
|
+ #
|
||
|
+ # Build HOST_APPLICATION that tests NetworkPkg
|
||
|
+ #
|
||
|
+
|
||
|
+# Despite these library classes being listed in [LibraryClasses] below, they are not needed for the host-based unit tests.
|
||
|
+[LibraryClasses]
|
||
|
+ NetLib|NetworkPkg/Library/DxeNetLib/DxeNetLib.inf
|
||
|
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
||
|
+ BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
||
|
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
||
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||
|
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
||
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
||
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||
|
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
||
|
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
||
|
+ UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
||
|
+ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
||
|
+ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
||
|
+ UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
||
|
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
||
|
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
||
|
+ TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
||
|
+ PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
||
|
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
||
|
+ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
||
|
+ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
||
|
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
||
|
+ RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
||
|
+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
||
|
+!ifdef CONTINUOUS_INTEGRATION
|
||
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
|
||
|
+ TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
||
|
+!else
|
||
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||
|
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
||
|
+ TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
||
|
+!endif
|
||
|
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
||
|
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
||
|
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
||
|
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
||
|
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
||
|
+
|
||
|
+!if $(TOOL_CHAIN_TAG) == VS2019 or $(TOOL_CHAIN_TAG) == VS2022
|
||
|
+[LibraryClasses.X64]
|
||
|
+ # Provide StackCookie support lib so that we can link to /GS exports for VS builds
|
||
|
+ RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
||
|
+!endif
|
||
|
+
|
||
|
+[LibraryClasses.common.UEFI_DRIVER]
|
||
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
||
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
||
|
+ DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
|
||
|
+[LibraryClasses.common.UEFI_APPLICATION]
|
||
|
+ DebugLib|MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf
|
||
|
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
||
|
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
||
|
+ #
|
||
|
+ # It is not possible to prevent ARM compiler calls to generic intrinsic functions.
|
||
|
+ # This library provides the instrinsic functions generated by a given compiler.
|
||
|
+ # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
|
||
|
+ #
|
||
|
+!if $(TOOL_CHAIN_TAG) != VS2017 and $(TOOL_CHAIN_TAG) != VS2015 and $(TOOL_CHAIN_TAG) != VS2019
|
||
|
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
|
||
|
+!endif
|
||
|
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
||
|
+[LibraryClasses.ARM]
|
||
|
+ RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||
|
+[LibraryClasses.RISCV64]
|
||
|
+ RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||
|
+
|
||
|
+[PcdsFixedAtBuild]
|
||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2
|
||
|
+ gEfiNetworkPkgTokenSpaceGuid.PcdDhcp6UidType|0x4
|
||
|
--
|
||
|
2.39.3
|
||
|
|