CryptoPkg: BaseCryptLib: Add unit tests (Host and Shell based)
This adds a new INF for BaseCryptLib suitable for host based environments. It adds a host based unit test for BaseCryptLib that can also be built as a shell based Unit Test. In addition, this also adds a UnitTestHostCrtWrapper.c file, which provides some of the functionality not provided by the default host based unit test system that OpenSSL expects. This is used by UnitTestHostBaseCryptLib, a version of the BaseCryptLib meant specifically for host based unit testing. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Guomin Jiang <guomin.jiang@intel.com> Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
30f0ec8d80
commit
694bfd6ff5
90
CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
Normal file
90
CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
Normal file
@@ -0,0 +1,90 @@
|
||||
## @file
|
||||
# Cryptographic Library Instance for host based unit tests
|
||||
#
|
||||
# Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = BaseCryptLib
|
||||
FILE_GUID = c97d34aa-caf8-42cd-8261-8705f46304b3
|
||||
MODULE_TYPE = DXE_DRIVER
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = BaseCryptLib|HOST_APPLICATION
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
InternalCryptLib.h
|
||||
Hash/CryptMd5.c
|
||||
Hash/CryptSha1.c
|
||||
Hash/CryptSha256.c
|
||||
Hash/CryptSha512.c
|
||||
Hash/CryptSm3.c
|
||||
Hmac/CryptHmacSha256.c
|
||||
Kdf/CryptHkdf.c
|
||||
Cipher/CryptAes.c
|
||||
Pk/CryptRsaBasic.c
|
||||
Pk/CryptRsaExt.c
|
||||
Pk/CryptPkcs1Oaep.c
|
||||
Pk/CryptPkcs5Pbkdf2.c
|
||||
Pk/CryptPkcs7Sign.c
|
||||
Pk/CryptPkcs7VerifyCommon.c
|
||||
Pk/CryptPkcs7VerifyBase.c
|
||||
Pk/CryptPkcs7VerifyEku.c
|
||||
Pk/CryptDh.c
|
||||
Pk/CryptX509.c
|
||||
Pk/CryptAuthenticode.c
|
||||
Pk/CryptTs.c
|
||||
Pem/CryptPem.c
|
||||
|
||||
SysCall/UnitTestHostCrtWrapper.c
|
||||
|
||||
[Sources.Ia32]
|
||||
Rand/CryptRandTsc.c
|
||||
|
||||
[Sources.X64]
|
||||
Rand/CryptRandTsc.c
|
||||
|
||||
[Sources.ARM]
|
||||
Rand/CryptRand.c
|
||||
|
||||
[Sources.AARCH64]
|
||||
Rand/CryptRand.c
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
CryptoPkg/CryptoPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
BaseLib
|
||||
BaseMemoryLib
|
||||
MemoryAllocationLib
|
||||
DebugLib
|
||||
OpensslLib
|
||||
|
||||
#
|
||||
# Remove these [BuildOptions] after this library is cleaned up
|
||||
#
|
||||
[BuildOptions]
|
||||
#
|
||||
# suppress the following warnings so we do not break the build with warnings-as-errors:
|
||||
# C4090: 'function' : different 'const' qualifiers
|
||||
# C4018: '>': signed/unsigned mismatch
|
||||
MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4018
|
||||
|
||||
# -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
|
||||
# --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline"
|
||||
RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
|
||||
|
||||
GCC:*_CLANG35_*_CC_FLAGS = -std=c99
|
||||
GCC:*_CLANG38_*_CC_FLAGS = -std=c99
|
||||
|
||||
XCODE:*_*_*_CC_FLAGS = -std=c99
|
Reference in New Issue
Block a user