mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-27 15:44:04 +02:00
UnitTestFrameworkPkg: Add DSC, DSC INC, and YAML files
https://bugzilla.tianocore.org/show_bug.cgi?id=2505 * DSC in root of package file to perform a package build of the UnitTestFrameworkPkg and build sample unit test for all supported target environments. * DSC file in Test directory to build the sample unit test for the host environment. * UnitTestFrameworkPkgTarget.dsc.inc - DSC include file to !include when building unit tests for target environments. * UnitTestFrameworkPkgHost.dsc.inc - DSC include file to !include when building unit tests for target environments. * YAML file with set of CI checks to perform on UnitTestFrameworkPkg. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com>
This commit is contained in:
parent
f74abe4a2c
commit
3e61b953b7
33
UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc
Normal file
33
UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
## @file
|
||||||
|
# UnitTestFrameworkPkg DSC file used to build host-based unit tests.
|
||||||
|
#
|
||||||
|
# Copyright (c) Microsoft Corporation.<BR>
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#
|
||||||
|
##
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
PLATFORM_NAME = UnitTestFrameworkPkgHostTest
|
||||||
|
PLATFORM_GUID = C7F97D6D-54AC-45A9-8197-CC99B20CC7EC
|
||||||
|
PLATFORM_VERSION = 0.1
|
||||||
|
DSC_SPECIFICATION = 0x00010005
|
||||||
|
OUTPUT_DIRECTORY = Build/UnitTestFrameworkPkg/HostTest
|
||||||
|
SUPPORTED_ARCHITECTURES = IA32|X64
|
||||||
|
BUILD_TARGETS = NOOPT
|
||||||
|
SKUID_IDENTIFIER = DEFAULT
|
||||||
|
|
||||||
|
!include UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
|
||||||
|
|
||||||
|
[Components]
|
||||||
|
#
|
||||||
|
# Build HOST_APPLICATION that tests the SampleUnitTest
|
||||||
|
#
|
||||||
|
UnitTestFrameworkPkg/Test/UnitTest/Sample/SampleUnitTest/SampleUnitTestHost.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build Libraries
|
||||||
|
#
|
||||||
|
UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf
|
||||||
|
UnitTestFrameworkPkg/Library/Posix/DebugLibPosix/DebugLibPosix.inf
|
||||||
|
UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLibCmocka.inf
|
76
UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml
Normal file
76
UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
## @file
|
||||||
|
# CI configuration for UnitTestFrameworkPkg
|
||||||
|
#
|
||||||
|
# Copyright (c) Microsoft Corporation
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
##
|
||||||
|
{
|
||||||
|
## options defined .pytool/Plugin/CompilerPlugin
|
||||||
|
"CompilerPlugin": {
|
||||||
|
"DscPath": "UnitTestFrameworkPkg.dsc"
|
||||||
|
},
|
||||||
|
## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
|
||||||
|
"HostUnitTestCompilerPlugin": {
|
||||||
|
"DscPath": "Test/UnitTestFrameworkPkgHostTest.dsc"
|
||||||
|
},
|
||||||
|
## options defined .pytool/Plugin/CharEncodingCheck
|
||||||
|
"CharEncodingCheck": {
|
||||||
|
"IgnoreFiles": []
|
||||||
|
},
|
||||||
|
|
||||||
|
## options defined .pytool/Plugin/DependencyCheck
|
||||||
|
"DependencyCheck": {
|
||||||
|
"AcceptableDependencies": [
|
||||||
|
"MdePkg/MdePkg.dec",
|
||||||
|
"UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
|
||||||
|
],
|
||||||
|
# For host based unit tests
|
||||||
|
"AcceptableDependencies-HOST_APPLICATION":[],
|
||||||
|
# For UEFI shell based apps
|
||||||
|
"AcceptableDependencies-UEFI_APPLICATION":[
|
||||||
|
"MdeModulePkg/MdeModulePkg.dec",
|
||||||
|
"ShellPkg/ShellPkg.dec"
|
||||||
|
],
|
||||||
|
"IgnoreInf": []
|
||||||
|
},
|
||||||
|
## options defined .pytool/Plugin/DscCompleteCheck
|
||||||
|
"DscCompleteCheck": {
|
||||||
|
"DscPath": "UnitTestFrameworkPkg.dsc",
|
||||||
|
"IgnoreInf": []
|
||||||
|
},
|
||||||
|
## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
|
||||||
|
"HostUnitTestDscCompleteCheck": {
|
||||||
|
"IgnoreInf": [],
|
||||||
|
"DscPath": "Test/UnitTestFrameworkPkgHostTest.dsc"
|
||||||
|
},
|
||||||
|
## options defined .pytool/Plugin/GuidCheck
|
||||||
|
"GuidCheck": {
|
||||||
|
"IgnoreGuidName": [],
|
||||||
|
"IgnoreGuidValue": [],
|
||||||
|
"IgnoreFoldersAndFiles": [],
|
||||||
|
"IgnoreDuplicates": []
|
||||||
|
},
|
||||||
|
## options defined .pytool/Plugin/LibraryClassCheck
|
||||||
|
"LibraryClassCheck": {
|
||||||
|
"IgnoreHeaderFile": []
|
||||||
|
},
|
||||||
|
|
||||||
|
## options defined .pytool/Plugin/SpellCheck
|
||||||
|
"SpellCheck": {
|
||||||
|
"AuditOnly": False, # Fails test but run in AuditOnly mode to collect log
|
||||||
|
"IgnoreFiles": [ # use gitignore syntax to ignore errors in matching files
|
||||||
|
"/Library/CmockaLib/cmocka/**/*.*" # not going to spell check a submodule
|
||||||
|
],
|
||||||
|
"ExtendWords": [ # words to extend to the dictionary for this package
|
||||||
|
"cmocka",
|
||||||
|
"buildmodule",
|
||||||
|
"criterium",
|
||||||
|
"pytool",
|
||||||
|
"pytools",
|
||||||
|
"NOFAILURE",
|
||||||
|
"DHAVE" # build flag for cmocka in the INF
|
||||||
|
],
|
||||||
|
"IgnoreStandardPaths": [], # Standard Plugin defined paths that should be ignore
|
||||||
|
"AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
|
||||||
|
}
|
||||||
|
}
|
34
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc
Normal file
34
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
## @file
|
||||||
|
# UnitTestFrameworkPkg
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#
|
||||||
|
##
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
PLATFORM_NAME = UnitTestFrameworkPkg
|
||||||
|
PLATFORM_GUID = 7420CC7E-334E-4EFF-B974-A39613455168
|
||||||
|
PLATFORM_VERSION = 1.00
|
||||||
|
DSC_SPECIFICATION = 0x00010005
|
||||||
|
OUTPUT_DIRECTORY = Build/UnitTestFrameworkPkg
|
||||||
|
SUPPORTED_ARCHITECTURES = IA32|X64|EBC|ARM|AARCH64
|
||||||
|
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
|
||||||
|
SKUID_IDENTIFIER = DEFAULT
|
||||||
|
|
||||||
|
!include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
|
||||||
|
|
||||||
|
[Components]
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestPersistenceLibNull/UnitTestPersistenceLibNull.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestResultReportLib/UnitTestResultReportLibDebugLib.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestBootLibNull/UnitTestBootLibNull.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestResultReportLib/UnitTestResultReportLibConOut.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestBootLibUsbClass/UnitTestBootLibUsbClass.inf
|
||||||
|
UnitTestFrameworkPkg/Library/UnitTestPersistenceLibSimpleFileSystem/UnitTestPersistenceLibSimpleFileSystem.inf
|
||||||
|
|
||||||
|
UnitTestFrameworkPkg/Test/UnitTest/Sample/SampleUnitTest/SampleUnitTestDxe.inf
|
||||||
|
UnitTestFrameworkPkg/Test/UnitTest/Sample/SampleUnitTest/SampleUnitTestPei.inf
|
||||||
|
UnitTestFrameworkPkg/Test/UnitTest/Sample/SampleUnitTest/SampleUnitTestSmm.inf
|
||||||
|
UnitTestFrameworkPkg/Test/UnitTest/Sample/SampleUnitTest/SampleUnitTestUefiShell.inf
|
56
UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
Normal file
56
UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
## @file
|
||||||
|
# UnitTestFrameworkPkg DSC include file for host based test DSC
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#
|
||||||
|
##
|
||||||
|
|
||||||
|
!include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
|
||||||
|
|
||||||
|
[LibraryClasses.common.HOST_APPLICATION]
|
||||||
|
CmockaLib|UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf
|
||||||
|
UnitTestLib|UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLibCmocka.inf
|
||||||
|
DebugLib|UnitTestFrameworkPkg/Library/Posix/DebugLibPosix/DebugLibPosix.inf
|
||||||
|
MemoryAllocationLib|UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf
|
||||||
|
|
||||||
|
[BuildOptions]
|
||||||
|
GCC:*_*_*_CC_FLAGS = -fno-pie
|
||||||
|
|
||||||
|
[BuildOptions.common.EDKII.HOST_APPLICATION]
|
||||||
|
#
|
||||||
|
# MSFT
|
||||||
|
#
|
||||||
|
MSFT:*_*_*_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /IGNORE:4001 /NOLOGO /SUBSYSTEM:CONSOLE /DEBUG /NODEFAULTLIB:libcmt.lib libcmtd.lib
|
||||||
|
MSFT:*_*_IA32_DLINK_FLAGS = /MACHINE:I386
|
||||||
|
MSFT:*_*_X64_DLINK_FLAGS = /MACHINE:AMD64
|
||||||
|
|
||||||
|
MSFT:*_VS2015_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
|
||||||
|
MSFT:*_VS2015x86_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
|
||||||
|
MSFT:*_VS2017_IA32_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
|
||||||
|
MSFT:*_VS2019_IA32_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
|
||||||
|
|
||||||
|
MSFT:*_VS2015_X64_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%VC\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
|
||||||
|
MSFT:*_VS2015x86_X64_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%VC\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
|
||||||
|
MSFT:*_VS2017_X64_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
|
||||||
|
MSFT:*_VS2019_X64_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
|
||||||
|
|
||||||
|
#
|
||||||
|
# GCC
|
||||||
|
#
|
||||||
|
GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m32 -no-pie
|
||||||
|
GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m64 -no-pie
|
||||||
|
GCC:*_*_*_DLINK2_FLAGS == -lgcov
|
||||||
|
|
||||||
|
#
|
||||||
|
# Need to do this link via gcc and not ld as the pathing to libraries changes from OS version to OS version
|
||||||
|
#
|
||||||
|
XCODE:*_*_IA32_DLINK_PATH == gcc
|
||||||
|
XCODE:*_*_IA32_CC_FLAGS = -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack
|
||||||
|
XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/Host -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
|
||||||
|
XCODE:*_*_IA32_ASM_FLAGS == -arch i386 -g
|
||||||
|
|
||||||
|
XCODE:*_*_X64_DLINK_PATH == gcc
|
||||||
|
XCODE:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/Host -L/usr/X11R6/lib -lXext -lX11 -framework Carbon -Wl,-no_pie
|
||||||
|
XCODE:*_*_X64_ASM_FLAGS == -g
|
||||||
|
XCODE:*_*_X64_CC_FLAGS = -O0 -target x86_64-apple-darwin -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack "-DEFIAPI=__attribute__((ms_abi))"
|
58
UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
Normal file
58
UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
## @file
|
||||||
|
# UnitTestFrameworkPkg DSC include file for target based test DSC
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#
|
||||||
|
##
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
#
|
||||||
|
# Entry point
|
||||||
|
#
|
||||||
|
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
||||||
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
||||||
|
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
||||||
|
|
||||||
|
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
||||||
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
||||||
|
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
||||||
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
||||||
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||||
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
||||||
|
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
||||||
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
||||||
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
||||||
|
|
||||||
|
UnitTestLib|UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.inf
|
||||||
|
UnitTestPersistenceLib|UnitTestFrameworkPkg/Library/UnitTestPersistenceLibNull/UnitTestPersistenceLibNull.inf
|
||||||
|
UnitTestResultReportLib|UnitTestFrameworkPkg/Library/UnitTestResultReportLib/UnitTestResultReportLibDebugLib.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.
|
||||||
|
#
|
||||||
|
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Since software stack checking may be heuristically enabled by the compiler
|
||||||
|
# include BaseStackCheckLib unconditionally.
|
||||||
|
#
|
||||||
|
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
||||||
|
|
||||||
|
[LibraryClasses.common.PEIM]
|
||||||
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
||||||
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
||||||
|
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
||||||
|
|
||||||
|
[LibraryClasses.common.UEFI_APPLICATION]
|
||||||
|
UnitTestResultReportLib|UnitTestFrameworkPkg/Library/UnitTestResultReportLib/UnitTestResultReportLibConOut.inf
|
||||||
|
|
||||||
|
[PcdsFixedAtBuild]
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||||
|
|
||||||
|
[BuildOptions]
|
||||||
|
MSFT:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
||||||
|
GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
Loading…
x
Reference in New Issue
Block a user