]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/CpuPageTableLib/UnitTest: Add host based unit test
authorZhiguang Liu <zhiguang.liu@intel.com>
Mon, 27 Jun 2022 08:58:48 +0000 (16:58 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 31 Aug 2022 01:57:58 +0000 (01:57 +0000)
commit04ecdc38cd4d43fa8d4ee6da5d9305a27d3eda6a
tree0d81d27d0ef556be2c517cda869f70eb28055ea2
parent383d34159d136f2dc923dfb6a722912b1af451b7
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>
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTest.h [new file with mode: 0644]
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.c [new file with mode: 0644]
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/CpuPageTableLibUnitTestHost.inf [new file with mode: 0644]
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/RandomNumber.c [new file with mode: 0644]
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/RandomTest.c [new file with mode: 0644]
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/RandomTest.h [new file with mode: 0644]
UefiCpuPkg/Library/CpuPageTableLib/UnitTest/TestHelper.c [new file with mode: 0644]
UefiCpuPkg/Test/UefiCpuPkgHostTest.dsc
UefiCpuPkg/UefiCpuPkg.ci.yaml