From: "Michael Kubacki" <michael.kubacki@outlook.com>
To: devel@edk2.groups.io
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>,
Sean Brogan <sean.brogan@microsoft.com>,
Michael D Kinney <michael.d.kinney@intel.com>
Subject: [PATCH v1 2/2] UnitTestFrameworkPkg/UnitTestLib: Update SaveFrameworkState() signature
Date: Tue, 21 Apr 2020 11:35:02 -0700 [thread overview]
Message-ID: <MWHPR07MB3440A80E1D1A520F037FC09BE9D50@MWHPR07MB3440.namprd07.prod.outlook.com> (raw)
In-Reply-To: <20200421183502.39876-1-michael.kubacki@outlook.com>
From: Michael Kubacki <michael.kubacki@microsoft.com>
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2612
Removes the FrameworkHandle parameter from SaveFrameworkState() in the
UnitTestLib library instance and updates callers of the function in the
library to use the new function signature.
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c | 2 +-
UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c | 25 ++++++++++++--------
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c b/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
index b053e0495912..793335fd0f05 100644
--- a/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
+++ b/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
@@ -162,7 +162,7 @@ RunAllTestSuites (
//
// Save current state so if test is started again it doesn't have to run. It will just report
//
- SaveFrameworkState (FrameworkHandle, NULL, 0);
+ SaveFrameworkState (NULL, 0);
OutputUnitTestFrameworkReport (FrameworkHandle);
mFrameworkHandle = NULL;
diff --git a/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c b/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
index b136992d99a0..e2405251f0f4 100644
--- a/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
+++ b/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
@@ -783,11 +783,9 @@ SerializeState (
at least the current execution count) which will be saved by the framework and
passed to the test case upon resume.
- Generally called from within a test case prior to quitting or rebooting.
+ This should be called while the current test framework is valid and active. It is
+ generally called from within a test case prior to quitting or rebooting.
- @param[in] FrameworkHandle A handle to the current running framework that
- dispatched the test. Necessary for recording
- certain test events with the framework.
@param[in] ContextToSave A buffer of test case-specific data to be saved
along with framework state. Will be passed as
"Context" to the test case upon resume. This
@@ -795,7 +793,7 @@ SerializeState (
@param[in] ContextToSaveSize Size of the ContextToSave buffer.
@retval EFI_SUCCESS The framework state and context were saved.
- @retval EFI_INVALID_PARAMETER FrameworkHandle is NULL.
+ @retval EFI_NOT_FOUND An active framework handle was not found.
@retval EFI_INVALID_PARAMETER ContextToSave is not NULL and
ContextToSaveSize is 0.
@retval EFI_INVALID_PARAMETER ContextToSave is >= 4GB.
@@ -808,21 +806,28 @@ SerializeState (
EFI_STATUS
EFIAPI
SaveFrameworkState (
- IN UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle,
IN UNIT_TEST_CONTEXT ContextToSave OPTIONAL,
IN UINTN ContextToSaveSize
)
{
- EFI_STATUS Status;
- UNIT_TEST_SAVE_HEADER *Header;
+ EFI_STATUS Status;
+ UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle;
+ UNIT_TEST_SAVE_HEADER *Header;
Header = NULL;
+ FrameworkHandle = GetActiveFrameworkHandle ();
+
+ //
+ // Return a unique error code if the framework is not set.
+ //
+ if (FrameworkHandle == NULL) {
+ return EFI_NOT_FOUND;
+ }
//
// First, let's not make assumptions about the parameters.
//
- if (FrameworkHandle == NULL ||
- (ContextToSave != NULL && ContextToSaveSize == 0) ||
+ if ((ContextToSave != NULL && ContextToSaveSize == 0) ||
ContextToSaveSize > MAX_UINT32) {
return EFI_INVALID_PARAMETER;
}
--
2.16.3.windows.1
next prev parent reply other threads:[~2020-04-21 18:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200421183502.39876-1-michael.kubacki@outlook.com>
2020-04-21 18:35 ` [PATCH v1 1/2] MdePkg/UnitTestLib.h: Drop FrameworkHandle param from SaveFrameworkState() Michael Kubacki
2020-06-05 8:13 ` [edk2-devel] " Zhiguang Liu
2020-04-21 18:35 ` Michael Kubacki [this message]
2020-05-15 1:12 ` [PATCH v1 2/2] UnitTestFrameworkPkg/UnitTestLib: Update SaveFrameworkState() signature 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=MWHPR07MB3440A80E1D1A520F037FC09BE9D50@MWHPR07MB3440.namprd07.prod.outlook.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