public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Abner Chang" <abner.chang@hpe.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"spbrogan@outlook.com" <spbrogan@outlook.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Zhiguang Liu <zhiguang.liu@intel.com>,
	Jiaxin Wu <jiaxin.wu@intel.com>, Siyuan Fu <siyuan.fu@intel.com>,
	Fan Wang <fan.wang@intel.com>, Jiewen Yao <jiewen.yao@intel.com>,
	"Wang, Nickle (HPS SW)" <nickle.wang@hpe.com>
Subject: Re: [edk2-devel] [RestJsonStructureDxe PATCH 0/2] EFI REST JSON Structure Protocol
Date: Mon, 12 Oct 2020 01:51:06 +0000	[thread overview]
Message-ID: <CS1PR8401MB114456847108FC4B1B76055AFF070@CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <BN8PR07MB6962C2302EB05BB6AE97F3E8C8080@BN8PR07MB6962.namprd07.prod.outlook.com>

No you didn’t miss have discussions. However, you can help me to understand Unit test framework. 

There are some levels of the unit test, I don’t know how much we can do in the current CI/UnitTestFramework and how much effort would be left to the new (also the existing) package developers.

1. The code coverage test,  can this launched by CI? This one should be relatively simple if it can run automatically (like to launch Coverity) and gives report to developers.
2. Code path test, developers have to write the unit test drivers/apps under UnitTest? Developers decide how to run the function validations on input/output parameter and/or some other basic API functionality test?
3. The feature test for the hardware independent functionalities or some features which have the corresponding simulator like network stacks. But I think this is more like the platform-level test, right? Maybe this is not in UnittestFramework scope?

I take a look into UnitTestFramework and only see a simple sample unit test driver, is this the only implementation?  Any edk2 packages or drivers has its own unit test yet?
Do you have some links to the edk2 Unit Test Writer guide?

Thanks
Abner

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Sean
> Sent: Friday, October 9, 2020 11:03 AM
> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>; Jiaxin
> Wu <jiaxin.wu@intel.com>; Siyuan Fu <siyuan.fu@intel.com>; Fan Wang
> <fan.wang@intel.com>; Jiewen Yao <jiewen.yao@intel.com>; Wang, Nickle
> (HPS SW) <nickle.wang@hpe.com>
> Subject: Re: [edk2-devel] [RestJsonStructureDxe PATCH 0/2] EFI REST JSON
> Structure Protocol
> 
> Abner,
> 
> As you add this RedfishPkg and significant new code to edk2 have you
> thought about authoring unit tests.  One of the goals of the unit test work
> that was enabled nearly 1 year ago was to make it easy for developers to
> write unit tests and to continually run them during PR and CI runs in the hope
> that as a community we might start authoring unit tests with new code.
> 
> Personally i would like to see a process that new modules can not be added
> without unit tests and relatively high code coverage.
> 
> Was there any thought to that?  Has there been discussion i may have missed?
> 
> Thanks
> Sean
> 
> 
> 
> On 10/8/2020 8:10 AM, Abner Chang wrote:
> > This is the implementation of EFI_REST_JSON_STRUCTURE_PROTOCOL,
> refer
> > to UEFI spec 2.8 Section 29.7.3 EFI REST JSON Resource to C Structure
> > Converter.
> >
> > Signed-off-by: Abner Chang <abner.chang@hpe.com>
> >
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > Cc: Fan Wang <fan.wang@intel.com>
> > Cc: Jiewen Yao <jiewen.yao@intel.com>
> > Cc: Nickle Wang <nickle.wang@hpe.com>
> >
> > Abner Chang (2):
> >    MdePkg/Include: Definitions of EFI REST JSON Structure Protocol
> >    RedfishPkg/RestJsonStructureDxe: EFI REST JSON Structure Protocol
> >
> >   MdePkg/Include/Protocol/RestJsonStructure.h   | 160 +++++
> >   MdePkg/MdePkg.dec                             |   6 +
> >   RedfishPkg/RedfishPkg.dsc                     |   3 +
> >   .../RestJsonStructureDxe.c                    | 583 ++++++++++++++++++
> >   .../RestJsonStructureDxe.inf                  |  40 ++
> >   .../RestJsonStructureInternal.h               |  35 ++
> >   6 files changed, 827 insertions(+)
> >   create mode 100644 MdePkg/Include/Protocol/RestJsonStructure.h
> >   create mode 100644
> RedfishPkg/RestJsonStructureDxe/RestJsonStructureDxe.c
> >   create mode 100644
> RedfishPkg/RestJsonStructureDxe/RestJsonStructureDxe.inf
> >   create mode 100644
> > RedfishPkg/RestJsonStructureDxe/RestJsonStructureInternal.h
> >
> 
> 
> 
> 


  reply	other threads:[~2020-10-12  1:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-08 15:10 [RestJsonStructureDxe PATCH 0/2] EFI REST JSON Structure Protocol Abner Chang
2020-10-08 15:10 ` [RestJsonStructureDxe PATCH 1/2] MdePkg/Include: Definitions of " Abner Chang
2020-10-14  5:42   ` 回复: [edk2-devel] " gaoliming
2020-10-14 15:07     ` Abner Chang
2020-10-08 15:10 ` [RestJsonStructureDxe PATCH 2/2] RedfishPkg/RestJsonStructureDxe: " Abner Chang
2020-10-09  3:02 ` [edk2-devel] [RestJsonStructureDxe PATCH 0/2] " Sean
2020-10-12  1:51   ` Abner Chang [this message]
2020-10-20  1:05     ` Abner Chang

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=CS1PR8401MB114456847108FC4B1B76055AFF070@CS1PR8401MB1144.NAMPRD84.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