Please ignore the previous mail. It is my mistake.

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

>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Gao,
>Liming
>Sent: Friday, June 23, 2017 3:51 PM
>To: Zhu, Yonghong <yonghong....@intel.com>; edk2-devel@lists.01.org
>Cc: Feng, YunhuaX <yunhuax.f...@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.f...@intel.com>; Gao, Liming
>><liming....@intel.com>
>>Subject: [Patch] BaseTools: Enhance DEC Defines section format check
>>
>>From: Yunhua Feng <yunhuax.f...@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....@intel.com>
>>Cc: Yonghong Zhu <yonghong....@intel.com>
>>Contributed-under: TianoCore Contribution Agreement 1.0
>>Signed-off-by: Yunhua Feng <yunhuax.f...@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
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to