* [Patch] BaseTools: Add DefaultStore section format Check
@ 2018-01-22 5:47 Yonghong Zhu
2018-01-23 2:01 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2018-01-22 5:47 UTC (permalink / raw)
To: edk2-devel
This patch add DefaultStore section format Check and it use same logic
with SKUID section.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
BaseTools/Source/Python/Workspace/DscBuildData.py | 8 ++++++++
BaseTools/Source/Python/Workspace/MetaFileParser.py | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 752fe05..16fe608 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -606,10 +606,18 @@ class DscBuildData(PlatformBuildClassObject):
EdkLogger.error('build', FORMAT_INVALID, 'No DefaultStores ID number',
File=self.MetaFile, Line=Record[-1])
if Record[1] in [None, '']:
EdkLogger.error('build', FORMAT_INVALID, 'No DefaultStores ID name',
File=self.MetaFile, Line=Record[-1])
+ Pattern = re.compile('^[1-9]\d*|0$')
+ HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')
+ if Pattern.match(Record[0]) == None and HexPattern.match(Record[0]) == None:
+ EdkLogger.error('build', FORMAT_INVALID, "The format of the DefaultStores ID number is invalid. It only support Integer and HexNumber",
+ File=self.MetaFile, Line=Record[-1])
+ if not IsValidWord(Record[1]):
+ EdkLogger.error('build', FORMAT_INVALID, "The format of the DefaultStores ID name is invalid. The correct format is '(a-zA-Z0-9_)(a-zA-Z0-9_-.)*'",
+ File=self.MetaFile, Line=Record[-1])
self.DefaultStores[Record[1].upper()] = (self.ToInt(Record[0]),Record[1].upper())
if TAB_DEFAULT_STORES_DEFAULT not in self.DefaultStores:
self.DefaultStores[TAB_DEFAULT_STORES_DEFAULT] = (0,TAB_DEFAULT_STORES_DEFAULT)
GlobalData.gDefaultStores = self.DefaultStores.keys()
if GlobalData.gDefaultStores:
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index e236732..202093a 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1103,11 +1103,11 @@ class DscParser(MetaFileParser):
self._ValueList[0:len(TokenList)] = TokenList
@ParseMacro
def _DefaultStoresParser(self):
TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
if len(TokenList) != 2:
- EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Integer>|<UiName>'",
+ EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Number>|<UiName>'",
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
self._ValueList[0:len(TokenList)] = TokenList
## Parse Edk style of library modules
@ParseMacro
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] BaseTools: Add DefaultStore section format Check
2018-01-22 5:47 [Patch] BaseTools: Add DefaultStore section format Check Yonghong Zhu
@ 2018-01-23 2:01 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2018-01-23 2:01 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Yonghong Zhu
> Sent: Monday, January 22, 2018 1:48 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [Patch] BaseTools: Add DefaultStore section format Check
>
> This patch add DefaultStore section format Check and it use same logic
> with SKUID section.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
> BaseTools/Source/Python/Workspace/DscBuildData.py | 8 ++++++++
> BaseTools/Source/Python/Workspace/MetaFileParser.py | 2 +-
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
> index 752fe05..16fe608 100644
> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> @@ -606,10 +606,18 @@ class DscBuildData(PlatformBuildClassObject):
> EdkLogger.error('build', FORMAT_INVALID, 'No DefaultStores ID number',
> File=self.MetaFile, Line=Record[-1])
> if Record[1] in [None, '']:
> EdkLogger.error('build', FORMAT_INVALID, 'No DefaultStores ID name',
> File=self.MetaFile, Line=Record[-1])
> + Pattern = re.compile('^[1-9]\d*|0$')
> + HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')
> + if Pattern.match(Record[0]) == None and HexPattern.match(Record[0]) == None:
> + EdkLogger.error('build', FORMAT_INVALID, "The format of the DefaultStores ID number is invalid. It only
> support Integer and HexNumber",
> + File=self.MetaFile, Line=Record[-1])
> + if not IsValidWord(Record[1]):
> + EdkLogger.error('build', FORMAT_INVALID, "The format of the DefaultStores ID name is invalid. The correct
> format is '(a-zA-Z0-9_)(a-zA-Z0-9_-.)*'",
> + File=self.MetaFile, Line=Record[-1])
> self.DefaultStores[Record[1].upper()] = (self.ToInt(Record[0]),Record[1].upper())
> if TAB_DEFAULT_STORES_DEFAULT not in self.DefaultStores:
> self.DefaultStores[TAB_DEFAULT_STORES_DEFAULT] = (0,TAB_DEFAULT_STORES_DEFAULT)
> GlobalData.gDefaultStores = self.DefaultStores.keys()
> if GlobalData.gDefaultStores:
> diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
> index e236732..202093a 100644
> --- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
> +++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
> @@ -1103,11 +1103,11 @@ class DscParser(MetaFileParser):
> self._ValueList[0:len(TokenList)] = TokenList
> @ParseMacro
> def _DefaultStoresParser(self):
> TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
> if len(TokenList) != 2:
> - EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Integer>|<UiName>'",
> + EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Number>|<UiName>'",
> ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
> self._ValueList[0:len(TokenList)] = TokenList
>
> ## Parse Edk style of library modules
> @ParseMacro
> --
> 2.6.1.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-01-23 1:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-22 5:47 [Patch] BaseTools: Add DefaultStore section format Check Yonghong Zhu
2018-01-23 2:01 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox