/** @file This is a sample to demostrate the usage of the Unit Test Library that supports the PEI, DXE, SMM, and UEFI Shell 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)); Status = CreateUnitTest (UNIT_TEST_NAME, UNIT_TEST_VERSION, &Framework); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "Failed in CreateUnitTestsfor BaseCryptLib Tests! Status = %r\n", Status)); goto Done; } // // Execute the tests. // Status = RunAllTestSuites (Framework); Done: 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 (); }