public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: "Gao, Liming" <liming.gao@intel.com>,
	"Zhu, Yonghong" <yonghong.zhu@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Feng, YunhuaX" <yunhuax.feng@intel.com>
Subject: Re: [Patch] BaseTools: Enhance DEC Defines section format check
Date: Fri, 23 Jun 2017 07:52:37 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D74DEAD@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D74DE97@shsmsx102.ccr.corp.intel.com>

Please ignore the previous mail. It is my mistake.

For this patch, Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao,
>Liming
>Sent: Friday, June 23, 2017 3:51 PM
>To: Zhu, Yonghong <yonghong.zhu@intel.com>; edk2-devel@lists.01.org
>Cc: Feng, YunhuaX <yunhuax.feng@intel.com>
>Subject: Re: [edk2] [Patch] BaseTools: Enhance DEC Defines section format
>check
>
>c:\r9tip\allpkg\edk2\mdemodulepkg\universal\pcd\pei\Service.h
>
>>-----Original Message-----
>>From: Zhu, Yonghong
>>Sent: Thursday, June 22, 2017 4:10 PM
>>To: edk2-devel@lists.01.org
>>Cc: Feng, YunhuaX <yunhuax.feng@intel.com>; Gao, Liming
>><liming.gao@intel.com>
>>Subject: [Patch] BaseTools: Enhance DEC Defines section format check
>>
>>From: Yunhua Feng <yunhuax.feng@intel.com>
>>
>>1. break if Dec Defines Section is missing
>>2. break if Dec have more than one Defines Section
>>3. break if Dec Defines Section have arch attribute
>>4. break if no section head, like as:
>>#[Defines]
>> DEC_SPECIFICATION              = 0x00010005
>> PACKAGE_NAME                   = Nt32Pkg
>>
>>Cc: Liming Gao <liming.gao@intel.com>
>>Cc: Yonghong Zhu <yonghong.zhu@intel.com>
>>Contributed-under: TianoCore Contribution Agreement 1.0
>>Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
>>---
>> BaseTools/Source/Python/Workspace/MetaFileParser.py | 15
>>+++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>>diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py
>>b/BaseTools/Source/Python/Workspace/MetaFileParser.py
>>index d094403..6e236e6 100644
>>--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
>>+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
>>@@ -1654,10 +1654,11 @@ class DecParser(MetaFileParser):
>>         try:
>>             Content = open(str(self.MetaFile), 'r').readlines()
>>         except:
>>             EdkLogger.error("Parser", FILE_READ_FAILURE,
>>ExtraData=self.MetaFile)
>>
>>+        self._DefinesCount = 0
>>         for Index in range(0, len(Content)):
>>             Line, Comment = CleanString2(Content[Index])
>>             self._CurrentLine = Line
>>             self._LineIndex = Index
>>
>>@@ -1669,12 +1670,19 @@ class DecParser(MetaFileParser):
>>                 continue
>>
>>             # section header
>>             if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END:
>>                 self._SectionHeaderParser()
>>+                if self._SectionName == TAB_DEC_DEFINES.upper():
>>+                    self._DefinesCount += 1
>>                 self._Comments = []
>>                 continue
>>+            if self._SectionType == MODEL_UNKNOWN:
>>+                EdkLogger.error("Parser", FORMAT_INVALID,
>>+                                ""
>>+                                "Not able to determine \"%s\" in which
>>section."%self._CurrentLine,
>>+                                self.MetaFile, self._LineIndex + 1)
>>             elif len(self._SectionType) == 0:
>>                 self._Comments = []
>>                 continue
>>
>>             # section content
>>@@ -1718,10 +1726,14 @@ class DecParser(MetaFileParser):
>>                         LineNo,
>>                         - 1,
>>                         0
>>                         )
>>             self._Comments = []
>>+        if self._DefinesCount > 1:
>>+            EdkLogger.error('Parser', FORMAT_INVALID, 'Multiple [Defines]
>>section is exist.', self.MetaFile )
>>+        if self._DefinesCount == 0:
>>+            EdkLogger.error('Parser', FORMAT_INVALID, 'No [Defines] section
>>exist.',self.MetaFile)
>>         self._Done()
>>
>>
>>     ## Section header parser
>>     #
>>@@ -1743,10 +1755,13 @@ class DecParser(MetaFileParser):
>>                                 self.MetaFile, self._LineIndex + 1, self._CurrentLine)
>>             ItemList = Item.split(TAB_SPLIT)
>>
>>             # different types of PCD are permissible in one section
>>             self._SectionName = ItemList[0].upper()
>>+            if self._SectionName == TAB_DEC_DEFINES.upper() and
>(len(ItemList) >
>>1 or len(Line.split(TAB_COMMA_SPLIT)) > 1):
>>+                EdkLogger.error("Parser", FORMAT_INVALID, "Defines section
>>format is invalid",
>>+                                self.MetaFile, self._LineIndex + 1, self._CurrentLine)
>>             if self._SectionName in self.DataType:
>>                 if self.DataType[self._SectionName] not in self._SectionType:
>>                     self._SectionType.append(self.DataType[self._SectionName])
>>             else:
>>                 EdkLogger.error("Parser", FORMAT_UNKNOWN_ERROR, "%s is not
>a
>>valid section name" % Item,
>>--
>>2.6.1.windows.1
>
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel


      reply	other threads:[~2017-06-23  7:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-22  8:10 [Patch] BaseTools: Enhance DEC Defines section format check Yonghong Zhu
2017-06-23  7:51 ` Gao, Liming
2017-06-23  7:52   ` Gao, Liming [this message]

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=4A89E2EF3DFEDB4C8BFDE51014F606A14D74DEAD@shsmsx102.ccr.corp.intel.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