]> git.proxmox.com Git - mirror_edk2.git/commitdiff
CryptoPkg: Fixed host-based unit tests
authorMichael D Kinney <michael.d.kinney@intel.com>
Mon, 3 Oct 2022 23:27:26 +0000 (16:27 -0700)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 24 Oct 2022 07:49:43 +0000 (07:49 +0000)
* Build host-based tests using OpensslLib instance with all services
  enabled.
* Build host-based tests using performance optimized OpensslLib instance
  with all services enabled.
* Remove unused PCD gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
* Remove redundant and unnecessary [BuildOptions]
* Limit host-based unit tests to only IA32/X64

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Christopher Zurcher <christopher.zurcher@microsoft.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
CryptoPkg/Test/CryptoPkgHostUnitTest.dsc
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHostAccel.inf [new file with mode: 0644]

index 168e24e4c041ac12f18b53945d2e2e4bcd16fee8..80261794470f94b83be3e382b0115bb208ee8c00 100644 (file)
@@ -18,7 +18,7 @@
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64\r
+#  VALID_ARCHITECTURES           = IA32 X64\r
 #\r
 \r
 [Sources]\r
@@ -28,6 +28,7 @@
   Hash/CryptSha256.c\r
   Hash/CryptSha512.c\r
   Hash/CryptSm3.c\r
+  Hash/CryptParallelHashNull.c\r
   Hmac/CryptHmac.c\r
   Kdf/CryptHkdf.c\r
   Cipher/CryptAes.c\r
@@ -48,8 +49,7 @@
   Pk/CryptRsaPss.c\r
   Pk/CryptRsaPssSign.c\r
   Bn/CryptBn.c\r
-  Pk/CryptEcNull.c    |*|*|*|!gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled\r
-  Pk/CryptEc.c    |*|*|*|gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled\r
+  Pk/CryptEc.c\r
 \r
   SysCall/UnitTestHostCrtWrapper.c\r
 \r
 [Sources.X64]\r
   Rand/CryptRandTsc.c\r
 \r
-[Sources.ARM]\r
-  Rand/CryptRand.c\r
-\r
-[Sources.AARCH64]\r
-  Rand/CryptRand.c\r
-\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   CryptoPkg/CryptoPkg.dec\r
@@ -75,9 +69,7 @@
   MemoryAllocationLib\r
   DebugLib\r
   OpensslLib\r
-\r
-[FixedPcd]\r
-  gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled\r
+  PrintLib\r
 \r
 #\r
 # Remove these [BuildOptions] after this library is cleaned up\r
 [BuildOptions]\r
   #\r
   # suppress the following warnings so we do not break the build with warnings-as-errors:\r
-  # C4090: 'function' : different 'const' qualifiers\r
-  # C4018: '>': signed/unsigned mismatch\r
-  MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4018\r
-\r
+  #\r
   GCC:*_CLANG35_*_CC_FLAGS = -std=c99\r
   GCC:*_CLANG38_*_CC_FLAGS = -std=c99\r
+  GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types\r
 \r
   XCODE:*_*_*_CC_FLAGS = -std=c99\r
index b6e1a6619844aad5cf8c5da363b40aca8f2aa4fc..369a1cb69939949425283285f2c7ea1bc8b0a7a9 100644 (file)
 \r
 !include UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc\r
 \r
-[PcdsFixedAtBuild]\r
-  gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled|TRUE\r
-\r
 [LibraryClasses]\r
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
+  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf\r
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf\r
   MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf\r
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
 \r
-[LibraryClasses.AARCH64, LibraryClasses.ARM]\r
-  RngLib|MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf\r
-\r
 [LibraryClasses.X64, LibraryClasses.IA32]\r
   RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf\r
 \r
   # Build HOST_APPLICATION that tests the SampleUnitTest\r
   #\r
   CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf\r
+  CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHostAccel.inf {\r
+    <LibraryClasses>\r
+      OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf\r
+  }\r
 \r
 [BuildOptions]\r
-  *_*_*_CC_FLAGS       = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
-  MSFT:*_*_*_CC_FLAGS  = /D ENABLE_MD5_DEPRECATED_INTERFACES\r
-  INTEL:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES\r
-  GCC:*_*_*_CC_FLAGS   = -D ENABLE_MD5_DEPRECATED_INTERFACES\r
+  *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
diff --git a/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHostAccel.inf b/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHostAccel.inf
new file mode 100644 (file)
index 0000000..9d0fcfd
--- /dev/null
@@ -0,0 +1,56 @@
+## @file\r
+# Host-based UnitTest for BaseCryptLib\r
+#\r
+# Copyright (c) Microsoft Corporation.<BR>\r
+# Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+##\r
+\r
+[Defines]\r
+  INF_VERSION    = 0x00010005\r
+  BASE_NAME      = BaseCryptLibUnitTestHostAccel\r
+  FILE_GUID      = B1AED64E-B53A-4D69-B0BA-60EEDAC47A6B\r
+  MODULE_TYPE    = HOST_APPLICATION\r
+  VERSION_STRING = 1.0\r
+\r
+#\r
+# The following information is for reference only and not required by the build tools.\r
+#\r
+#  VALID_ARCHITECTURES           = IA32 X64\r
+#\r
+\r
+[Sources]\r
+  UnitTestMain.c\r
+  BaseCryptLibUnitTests.c\r
+  TestBaseCryptLib.h\r
+  HashTests.c\r
+  HmacTests.c\r
+  BlockCipherTests.c\r
+  RsaTests.c\r
+  RsaPkcs7Tests.c\r
+  Pkcs5Pbkdf2Tests.c\r
+  AuthenticodeTests.c\r
+  TSTests.c\r
+  DhTests.c\r
+  RandTests.c\r
+  Pkcs7EkuTests.c\r
+  OaepEncryptTests.c\r
+  RsaPssTests.c\r
+  ParallelhashTests.c\r
+  HkdfTests.c\r
+  AeadAesGcmTests.c\r
+  BnTests.c\r
+  EcTests.c\r
+  X509Tests.c\r
+\r
+[Packages]\r
+  MdePkg/MdePkg.dec\r
+  CryptoPkg/CryptoPkg.dec\r
+\r
+[LibraryClasses]\r
+  BaseLib\r
+  DebugLib\r
+  BaseCryptLib\r
+  UnitTestLib\r
+  MmServicesTableLib\r
+  SynchronizationLib\r