public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Wu, Hao A" <hao.a.wu@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	Wenyi Xie <xiewenyi2@huawei.com>
Cc: "songdongkuang@huawei.com" <songdongkuang@huawei.com>,
	"Wang, Jian J" <jian.j.wang@intel.com>
Subject: Re: [edk2-devel] [PATCH EDK2 v2 1/1] MdeModulePkg/UefiSortLib:Add UefiSortLib unit test
Date: Mon, 2 Aug 2021 01:56:09 +0000	[thread overview]
Message-ID: <BN8PR11MB3666AFEADD0326F65C542F16CAEF9@BN8PR11MB3666.namprd11.prod.outlook.com> (raw)
In-Reply-To: <BN8PR11MB3666BA84BD08A21F9EE49BF0CAEB9@BN8PR11MB3666.namprd11.prod.outlook.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao
> A
> Sent: Thursday, July 29, 2021 4:26 PM
> To: Wenyi Xie <xiewenyi2@huawei.com>; devel@edk2.groups.io; Wang, Jian
> J <jian.j.wang@intel.com>
> Cc: songdongkuang@huawei.com
> Subject: Re: [edk2-devel] [PATCH EDK2 v2 1/1]
> MdeModulePkg/UefiSortLib:Add UefiSortLib unit test
> 
> > -----Original Message-----
> > From: Wenyi Xie <xiewenyi2@huawei.com>
> > Sent: Thursday, July 29, 2021 4:01 PM
> > To: devel@edk2.groups.io; Wang, Jian J <jian.j.wang@intel.com>; Wu,
> > Hao A <hao.a.wu@intel.com>
> > Cc: songdongkuang@huawei.com; xiewenyi2@huawei.com
> > Subject: [PATCH EDK2 v2 1/1] MdeModulePkg/UefiSortLib:Add UefiSortLib
> > unit test
> >
> > Adding two unit test case for UefiSortLib. One is a test on sorting an
> > array of
> > UINT32 by using PerformQuickSort, another is a test on comparing the
> > same buffer by using StringCompare.
> 
> 
> Thanks.
> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


Sorry, I found that there are a couple of coding format style check failures when merging the patch.
Could you help to resolve them and then create a test pull request on the GitHub for verification? Thanks in advance.
(I think you can take the case under MdeModulePkg/Universal/Variable/RuntimeDxe/RuntimeDxeUnitTest/ for reference.)

