public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Zhang, Shenglei" <shenglei.zhang@intel.com>
To: Leif Lindholm <leif@nuviainc.com>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Feng, Bob C" <bob.c.feng@intel.com>,
	Bret Barkelew <Bret.Barkelew@microsoft.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	Sean Brogan <sean.brogan@microsoft.com>
Subject: Re: [edk2-devel] [PATCH v7 00/16] Add a plugin to check Ecc issues for edk2 on open ci
Date: Wed, 8 Jul 2020 01:56:37 +0000	[thread overview]
Message-ID: <BL0PR11MB3506BC828BCC55510A847F328C670@BL0PR11MB3506.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20200707115638.GB12303@vanye>

Comments below.

> -----Original Message-----
> From: Leif Lindholm <leif@nuviainc.com>
> Sent: Tuesday, July 7, 2020 7:57 PM
> To: Zhang, Shenglei <shenglei.zhang@intel.com>
> Cc: devel@edk2.groups.io; Feng, Bob C <bob.c.feng@intel.com>; Bret
> Barkelew <Bret.Barkelew@microsoft.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Sean
> Brogan <sean.brogan@microsoft.com>
> Subject: Re: [edk2-devel] [PATCH v7 00/16] Add a plugin to check Ecc issues
> for edk2 on open ci
> 
> On Tue, Jul 07, 2020 at 02:24:14 +0000, Zhang, Shenglei wrote:
> > Comments below.
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Leif
> > > Lindholm
> > > Sent: Monday, July 6, 2020 4:55 PM
> > > To: devel@edk2.groups.io; Zhang, Shenglei <shenglei.zhang@intel.com>
> > > Cc: Feng, Bob C <bob.c.feng@intel.com>; Bret Barkelew
> > > <Bret.Barkelew@microsoft.com>; Kinney, Michael D
> > > <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Sean
> > > Brogan <sean.brogan@microsoft.com>
> > > Subject: Re: [edk2-devel] [PATCH v7 00/16] Add a plugin to check Ecc
> issues
> > > for edk2 on open ci
> > >
> > > On Mon, Jul 06, 2020 at 16:48:30 +0800, Zhang, Shenglei wrote:
> > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2606
> > > > As planed we will enable Ecc check for edk2 on open ci. And they are
> > > > ready now. I appreciate receiving feedback and comments if someone
> > > > find errors or false positive issues.
> > > >
> > > > I created a pipline of EccCheck for my forked edk2. Welcome everyone
> to
> > > > create pull request to test the quality of this plugin.
> > > > My forked tree: https://github.com/shenglei10/edk2
> > > >
> > > > And I also created some test cases for ECC plugin. Below are test cases.
> > > > https://github.com/shenglei10/edk2/tree/ECC
> > > > Results can be view in below azure server.
> > > >
> > >
> https://dev.azure.com/shengleizhang/shengleizhang/_build?definitionId=12
> > > &_a=summary
> > > >
> > > > Patches
> > > > 1/16: It's a lib necessary for py3 to run Ecc on azure servers.
> > > >
> > > > 2/16: EccCheck.py is a plugin to report Ecc issues for commits. It can be
> run
> > > >      on azure servers for open ci, or a local virtual environment.
> > > >
> > > > 3/16~16/16: We consider some cases that will report out Ecc issues but
> they
> > > won't
> > > >      be fixed, like submodule and industry standard related things. So we
> > > >      add two configuration fields "Exception" and "IgnoreFiles" for people
> > > >      to use. These patches add configuration in yaml files for Ecc check.
> > > >
> > > > Cc: Bob Feng <bob.c.feng@intel.com>
> > > > Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > > Cc: Liming Gao <liming.gao@intel.com>
> > > > Cc: Sean Brogan <sean.brogan@microsoft.com>
> > > >
> > > > v2: Update 1/17, fix the bug that the script can't hanlde multiple
> commits.
> > > >
> > > > v3: Update 1/17, set the only workalbe workspace is edk2 root directory.
> > > >     Update 2/17, designate the version of antlr4 is 4.7.1.
> > > >     Add 4/17~17/17.
> > > >
> > > > v4. Update 1/17, remove the function EdksetupRebuild(), instead add
> > > >     function SetupEnvironment(). Update variables' format and type
> hints
> > > >     to pass flake8 and mypy.
> > > >
> > > > v5. Conver the former method to plugin solution, to align with
> > > >     other check points on open ci.
> > > >
> > > > v6. The 1/16 patch is missed in v5 series. Now add it in v6.
> > > >
> > > > v7. Fix a bug that Ecc plugin can not be run correctly under Linux OS.
> > >
> > > What is the bug? Where is it fixed?
> >
> > V6 plugin pipeline link:
> >
> https://dev.azure.com/shengleizhang/shengleizhang/_build/results?buildId
> =282&view=logs&j=9b8d87a5-bd93-5358-8ffa-588e312c4376&t=282a77bb-
> da29-5801-6299-2bbe15d5aabb
> > v7 plugin pipeline link:
> >
> https://dev.azure.com/shengleizhang/shengleizhang/_build/results?buildId
> =316&view=logs&j=5e3952f2-9c8a-5394-82c1-a803bcab3ca3&t=7ea9e85e-
> 5c3d-5fcf-865e-8449f16cc745
> >
> > For the same pull request, v6 plugin can't report out the Ecc issues under
> Linux OS.
> 
> Right. So *what* was the bug and *where* (which patch or patches) was
> it fixed? This is information that should (in an abbreviated form) be
> provided in the cover letter.
> 
> "Fix a bug" is data, not information. The same is true for "can not be
> run correctly". And neither tells me which patch I should look at.
> If this has been covered in a specific discussion thread, a link to
> the thread *and* mentioning which patch(es) it affects is sufficient.
> 

