/** @file | |
This is a sample to demostrate the usage of the Unit Test Library that | |
supports the PEI, DXE, SMM, UEFI SHell, and host execution environments. | |
Copyright (c) Microsoft Corporation.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include "TestBaseCryptLib.h" | |
VOID | |
EFIAPI | |
ProcessLibraryConstructorList ( | |
VOID | |
); | |
/** | |
Initialize the unit test framework, suite, and unit tests for the | |
sample unit tests and run the unit tests. | |
@retval EFI_SUCCESS All test cases were dispatched. | |
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to | |
initialize the unit tests. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
UefiTestMain ( | |
VOID | |
) | |
{ | |
EFI_STATUS Status; | |
UNIT_TEST_FRAMEWORK_HANDLE Framework; | |
DEBUG ((DEBUG_INFO, "%a v%a\n", UNIT_TEST_NAME, UNIT_TEST_VERSION)); | |
CreateUnitTest (UNIT_TEST_NAME, UNIT_TEST_VERSION, &Framework); | |
// | |
// Execute the tests. | |
// | |
Status = RunAllTestSuites (Framework); | |
if (Framework) { | |
FreeUnitTestFramework (Framework); | |
} | |
return Status; | |
} | |
/** | |
Standard PEIM entry point for target based unit test execution from PEI. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
PeiEntryPoint ( | |
IN EFI_PEI_FILE_HANDLE FileHandle, | |
IN CONST EFI_PEI_SERVICES **PeiServices | |
) | |
{ | |
return UefiTestMain (); | |
} | |
/** | |
Standard UEFI entry point for target based unit test execution from DXE, SMM, | |
UEFI Shell. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
DxeEntryPoint ( | |
IN EFI_HANDLE ImageHandle, | |
IN EFI_SYSTEM_TABLE *SystemTable | |
) | |
{ | |
return UefiTestMain (); | |
} | |
/** | |
Standard POSIX C entry point for host based unit test execution. | |
**/ | |
int | |
main ( | |
int argc, | |
char *argv[] | |
) | |
{ | |
ProcessLibraryConstructorList (); | |
return UefiTestMain (); | |
} |