Error details:
2021-08-02T01:09:28.5955820Z ##[section]Starting: Build and Test MdeModulePkg IA32,X64,ARM,AARCH64,RISCV64
2021-08-02T01:09:28.5960733Z ==============================================================================
2021-08-02T01:09:28.5961018Z Task         : Command Line
2021-08-02T01:09:28.5961258Z Description  : Run a command line with arguments
2021-08-02T01:09:28.5961502Z Version      : 1.1.3
2021-08-02T01:09:28.5961897Z Author       : Microsoft Corporation
2021-08-02T01:09:28.5962259Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613735)
2021-08-02T01:09:28.5962678Z ==============================================================================
2021-08-02T01:09:29.3504946Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3510020Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3511551Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3513605Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3516798Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3517536Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3518178Z (node:3659) Warning: Use Cipheriv for counter mode of aes-256-ctr
2021-08-02T01:09:29.3545461Z [command]/opt/hostedtoolcache/Python/3.8.11/x64/bin/stuart_ci_build -c .pytool/CISettings.py -p MdeModulePkg -t RELEASE,NO-TARGET -a IA32,X64,ARM,AARCH64,RISCV64 TOOL_CHAIN_TAG=GCC5
2021-08-02T01:09:29.3546707Z SECTION - Init SDE
2021-08-02T01:09:29.3547571Z WARNING - Using Pip Tools based BaseTools
2021-08-02T01:09:29.3548395Z SECTION - Loading Plugins
2021-08-02T01:09:29.3549212Z SECTION - Start Invocable Tool
2021-08-02T01:09:29.3550018Z SECTION - Getting Environment
2021-08-02T01:09:29.3550794Z SECTION - Loading plugins
2021-08-02T01:09:29.3551675Z SECTION - Building MdeModulePkg Package
2021-08-02T01:09:29.3552693Z PROGRESS - --Running MdeModulePkg: EccCheck Test NO-TARGET --
2021-08-02T01:09:33.0697006Z ERROR - 
2021-08-02T01:09:33.0698018Z ERROR - EFI coding style error
2021-08-02T01:09:33.0698748Z ERROR - *Error code: 5007
2021-08-02T01:09:33.0700631Z ERROR - *There should be no initialization of a variable as part of its declaration
2021-08-02T01:09:33.0702675Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0703421Z ERROR - *Line number: 77
2021-08-02T01:09:33.0703929Z ERROR - *Variable Name: TestCount
2021-08-02T01:09:33.0715684Z ERROR - 
2021-08-02T01:09:33.0716634Z ERROR - EFI coding style error
2021-08-02T01:09:33.0717372Z ERROR - *Error code: 5007
2021-08-02T01:09:33.0718214Z ERROR - *There should be no initialization of a variable as part of its declaration
2021-08-02T01:09:33.0719195Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0720631Z ERROR - *Line number: 78
2021-08-02T01:09:33.0721451Z ERROR - *Variable Name: TestBuffer
2021-08-02T01:09:33.0722114Z ERROR - 
2021-08-02T01:09:33.0724953Z ERROR - EFI coding style error
2021-08-02T01:09:33.0725713Z ERROR - *Error code: 5007
2021-08-02T01:09:33.0726562Z ERROR - *There should be no initialization of a variable as part of its declaration
2021-08-02T01:09:33.0727526Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0728345Z ERROR - *Line number: 79
2021-08-02T01:09:33.0729046Z ERROR - *Variable Name: TestResult
2021-08-02T01:09:33.0729694Z ERROR - 
2021-08-02T01:09:33.0732496Z ERROR - EFI coding style error
2021-08-02T01:09:33.0733224Z ERROR - *Error code: 7001
2021-08-02T01:09:33.0734114Z ERROR - *There should be no use of int, unsigned, char, void, long in any .c, .h or .asl files
2021-08-02T01:09:33.0737620Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0739185Z ERROR - *Line number: 117
2021-08-02T01:09:33.0741301Z ERROR - *[main] Return type int
2021-08-02T01:09:33.0744099Z ERROR - 
2021-08-02T01:09:33.0744829Z ERROR - EFI coding style error
2021-08-02T01:09:33.0745459Z ERROR - *Error code: 7001
2021-08-02T01:09:33.0746821Z ERROR - *There should be no use of int, unsigned, char, void, long in any .c, .h or .asl files
2021-08-02T01:09:33.0747774Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0749076Z ERROR - *Line number: 117
2021-08-02T01:09:33.0749713Z ERROR - *Parameter argc
2021-08-02T01:09:33.0750999Z ERROR - 
2021-08-02T01:09:33.0751607Z ERROR - EFI coding style error
2021-08-02T01:09:33.0754599Z ERROR - *Error code: 7001
2021-08-02T01:09:33.0761175Z ERROR - *There should be no use of int, unsigned, char, void, long in any .c, .h or .asl files
2021-08-02T01:09:33.0762167Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0763160Z ERROR - *Line number: 117
2021-08-02T01:09:33.0763741Z ERROR - *Parameter argv
2021-08-02T01:09:33.0764290Z ERROR - 
2021-08-02T01:09:33.0764843Z ERROR - EFI coding style error
2021-08-02T01:09:33.0766810Z ERROR - *Error code: 8006
2021-08-02T01:09:33.0767819Z ERROR - *Function name does not follow the rules: 1. First character should be upper case 2. Must contain lower case characters 3. No white space characters
2021-08-02T01:09:33.0768881Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0769619Z ERROR - *Line number: 181
2021-08-02T01:09:33.0773329Z ERROR - *The function name [main] does not follow the rules
2021-08-02T01:09:33.0791935Z ERROR - 
2021-08-02T01:09:33.0793865Z ERROR - EFI coding style error
2021-08-02T01:09:33.0794555Z ERROR - *Error code: 9002
2021-08-02T01:09:33.0795350Z ERROR - *The function headers should follow Doxygen special documentation blocks in section 2.3.5
2021-08-02T01:09:33.0796271Z ERROR - *file: //home/vsts/work/1/s/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
2021-08-02T01:09:33.0796985Z ERROR - *Line number: 178
2021-08-02T01:09:33.0797610Z ERROR - *No doxygen tags in comment
2021-08-02T01:09:33.0798208Z ERROR - 
2021-08-02T01:09:33.0798859Z ERROR - --->Test Failed: EccCheck Test NO-TARGET returned 1
2021-08-02T01:09:33.0807351Z PROGRESS - --Running MdeModulePkg: Dsc Complete Check Test NO-TARGET --
2021-08-02T01:09:33.1524790Z PROGRESS - --->Test Success: Dsc Complete Check Test NO-TARGET
2021-08-02T01:09:33.1536004Z PROGRESS - --Running MdeModulePkg: Char Encoding Check Test NO-TARGET --
2021-08-02T01:09:33.6280380Z PROGRESS - --->Test Success: Char Encoding Check Test NO-TARGET
2021-08-02T01:09:33.6289076Z PROGRESS - --Running MdeModulePkg: License Check Test NO-TARGET --
2021-08-02T01:09:33.6495642Z PROGRESS - --->Test Success: License Check Test NO-TARGET
2021-08-02T01:09:33.6508125Z PROGRESS - --Running MdeModulePkg: Compiler Plugin RELEASE --
2021-08-02T01:09:33.6785178Z PROGRESS - Start time: 2021-08-02 01:09:33.677952
2021-08-02T01:09:33.6787716Z PROGRESS - Setting up the Environment
2021-08-02T01:09:33.7725244Z PROGRESS - Running Pre Build
2021-08-02T01:09:33.7740357Z PROGRESS - Running Build RELEASE
2021-08-02T01:17:18.5479885Z PROGRESS - Running Post Build
2021-08-02T01:17:18.5511807Z PROGRESS - End time: 2021-08-02 01:17:18.549974	 Total time Elapsed: 0:07:44
2021-08-02T01:17:18.5512997Z PROGRESS - --->Test Success: Compiler Plugin RELEASE
2021-08-02T01:17:18.5519284Z PROGRESS - --Running MdeModulePkg: Library Class Check Test NO-TARGET --
2021-08-02T01:17:18.5639216Z PROGRESS - --->Test Success: Library Class Check Test NO-TARGET
2021-08-02T01:17:18.5648791Z PROGRESS - --Running MdeModulePkg: Dependency Check Test NO-TARGET --
2021-08-02T01:17:18.7306611Z PROGRESS - --->Test Success: Dependency Check Test NO-TARGET
2021-08-02T01:17:18.7316162Z PROGRESS - --Running MdeModulePkg: Spell Check Test NO-TARGET --
2021-08-02T01:17:23.7922166Z WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
2021-08-02T01:17:23.7934112Z PROGRESS - --Running MdeModulePkg: Guid Check Test NO-TARGET --
2021-08-02T01:17:27.1928850Z PROGRESS - --->Test Success: Guid Check Test NO-TARGET
2021-08-02T01:17:27.1939129Z PROGRESS - --Running MdeModulePkg: Host Unit Test Dsc Complete Check Test NO-TARGET --
2021-08-02T01:17:27.3703640Z PROGRESS - --->Test Success: Host Unit Test Dsc Complete Check Test NO-TARGET
2021-08-02T01:17:27.3731676Z ERROR - Overall Build Status: Error
2021-08-02T01:17:27.3733283Z PROGRESS - There were 1 failures out of 10 attempts
2021-08-02T01:17:27.3734501Z SECTION - Summary
2021-08-02T01:17:27.3735613Z ERROR - Error
2021-08-02T01:17:27.4159842Z ##[error]/opt/hostedtoolcache/Python/3.8.11/x64/bin/stuart_ci_build failed with return code: 1
2021-08-02T01:17:27.4173134Z ##[error]/opt/hostedtoolcache/Python/3.8.11/x64/bin/stuart_ci_build failed with error: /opt/hostedtoolcache/Python/3.8.11/x64/bin/stuart_ci_build failed with return code: 1
2021-08-02T01:17:27.4178252Z ##[section]Finishing: Build and Test MdeModulePkg IA32,X64,ARM,AARCH64,RISCV64

