[edk2-devel] [PATCH v5 0/2] Add Unit Tests for BaseCryptLib to CryptoPkg

Matthew Carlson posted 2 patches 3 years, 5 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
CryptoPkg/Library/BaseCryptLib/SysCall/UnitTestHostCrtWrapper.c                                |   93 ++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/AuthenticodeTests.c                               | 1002 ++++++++++++++++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTests.c                           |   66 ++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BlockCipherTests.c                                |  293 ++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/DhTests.c                                         |  106 +++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c                                       |  197 ++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HmacTests.c                                       |  184 ++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/OaepEncryptTests.c                                |  308 ++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs5Pbkdf2Tests.c                                |   71 ++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTests.c                                   |  524 ++++++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RandTests.c                                       |   51 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaPkcs7Tests.c                                   |  415 ++++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaTests.c                                        |  310 ++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TSTests.c                                         |  335 +++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c                                    |   81 ++
.azurepipelines/templates/pr-gate-build-job.yml                                                |    2 +-
CryptoPkg/CryptoPkg.ci.yaml                                                                    |    4 +
CryptoPkg/CryptoPkg.dsc                                                                        |   23 +
CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf                                    |   90 ++
CryptoPkg/Test/CryptoPkgHostUnitTest.dsc                                                       |   35 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTestSignatures.h                          |  789 +++++++++++++++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h                                |  121 +++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf                          |   46 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf                         |   49 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/ChainCreationInstructions.txt        |   92 ++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/CreateTestCerts.cmd                  |   11 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/SignFirmwareWithEKUs.cmd             |   76 ++
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingIssuingCA.ini          |   45 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSigner.ini         |   25 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid1.ini     |   24 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid12345.ini |   27 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingNoEKUsInSigner.ini     |   16 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingPolicyCA.ini           |   28 +
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingRoot.ini               |   28 +
34 files changed, 5566 insertions(+), 1 deletion(-)
create mode 100644 CryptoPkg/Library/BaseCryptLib/SysCall/UnitTestHostCrtWrapper.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/AuthenticodeTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BlockCipherTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/DhTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HmacTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/OaepEncryptTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs5Pbkdf2Tests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RandTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaPkcs7Tests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TSTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c
create mode 100644 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
create mode 100644 CryptoPkg/Test/CryptoPkgHostUnitTest.dsc
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTestSignatures.h
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/ChainCreationInstructions.txt
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/CreateTestCerts.cmd
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/SignFirmwareWithEKUs.cmd
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingIssuingCA.ini
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSigner.ini
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid1.ini
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid12345.ini
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingNoEKUsInSigner.ini
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingPolicyCA.ini
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingRoot.ini
[edk2-devel] [PATCH v5 0/2] Add Unit Tests for BaseCryptLib to CryptoPkg
Posted by Matthew Carlson 3 years, 5 months ago
From: Matthew Carlson <matthewfcarlson@gmail.com>

This turns adds Host Based Unit Tests for CryptoPkg, adds a new BaseCryptLib
implementation that is meant for unit testing and turns on HBUT for CryptoPkg
CI.

Changes for V5:
 Remove BaseTimerLibPosix as it is no longer needed
 Cleaned up a bit of the documentation around the tests

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>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>


Matthew Carlson (2):
  CryptoPkg: BaseCryptLib: Add unit tests (Host and Shell based)
  AzurePipelines : Pr Gate: Turn on HBUT for CryptoPkg

 CryptoPkg/Library/BaseCryptLib/SysCall/UnitTestHostCrtWrapper.c                                |   93 ++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/AuthenticodeTests.c                               | 1002 ++++++++++++++++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTests.c                           |   66 ++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BlockCipherTests.c                                |  293 ++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/DhTests.c                                         |  106 +++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c                                       |  197 ++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HmacTests.c                                       |  184 ++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/OaepEncryptTests.c                                |  308 ++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs5Pbkdf2Tests.c                                |   71 ++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTests.c                                   |  524 ++++++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RandTests.c                                       |   51 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaPkcs7Tests.c                                   |  415 ++++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaTests.c                                        |  310 ++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TSTests.c                                         |  335 +++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c                                    |   81 ++
 .azurepipelines/templates/pr-gate-build-job.yml                                                |    2 +-
 CryptoPkg/CryptoPkg.ci.yaml                                                                    |    4 +
 CryptoPkg/CryptoPkg.dsc                                                                        |   23 +
 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf                                    |   90 ++
 CryptoPkg/Test/CryptoPkgHostUnitTest.dsc                                                       |   35 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTestSignatures.h                          |  789 +++++++++++++++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h                                |  121 +++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf                          |   46 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf                         |   49 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/ChainCreationInstructions.txt        |   92 ++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/CreateTestCerts.cmd                  |   11 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/SignFirmwareWithEKUs.cmd             |   76 ++
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingIssuingCA.ini          |   45 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSigner.ini         |   25 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid1.ini     |   24 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid12345.ini |   27 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingNoEKUsInSigner.ini     |   16 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingPolicyCA.ini           |   28 +
 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingRoot.ini               |   28 +
 34 files changed, 5566 insertions(+), 1 deletion(-)
 create mode 100644 CryptoPkg/Library/BaseCryptLib/SysCall/UnitTestHostCrtWrapper.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/AuthenticodeTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BlockCipherTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/DhTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HmacTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/OaepEncryptTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs5Pbkdf2Tests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RandTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaPkcs7Tests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TSTests.c
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c
 create mode 100644 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
 create mode 100644 CryptoPkg/Test/CryptoPkgHostUnitTest.dsc
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTestSignatures.h
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/ChainCreationInstructions.txt
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/CreateTestCerts.cmd
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/SignFirmwareWithEKUs.cmd
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingIssuingCA.ini
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSigner.ini
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid1.ini
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid12345.ini
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingNoEKUsInSigner.ini
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingPolicyCA.ini
 create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingRoot.ini

-- 
2.28.0.vfs.0.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#66035): https://edk2.groups.io/g/devel/message/66035
Mute This Topic: https://groups.io/mt/77392535/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-