OK. Let me re-answer your question.
The bug is that for the same pull request, v6 plugin can't report out the Ecc issues
under Linux OS. It's not difficult to find v6 plugin failed to report out Ecc issues and
v7 plugin managed to do that.
V6 plugin pipeline link:
https://dev.azure.com/shengleizhang/shengleizhang/_build/results?buildId=282&view=logs&j=9b8d87a5-bd93-5358-8ffa-588e312c4376&t=282a77bb-da29-5801-6299-2bbe15d5aabb
v7 plugin pipeline link:
https://dev.azure.com/shengleizhang/shengleizhang/_build/results?buildId=316&view=logs&j=5e3952f2-9c8a-5394-82c1-a803bcab3ca3&t=7ea9e85e-5c3d-5fcf-865e-8449f16cc745

And the update of v7 patch series is 2/16.
It fixed some case sensitive issues and separating symbol problems, like updating 'ecc.log' to 'Ecc.log' and updating '\' to'/'.
Above solution fixed the plugin failed to report out Ecc issues under Linux os.

Thanks,
Shenglei

> Regards,
> 
> Leif
> 
> >
> > Thanks,
> > Shenglei
> >
> > >
> > > /
> > >     Leif
> > >
> > > > Shenglei Zhang (16):
> > > >   pip-requirements.txt: Add Ecc required lib
> > > >   .pytool/Plugin: Add a plugin EccCheck
> > > >   MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for Ecc
> check
> > > >   ArmVirtPkg/ArmVirtPkg.ci.yaml: Add configuration for Ecc check
> > > >   CryptoPkg/CryptoPkg.ci.yaml: Add configuration for Ecc check
> > > >   EmulatorPkg/EmulatorPkg.ci.yaml: Add configuration for Ecc check
> > > >   FatPkg/FatPkg.ci.yaml: Add configuration for Ecc check
> > > >   FmpDevicePkg/FmpDevicePkg.ci.yaml: Add configuration for Ecc check
> > > >   MdePkg/MdePkg.ci.yaml: Add configuration for Ecc check
> > > >   NetworkPkg/NetworkPkg.ci.yaml: Add configuration for Ecc check
> > > >   OvmfPkg/OvmfPkg.ci.yaml: Add configuration for Ecc check
> > > >   PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: Add configuration for Ecc
> check
> > > >   SecurityPkg/SecurityPkg.ci.yaml: Add configuration for Ecc check
> > > >   ShellPkg/ShellPkg.ci.yaml: Add configuration for Ecc check
> > > >   UefiCpuPkg/UefiCpuPkg.ci.yaml: Add configuration for Ecc check
> > > >   UnitTestFrameworkPkg: Add configuration for Ecc check in yaml file
> > > >
> > > >  .pytool/Plugin/EccCheck/EccCheck.py           | 267
> ++++++++++++++++++
> > > >  .pytool/Plugin/EccCheck/EccCheck_plug_in.yaml |  11 +
> > > >  .pytool/Plugin/EccCheck/Readme.md             |  15 +
> > > >  ArmVirtPkg/ArmVirtPkg.ci.yaml                 |  11 +
> > > >  CryptoPkg/CryptoPkg.ci.yaml                   |  11 +
> > > >  EmulatorPkg/EmulatorPkg.ci.yaml               |  11 +
> > > >  FatPkg/FatPkg.ci.yaml                         |  11 +
> > > >  FmpDevicePkg/FmpDevicePkg.ci.yaml             |  11 +
> > > >  MdeModulePkg/MdeModulePkg.ci.yaml             |  11 +
> > > >  MdePkg/MdePkg.ci.yaml                         |  11 +
> > > >  NetworkPkg/NetworkPkg.ci.yaml                 |  11 +
> > > >  OvmfPkg/OvmfPkg.ci.yaml                       |  11 +
> > > >  PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml         |  11 +
> > > >  SecurityPkg/SecurityPkg.ci.yaml               |  11 +
> > > >  ShellPkg/ShellPkg.ci.yaml                     |  11 +
> > > >  UefiCpuPkg/UefiCpuPkg.ci.yaml                 |  11 +
> > > >  .../UnitTestFrameworkPkg.ci.yaml              |  10 +
> > > >  pip-requirements.txt                          |   1 +
> > > >  18 files changed, 447 insertions(+)
> > > >  create mode 100644 .pytool/Plugin/EccCheck/EccCheck.py
> > > >  create mode 100644 .pytool/Plugin/EccCheck/EccCheck_plug_in.yaml
> > > >  create mode 100644 .pytool/Plugin/EccCheck/Readme.md
> > > >
> > > > --
> > > > 2.18.0.windows.1
> > > >
> > > >
> > > >
> > > >
> > >
> > > 
> >

  reply	other threads:[~2020-07-08  1:56 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-06  8:48 [PATCH v7 00/16] Add a plugin to check Ecc issues for edk2 on open ci Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 01/16] pip-requirements.txt: Add Ecc required lib Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 02/16] .pytool/Plugin: Add a plugin EccCheck Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 03/16] MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for Ecc check Zhang, Shenglei
