/** @file | |
Implement UnitTestResultReportLib doing plain txt out to console | |
Copyright (c) Microsoft Corporation.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include <Uefi.h> | |
#include <Library/BaseLib.h> | |
#include <Library/PrintLib.h> | |
#include <Library/UefiBootServicesTableLib.h> | |
#include <Library/DebugLib.h> | |
VOID | |
EFIAPI | |
ReportPrint ( | |
IN CONST CHAR8 *Format, | |
... | |
) | |
{ | |
VA_LIST Marker; | |
CHAR16 String[256]; | |
UINTN Length; | |
VA_START (Marker, Format); | |
Length = UnicodeVSPrintAsciiFormat (String, sizeof (String), Format, Marker); | |
if (Length == 0) { | |
DEBUG ((DEBUG_ERROR, "%a formatted string is too long\n", __func__)); | |
} else { | |
gST->ConOut->OutputString (gST->ConOut, String); | |
} | |
VA_END (Marker); | |
} | |
VOID | |
ReportOutput ( | |
IN CONST CHAR8 *Output | |
) | |
{ | |
CHAR8 AsciiString[128]; | |
UINTN Length; | |
UINTN Index; | |
Length = AsciiStrLen (Output); | |
for (Index = 0; Index < Length; Index += (sizeof (AsciiString) - 1)) { | |
AsciiStrnCpyS (AsciiString, sizeof (AsciiString), &Output[Index], sizeof (AsciiString) - 1); | |
ReportPrint ("%a", AsciiString); | |
} | |
} |