summaryrefslogtreecommitdiff
path: root/SecurityPkg/Test
AgeCommit message (Collapse)AuthorFilesLines
2026-09-06SecurityPkg: Test: Use timer based RngLibKun Qin1-4/+2
The current RngLib directly queries the random number from the hardware register. But this has the limiation on imposing the host hardware capability to the target test. i.e. for AArch64 unit tests, rndr instruction is not always available. This change moves the unit tests to use timer based RngLib for general testability. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
2026-07-31SecurityPkg/Test: add AARCH64 to host test DSCJeff Brasen1-1/+1
Add AARCH64 to SUPPORTED_ARCHITECTURES so the SecurityPkg host-based unit tests build and run on an AARCH64 host. Depends on the AARCH64 host-test framework enablement (UnitTestFrameworkPkg/MdePkg). Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
2026-07-31SecurityPkg/Test: use BaseRngLibNull for AARCH64 host testsJeff Brasen1-1/+4
BaseRngLib's AARCH64 backend uses an RNDR instruction path that does not link in the host environment. Map RngLib to BaseRngLibNull for AARCH64 host builds (IA32/X64 keep BaseRngLib) and hoist the common RngLib mapping so the per-component override can be dropped. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
2026-07-16SecurityPkg: Add Google Test MockSecureBootVariableLibJoey Vagedes4-0/+73
Add Google Test Mock library header and implementation for SecureBootVariableLib to allow simple mocking for host based unit tests that utilize the Google Test framework. Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
2026-02-24SecurityPkg: Replace include guards with #pragma onceMichael Kubacki1-4/+1
Replace traditional `#ifndef`/`#define`/`#endif` include guards with `#pragma` once. `#pragma once` is a widely supported preprocessor directive that prevents header files from being included multiple times. It is supported by all toolchains used to build edk2: GCC, Clang/LLVM, and MSVC. Compared to macro-based include guards, `#pragma once`: - Eliminates the risk of macro name collisions or copy/paste errors where two headers inadvertently use the same guard macro. - Eliminate inconsistency in the way include guard macros are named (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.). - Reduces boilerplate (three lines replaced by one). - Avoids polluting the macro namespace with guard symbols. - Can improve build times as the preprocessor can skip re-opening the file entirely, rather than re-reading it to find the matching `#endif` ("multiple-include optimization"). - Note that some compilers may already optimize traditional include guards, by recognzining the idiomatic pattern. This change is made acknowledging that overall portability of the code will technically be reduced, as `#pragma once` is not part of the C/C++ standards. However, this is considered acceptable given: 1. edk2 already defines a subset of supported compilers in BaseTools/Conf/tools_def.template, all of which have supported `#pragma once` for over two decades. 2. There have been concerns raised to the project about inconsistent include guard naming and potential macro collisions. Approximate compiler support dates: - MSVC: Supported since Visual C++ 4.2 (1996) - GCC: Supported since 3.4 (2004) (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html) - Clang (LLVM based): Since initial release in 2007 Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-08-07SecurityPkg: Added basic DxeImageVerificationLib testsAlexander Gryanko1-0/+20
Add initial unit test for DxeImageVerificationHandler to validate signature verification bypass for selected image types. Signed-off-by: Alexander Gryanko <xpahos@gmail.com>
2024-01-16SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4117 - CVE 2022-36763Douglas Flick [MSFT]1-0/+1
This commit contains the patch files and tests for DxeTpmMeasureBootLib CVE 2022-36763. Cc: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2024-01-16SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4117 - CVE 2022-36763Douglas Flick [MSFT]1-0/+1
This commit contains the patch files and tests for DxeTpm2MeasureBootLib CVE 2022-36763. Cc: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
2023-10-27SecurityPkg: Apply uncrustify formatting to relevant filesVivian Nowka-Keane2-4/+4
Apply uncrustify formatting to GoogleTest cpp and header files. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Signed-off-by: Vivian Nowka-Keane <vnowkakeane@linux.microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-04-10SecurityPkg: Add gmock exampleChris Johnson4-0/+81
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4389 Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Signed-off-by: Chris Johnson <chris.n.johnson@intel.com> Acked-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Oliver Smith-Denny <osde@linux.microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-07-07SecurityPkg: SecureBootVariableLib: Added unit testskuqin1-0/+38
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3911 This change added unit test and enabled it from pipeline for the updated SecureBootVariableLib. The unit test covers all implemented interfaces and certain corner cases. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Min Xu <min.m.xu@intel.com> Signed-off-by: Kun Qin <kun.qin@microsoft.com> Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com> Acked-by: Michael Kubacki <michael.kubacki@microsoft.com>