summaryrefslogtreecommitdiffstats
path: root/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
diff options
context:
space:
mode:
authorMatthew Carlson <macarl@microsoft.com>2020-10-09 06:37:46 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-10-18 00:49:58 +0000
commit694bfd6ff5b9a8352b4ca8634ed4ce449f505991 (patch)
tree4fb60a6e72cef9d9c6ef07bbbe079e45196d5ba5 /CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
parent30f0ec8d80072ae3ab58e08014e6b2ffe3ef97e1 (diff)
downloadedk2-694bfd6ff5b9a8352b4ca8634ed4ce449f505991.tar.gz
edk2-694bfd6ff5b9a8352b4ca8634ed4ce449f505991.tar.bz2
edk2-694bfd6ff5b9a8352b4ca8634ed4ce449f505991.zip
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>
Diffstat (limited to 'CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf')
-rw-r--r--CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf90
1 files changed, 90 insertions, 0 deletions
diff --git a/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
new file mode 100644
index 0000000000..db506c32f7
--- /dev/null
+++ b/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
@@ -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