2020-07-21  1:13   ` [edk2-devel] " Wu, Hao A
2020-07-06  8:48 ` [PATCH v7 04/16] ArmVirtPkg/ArmVirtPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 05/16] CryptoPkg/CryptoPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 06/16] EmulatorPkg/EmulatorPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 07/16] FatPkg/FatPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 08/16] FmpDevicePkg/FmpDevicePkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 09/16] MdePkg/MdePkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 10/16] NetworkPkg/NetworkPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 11/16] OvmfPkg/OvmfPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 12/16] PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 13/16] SecurityPkg/SecurityPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 14/16] ShellPkg/ShellPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 15/16] UefiCpuPkg/UefiCpuPkg.ci.yaml: " Zhang, Shenglei
2020-07-06  8:48 ` [PATCH v7 16/16] UnitTestFrameworkPkg: Add configuration for Ecc check in yaml file Zhang, Shenglei
2020-07-06  8:55 ` [edk2-devel] [PATCH v7 00/16] Add a plugin to check Ecc issues for edk2 on open ci Leif Lindholm
2020-07-07  2:24   ` Zhang, Shenglei
2020-07-07 11:56     ` Leif Lindholm
2020-07-08  1:56       ` Zhang, Shenglei [this message]
2020-07-14  2:30         ` Liming Gao

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=BL0PR11MB3506BC828BCC55510A847F328C670@BL0PR11MB3506.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