From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: devel@edk2.groups.io
Cc: Liming Gao <liming.gao@intel.com>,
Bob Feng <bob.c.feng@intel.com>,
Sean Brogan <sean.brogan@microsoft.com>,
Bret Barkelew <Bret.Barkelew@microsoft.com>,
Jiewen Yao <jiewen.yao@intel.com>
Subject: [Patch 00/15] UnitTestFrameworkPkg: Enhancements and bug fixes
Date: Sun, 14 Jun 2020 17:19:03 -0700 [thread overview]
Message-ID: <20200615001918.22164-1-michael.d.kinney@intel.com> (raw)
https://bugzilla.tianocore.org/show_bug.cgi?id=2797
https://bugzilla.tianocore.org/show_bug.cgi?id=2798
https://bugzilla.tianocore.org/show_bug.cgi?id=2799
https://bugzilla.tianocore.org/show_bug.cgi?id=2800
https://bugzilla.tianocore.org/show_bug.cgi?id=2801
https://bugzilla.tianocore.org/show_bug.cgi?id=2803
https://bugzilla.tianocore.org/show_bug.cgi?id=2804
https://bugzilla.tianocore.org/show_bug.cgi?id=2805
https://bugzilla.tianocore.org/show_bug.cgi?id=2806
* Add Null base libraries for host based unit tests
* Add host based test version of BaseLib with hooks for servicees that use
privlidged instructions.
* Add new UT_EXPECT_ASSERT_FAILURE() macro to UnitTestLib class
* Enable source level debug of unit tests
* Increase stack size to 256KB for host based tests on Windows
* Update BaseTools to support NULL libs for HOST_APPLICATION modules
* Guarantee print log works even if unit test generates an exception
* Use filename instead of function name in target mode logs
Cc: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Michael D Kinney (15):
BaseTools/Python: Allow HOST_APPLICATION to use NULL libraries
MdePkg/BaseCpuLibNull: Add Null version of CpuLib for host testing
MdePkg/BaseCacheMaintenanceLibNull: Add Null instance for host testing
MdePkg/BaseLib: Break out IA32/X64 GCC inline privileged functions
MdePkg/Library/BaseLib: Add BaseLib instance for host based unit tests
UnitTestFrameworkPkg: Use host libraries from MdePkg
UnitTestFrameworkPkg: Enable source level debug for host tests
UnitTestFrameworkPkg: Set host application stack size to 256KB
UnitTestFrameworkPkg: Change target mode DebugLib mapping
UnitTestFrameworkPkg/UnitTestLib: Move print log into cleanup
UnitTestFrameworkPkg/UnitTestLib: Fix target mode log messages
UnitTestFrameworkPkg/UnitTestLib: Add checks for ASSERT()
MdePkg/Include: Hook DebugLib _ASSERT() for unit tests
MdePkg/Include: Add UT_EXPECT_ASSERT_FAILURE() to UnitTestLib
UnitTestFramewokPkg/SampleUnitTest: Use UT_EXPECT_ASSERT_FAILURE()
.../Python/Workspace/WorkspaceCommon.py | 4 +-
MdePkg/Include/Library/DebugLib.h | 28 +-
MdePkg/Include/Library/UnitTestLib.h | 70 +
.../BaseCacheMaintenanceLibNull.c | 225 ++
.../BaseCacheMaintenanceLibNull.inf | 29 +
.../BaseCacheMaintenanceLibNull.uni | 12 +
.../Library/BaseCpuLibNull/BaseCpuLibNull.c | 37 +
.../Library/BaseCpuLibNull/BaseCpuLibNull.inf | 26 +
.../Library/BaseCpuLibNull/BaseCpuLibNull.uni | 11 +
MdePkg/Library/BaseLib/BaseLib.inf | 4 +-
MdePkg/Library/BaseLib/Ia32/GccInline.c | 1181 +------
.../Ia32/{GccInline.c => GccInlinePriv.c} | 601 +---
MdePkg/Library/BaseLib/UnitTestHost.c | 140 +
MdePkg/Library/BaseLib/UnitTestHost.h | 61 +
.../Library/BaseLib/UnitTestHostBaseLib.inf | 216 ++
.../Library/BaseLib/UnitTestHostBaseLib.uni | 11 +
MdePkg/Library/BaseLib/X64/GccInline.c | 1240 +------
.../X64/{GccInline.c => GccInlinePriv.c} | 572 +---
MdePkg/Library/BaseLib/X86UnitTestHost.c | 2969 +++++++++++++++++
MdePkg/MdePkg.dec | 3 +-
MdePkg/MdePkg.dsc | 5 +-
.../Include/HostTest/UnitTestHostBaseLib.h | 585 ++++
.../UnitTestDebugAssertLib.c | 49 +
.../UnitTestDebugAssertLib.inf | 31 +
.../UnitTestDebugAssertLib.uni | 11 +
.../Library/UnitTestLib/Assert.c | 64 +-
.../Library/UnitTestLib/RunTestsCmocka.c | 25 +-
.../Sample/SampleUnitTest/SampleUnitTest.c | 109 +
.../Test/UnitTestFrameworkPkgHostTest.dsc | 2 +-
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc | 1 +
.../UnitTestFrameworkPkgHost.dsc.inc | 10 +-
.../UnitTestFrameworkPkgTarget.dsc.inc | 10 +-
32 files changed, 4701 insertions(+), 3641 deletions(-)
create mode 100644 MdePkg/Library/BaseCacheMaintenanceLibNull/BaseCacheMaintenanceLibNull.c
create mode 100644 MdePkg/Library/BaseCacheMaintenanceLibNull/BaseCacheMaintenanceLibNull.inf
create mode 100644 MdePkg/Library/BaseCacheMaintenanceLibNull/BaseCacheMaintenanceLibNull.uni
create mode 100644 MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.c
create mode 100644 MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf
create mode 100644 MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.uni
copy MdePkg/Library/BaseLib/Ia32/{GccInline.c => GccInlinePriv.c} (62%)
create mode 100644 MdePkg/Library/BaseLib/UnitTestHost.c
create mode 100644 MdePkg/Library/BaseLib/UnitTestHost.h
create mode 100644 MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
create mode 100644 MdePkg/Library/BaseLib/UnitTestHostBaseLib.uni
copy MdePkg/Library/BaseLib/X64/{GccInline.c => GccInlinePriv.c} (65%)
create mode 100644 MdePkg/Library/BaseLib/X86UnitTestHost.c
create mode 100644 MdePkg/Test/UnitTest/Include/HostTest/UnitTestHostBaseLib.h
create mode 100644 UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLib.c
create mode 100644 UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLib.inf
create mode 100644 UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLib.uni
--
2.21.0.windows.1
next reply other threads:[~2020-06-15 0:19 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-15 0:19 Michael D Kinney [this message]
2020-06-15 0:19 ` [Patch 01/15] BaseTools/Python: Allow HOST_APPLICATION to use NULL libraries Michael D Kinney
2020-06-15 6:22 ` [edk2-devel] " Yuwei Chen
2020-06-15 0:19 ` [Patch 02/15] MdePkg/BaseCpuLibNull: Add Null version of CpuLib for host testing Michael D Kinney
2020-07-09 14:03 ` Liming Gao
2020-06-15 0:19 ` [Patch 03/15] MdePkg/BaseCacheMaintenanceLibNull: Add Null instance " Michael D Kinney
2020-07-09 14:03 ` Liming Gao
2020-06-15 0:19 ` [Patch 04/15] MdePkg/BaseLib: Break out IA32/X64 GCC inline privileged functions Michael D Kinney
2020-07-09 14:07 ` Liming Gao
2020-07-09 17:00 ` Michael D Kinney
2020-07-10 8:06 ` Liming Gao
2020-07-10 16:24 ` Michael D Kinney
2020-06-15 0:19 ` [Patch 05/15] MdePkg/Library/BaseLib: Add BaseLib instance for host based unit tests Michael D Kinney
2020-06-15 0:19 ` [Patch 06/15] UnitTestFrameworkPkg: Use host libraries from MdePkg Michael D Kinney
2020-06-15 0:19 ` [Patch 07/15] UnitTestFrameworkPkg: Enable source level debug for host tests Michael D Kinney
2020-06-15 0:19 ` [Patch 08/15] UnitTestFrameworkPkg: Set host application stack size to 256KB Michael D Kinney
2020-06-15 0:19 ` [Patch 09/15] UnitTestFrameworkPkg: Change target mode DebugLib mapping Michael D Kinney
2020-06-15 0:19 ` [Patch 10/15] UnitTestFrameworkPkg/UnitTestLib: Move print log into cleanup Michael D Kinney
2020-06-15 0:19 ` [Patch 11/15] UnitTestFrameworkPkg/UnitTestLib: Fix target mode log messages Michael D Kinney
2020-06-15 0:19 ` [Patch 12/15] UnitTestFrameworkPkg/UnitTestLib: Add checks for ASSERT() Michael D Kinney
2020-06-15 0:19 ` [Patch 13/15] MdePkg/Include: Hook DebugLib _ASSERT() for unit tests Michael D Kinney
2020-06-15 0:19 ` [Patch 14/15] MdePkg/Include: Add UT_EXPECT_ASSERT_FAILURE() to UnitTestLib Michael D Kinney
2020-06-15 0:19 ` [Patch 15/15] UnitTestFramewokPkg/SampleUnitTest: Use UT_EXPECT_ASSERT_FAILURE() Michael D Kinney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200615001918.22164-1-michael.d.kinney@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox