/** @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.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "TestBaseCryptLib.h" /** 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[] ) { return UefiTestMain (); }