UnitTestFrameworkPkg: UnitTestLib: Support Failure Strings of 512 Chars

Currently, there is a mismatch of allowed string sizes in UnitTestLib.
The UT_LOG_* macros allow a string size of 512, but failure messages
are constrained to 120 characters and some other string lengths are
similarly constrained. 120 characters is too few for some longer
error messages, particularly the ones that print out the path to
the failing line. This can result in the actual error not getting
printed in the log.

This patch updates all UnitTestLib allowed string lengths to be 512
characters.

Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
This commit is contained in:
Oliver Smith-Denny
2024-10-02 08:13:56 -07:00
committed by mergify[bot]
parent d99045f392
commit 2ee050d1d5
4 changed files with 12 additions and 19 deletions

View File

@@ -33,7 +33,7 @@ AddUnitTestFailure (
UnitTest->FailureType = FailureType;
AsciiStrCpyS (
&UnitTest->FailureMessage[0],
UNIT_TEST_TESTFAILUREMSG_LENGTH,
UNIT_TEST_MAX_STRING_LENGTH,
FailureMessage
);
@@ -50,7 +50,7 @@ UnitTestLogFailure (
)
{
UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle;
CHAR8 LogString[UNIT_TEST_TESTFAILUREMSG_LENGTH];
CHAR8 LogString[UNIT_TEST_MAX_STRING_LENGTH];
VA_LIST Marker;
//

View File

@@ -15,8 +15,7 @@
#include <Library/PrintLib.h>
#include <Library/PcdLib.h>
#define UNIT_TEST_MAX_SINGLE_LOG_STRING_LENGTH (512)
#define UNIT_TEST_MAX_LOG_BUFFER SIZE_16KB
#define UNIT_TEST_MAX_LOG_BUFFER SIZE_16KB
struct _UNIT_TEST_LOG_PREFIX_STRING {
UNIT_TEST_STATUS LogLevel;
@@ -85,7 +84,7 @@ AddStringToUnitTestLog (
UnitTest->Log,
UNIT_TEST_MAX_LOG_BUFFER / sizeof (CHAR8),
String,
UNIT_TEST_MAX_SINGLE_LOG_STRING_LENGTH
UNIT_TEST_MAX_STRING_LENGTH
);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_ERROR, "Failed to add unit test log string. Status = %r\n", Status));
@@ -160,8 +159,8 @@ UnitTestLog (
)
{
UNIT_TEST_FRAMEWORK_HANDLE FrameworkHandle;
CHAR8 NewFormatString[UNIT_TEST_MAX_SINGLE_LOG_STRING_LENGTH];
CHAR8 LogString[UNIT_TEST_MAX_SINGLE_LOG_STRING_LENGTH];
CHAR8 NewFormatString[UNIT_TEST_MAX_STRING_LENGTH];
CHAR8 LogString[UNIT_TEST_MAX_STRING_LENGTH];
CONST CHAR8 *LogTypePrefix;
VA_LIST Marker;

View File

@@ -571,9 +571,9 @@ UpdateTestFromSave (
Test->FailureType = MatchingTest->FailureType;
AsciiStrnCpyS (
&Test->FailureMessage[0],
UNIT_TEST_TESTFAILUREMSG_LENGTH,
UNIT_TEST_MAX_STRING_LENGTH,
&MatchingTest->FailureMessage[0],
UNIT_TEST_TESTFAILUREMSG_LENGTH
UNIT_TEST_MAX_STRING_LENGTH
);
//
@@ -748,7 +748,7 @@ SerializeState (
//
TestSaveData->Result = UnitTest->Result;
TestSaveData->FailureType = UnitTest->FailureType;
AsciiStrnCpyS (&TestSaveData->FailureMessage[0], UNIT_TEST_TESTFAILUREMSG_LENGTH, &UnitTest->FailureMessage[0], UNIT_TEST_TESTFAILUREMSG_LENGTH);
AsciiStrnCpyS (&TestSaveData->FailureMessage[0], UNIT_TEST_MAX_STRING_LENGTH, &UnitTest->FailureMessage[0], UNIT_TEST_MAX_STRING_LENGTH);
//
// If there is a log, save the log.