Best Regards,
Hao Wu


> 
> I will wait a couple days before merging to see if any additional comment
> from other reviewers.
> 
> Best Regards,
> Hao Wu
> 
> 
> >
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com>
> > ---
> >  MdeModulePkg/Test/MdeModulePkgHostTest.dsc                        |   6 +
> >  MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.inf |
> > 32
> > ++++
> >  MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c   | 188
> > ++++++++++++++++++++
> >  3 files changed, 226 insertions(+)
> >
> > diff --git a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc
> > b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc
> > index 4da4692c8451..c9ec835df65d 100644
> > --- a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc
> > +++ b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc
> > @@ -41,3 +41,9 @@ [Components]
> >      <PcdsFixedAtBuild>
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdAllowVariablePolicyEnforcementDis
> > able|TRUE
> >    }
> > +
> > +  MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.inf {
> > +    <LibraryClasses>
> > +      UefiSortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
> > +
> > + DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> > +  }
> > diff --git
> > a/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.inf
> > b/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.inf
> > new file mode 100644
> > index 000000000000..85d8dcd69619
> > --- /dev/null
> > +++
> b/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.in
> > +++ f
> > @@ -0,0 +1,32 @@
> > +## @file
> > +# This is a unit test for the UefiSortLib.
> > +#
> > +# Copyright (C) Huawei Technologies Co., Ltd. All rights reserved #
> > +SPDX-License-Identifier: BSD-2-Clause-Patent ##
> > +
> > +[Defines]
> > +  INF_VERSION         = 0x00010017
> > +  BASE_NAME           = UefiSortLibUnitTest
> > +  FILE_GUID           = 271337A3-0D79-BA3E-BC03-714E518E3B1B
> > +  VERSION_STRING      = 1.0
> > +  MODULE_TYPE         = HOST_APPLICATION
> > +
> > +#
> > +# The following information is for reference only and not required by
> > +the
> > build tools.
> > +#
> > +#  VALID_ARCHITECTURES           = IA32 X64
> > +#
> > +
> > +[Sources]
> > +  UefiSortLibUnitTest.c
> > +
> > +[Packages]
> > +  MdePkg/MdePkg.dec
> > +  MdeModulePkg/MdeModulePkg.dec
> > +  UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
> > +
> > +[LibraryClasses]
> > +  UnitTestLib
> > +  DebugLib
> > +  UefiSortLib
> > diff --git
> > a/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
> > b/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
> > new file mode 100644
> > index 000000000000..71f30d8b9f7f
> > --- /dev/null
> > +++ b/MdeModulePkg/Library/UefiSortLib/UnitTest/UefiSortLibUnitTest.c
> > @@ -0,0 +1,188 @@
> > +/** @file
> > +  Unit tests of the UefiSortLib
> > +
> > +  Copyright (C) Huawei Technologies Co., Ltd. All rights reserved
> > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +**/
> > +
> > +#include <stdio.h>
> > +#include <string.h>
> > +#include <stdarg.h>
> > +#include <stddef.h>
> > +#include <setjmp.h>
> > +#include <cmocka.h>
> > +
> > +#include <Uefi.h>
> > +#include <Library/BaseLib.h>
> > +#include <Library/DebugLib.h>
> > +#include <Library/MemoryAllocationLib.h>
> > +
> > +#include <Library/UnitTestLib.h>
> > +#include <Library/SortLib.h>
> > +
> > +#define UNIT_TEST_APP_NAME        "UefiSortLib Unit Tests"
> > +#define UNIT_TEST_APP_VERSION     "1.0"
> > +
> > +#define TEST_ARRAY_SIZE_9         9
> > +
> > +/**
> > +  The function is called by PerformQuickSort to compare int values.
> > +
> > +  @param[in] Left            The pointer to first buffer.
> > +  @param[in] Right           The pointer to second buffer.
> > +
> > +  @retval 0                  Buffer1 equal to Buffer2.
> > +  @return <0                 Buffer1 is less than Buffer2.
> > +  @return >0                 Buffer1 is greater than Buffer2.
> > +
> > +**/
> > +INTN
> > +EFIAPI
> > +TestCompareFunction (
> > +  IN CONST VOID                         *Left,
> > +  IN CONST VOID                         *Right
> > +  )
> > +{
> > +  if (*(UINT32*)Right > *(UINT32*)Left) {
> > +    return 1;
> > +  } else if (*(UINT32*)Right < *(UINT32*)Left) {
> > +    return -1;
> > +  }
> > +
> > +  return 0;
> > +}
> > +
> > +/**
> > +  Unit test for PerformQuickSort () API of the UefiSortLib.
> > +
> > +  @param[in]  Context    [Optional] An optional parameter that enables:
> > +                         1) test-case reuse with varied parameters and
> > +                         2) test-case re-entry for Target tests that need a
> > +                         reboot.  This parameter is a VOID* and it is the
> > +                         responsibility of the test author to ensure that the
> > +                         contents are well understood by all test cases that may
> > +                         consume it.
> > +
> > +  @retval  UNIT_TEST_PASSED             The Unit test has completed and the
> > test
> > +                                        case was successful.
> > +  @retval  UNIT_TEST_ERROR_TEST_FAILED  A test case assertion has
> failed.
> > +**/
> > +UNIT_TEST_STATUS
> > +EFIAPI
> > +SortUINT32ArrayShouldSucceed (
> > +  IN UNIT_TEST_CONTEXT  Context
> > +  )
> > +{
> > +  UINTN TestCount = TEST_ARRAY_SIZE_9;
> > +  UINT32 TestBuffer[TEST_ARRAY_SIZE_9] = {1, 2, 3, 4, 5, 6, 7 ,8, 9};
> > +  UINT32 TestResult[TEST_ARRAY_SIZE_9] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
> > +
> > +  PerformQuickSort (TestBuffer, TestCount, sizeof (UINT32),
> > + (SORT_COMPARE)TestCompareFunction);
> > +  UT_ASSERT_MEM_EQUAL (TestBuffer, TestResult, sizeof (UINT32) *
> > + TEST_ARRAY_SIZE_9);
> > +
> > +  return UNIT_TEST_PASSED;
> > +}
> > +
> > +/**
> > +  Unit test for StringCompare () API of the UefiSortLib.
> > +
> > +  @param[in]  Context    [Optional] An optional parameter that enables:
> > +                         1) test-case reuse with varied parameters and
> > +                         2) test-case re-entry for Target tests that need a
> > +                         reboot.  This parameter is a VOID* and it is the
> > +                         responsibility of the test author to ensure that the
> > +                         contents are well understood by all test cases that may
> > +                         consume it.
> > +
> > +  @retval  UNIT_TEST_PASSED             The Unit test has completed and the
> > test
> > +                                        case was successful.
> > +  @retval  UNIT_TEST_ERROR_TEST_FAILED  A test case assertion has
> failed.
> > +**/
> > +UNIT_TEST_STATUS
> > +EFIAPI
> > +CompareSameBufferShouldSucceed (
> > +  IN UNIT_TEST_CONTEXT  Context
> > +  )
> > +{
> > +  INTN retval;
> > +  CONST CHAR16* TestBuffer[] = { L"abcdefg" };
> > +
> > +  retval = StringCompare (TestBuffer, TestBuffer);  UT_ASSERT_TRUE
> > + (retval == 0);
> > +
> > +  return UNIT_TEST_PASSED;
> > +}
> > +
> > +/**
> > +  Initialze the unit test framework, suite, and unit tests for the
> > +  UefiSortLib and run the UefiSortLib unit test.
> > +
> > +  @retval  EFI_SUCCESS           All test cases were dispatched.
> > +  @retval  EFI_OUT_OF_RESOURCES  There are not enough resources
> > available to
> > +                                 initialize the unit tests.
> > +**/
> > +STATIC
> > +EFI_STATUS
> > +EFIAPI
> > +UnitTestingEntry (
> > +  VOID
> > +  )
> > +{
> > +  EFI_STATUS                  Status;
> > +  UNIT_TEST_FRAMEWORK_HANDLE  Framework;
> > +  UNIT_TEST_SUITE_HANDLE      SortTests;
> > +
> > +  Framework = NULL;
> > +
> > +  DEBUG(( DEBUG_INFO, "%a v%a\n", UNIT_TEST_APP_NAME,
> > + UNIT_TEST_APP_VERSION ));
> > +
> > +  //
> > +  // Start setting up the test framework for running the tests.
> > +  //
> > +  Status = InitUnitTestFramework (&Framework, UNIT_TEST_APP_NAME,
> > + gEfiCallerBaseName, UNIT_TEST_APP_VERSION);  if (EFI_ERROR (Status))
> {
> > +    DEBUG ((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status
> > = %r\n", Status));
> > +    goto EXIT;
> > +  }
> > +
> > +  //
> > +  // Populate the UefiSortLib Unit Test Suite.
> > +  //
> > +  Status = CreateUnitTestSuite (&SortTests, Framework, "UefiSortLib
> > + Sort Tests", "UefiSortLib.SortLib", NULL, NULL);  if (EFI_ERROR (Status)) {
> > +    DEBUG ((DEBUG_ERROR, "Failed in CreateUnitTestSuite for
> > + UefiSortLib
> > API Tests\n"));
> > +    Status = EFI_OUT_OF_RESOURCES;
> > +    goto EXIT;
> > +  }
> > +
> > +  //
> > +  //
> > + --------------Suite--------Description------------Name--------------
> > + Fu
> > + nction----------------Pre---Post---Context-----------
> > +  //
> > +  AddTestCase (SortTests, "Sort the Array",        "Sort",
> > SortUINT32ArrayShouldSucceed,   NULL, NULL, NULL);
> > +  AddTestCase (SortTests, "Compare the Buffer",    "Compare",
> > CompareSameBufferShouldSucceed, NULL, NULL, NULL);
> > +
> > +  //
> > +  // Execute the tests.
> > +  //
> > +  Status = RunAllTestSuites (Framework);
> > +
> > +EXIT:
> > +  if (Framework) {
> > +    FreeUnitTestFramework (Framework);
> > +  }
> > +
> > +  return Status;
> > +}
> > +
> > +/**
> > +  Standard POSIX C entry point for host based unit test execution.
> > +**/
> > +int
> > +main (
> > +  int argc,
> > +  char *argv[]
> > +  )
> > +{
> > +  return UnitTestingEntry ();
> > +}
> > --
> > 2.20.1.windows.1
> 
> 
> 
> 
> 


  reply	other threads:[~2021-08-02  1:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-29  8:01 [PATCH EDK2 v2 0/1] MdeModulePkg/UefiSortLib:Add UefiSortLib unit test wenyi,xie
2021-07-29  8:01 ` [PATCH EDK2 v2 1/1] " wenyi,xie
2021-07-29  8:25   ` Wu, Hao A
2021-08-02  1:56     ` Wu, Hao A [this message]
2021-08-04  8:04       ` [edk2-devel] " wenyi,xie
2021-08-04  8:24         ` Wu, Hao A
2021-08-10  4:11           ` Wu, Hao A
2021-08-11  1:50             ` Wu, Hao A
2021-08-11  1:59               ` wenyi,xie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BN8PR11MB3666AFEADD0326F65C542F16CAEF9@BN8PR11MB3666.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox