summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf
diff options
context:
space:
mode:
authorZhiguang Liu <zhiguang.liu@intel.com>2022-06-27 16:58:48 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-08-16 02:44:08 +0000
commit2812668bfc121ee792cf3302195176ef4a2ad0bc (patch)
tree93704c1fab34322f4337bbc6c32fd0c9b5003ca1 /UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf
parent809b5a3d2a3b7732459dd63c9382fe6ec42d1856 (diff)
downloadedk2-2812668bfc121ee792cf3302195176ef4a2ad0bc.tar.gz
edk2-2812668bfc121ee792cf3302195176ef4a2ad0bc.tar.bz2
edk2-2812668bfc121ee792cf3302195176ef4a2ad0bc.zip
UefiCpuPkg/CpuPageTableLib/UnitTest: Add host based unit test
Add host based unit tests for the CpuPageTableLib services. Unit test focuses on PageTableMap function, containing two kinds of test cases: manual test case and random test case. Manual test case creates some corner case to test function PageTableMap. Random test case generates multiple random memory entries (with random attribute) as the input of function PageTableMap to get the output pagetable. Output pagetable will be validated and be parsed to get output memory entries, and then the input and output memory entries will be compared to verify the functionality. The unit test is not perfect yet. There are options for random test, and some of them control the test coverage, and some option are not ready. Will enhance in the future. Cc: Eric Dong <eric.dong@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
Diffstat (limited to 'UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf')
-rw-r--r--UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf42
1 files changed, 42 insertions, 0 deletions
diff --git a/UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf b/UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf
new file mode 100644
index 0000000000..eb71c5ad68
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf
@@ -0,0 +1,42 @@
+## @file
+# Unit tests of the CpuPageTableLib instance of the CpuPageTableLib class
+#
+# Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+ INF_VERSION = 0x00010006
+ BASE_NAME = CpuPageTableLibUnitTestHost
+ FILE_GUID = D8DC32C2-7272-43A8-B145-1723BED8E119
+ MODULE_TYPE = HOST_APPLICATION
+ VERSION_STRING = 1.0
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+# VALID_ARCHITECTURES = IA32 X64
+#
+
+[Sources]
+ CpuPageTableLibUnitTestHost.c
+ RandomTest.c
+ TestHelper.c
+ RandomNumber.c
+ RandomTest.h
+ CpuPageTableLibUnitTest.h
+
+[Packages]
+ MdePkg/MdePkg.dec
+ UefiCpuPkg/UefiCpuPkg.dec
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
+ CryptoPkg/CryptoPkg.dec
+
+[LibraryClasses]
+ BaseLib
+ BaseMemoryLib
+ DebugLib
+ CpuPageTableLib
+ UnitTestLib
+ MemoryAllocationLib
+ BaseCryptLib