BaseTool Branch: https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100 Signed-off-by: lgao4 Reviewed-by: hchen30 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12214 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			1419 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			1419 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| ## @file
 | |
| # This file contain unit test for CommentParsing
 | |
| #
 | |
| # Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
 | |
| #
 | |
| # This program and the accompanying materials are licensed and made available 
 | |
| # under the terms and conditions of the BSD License which accompanies this 
 | |
| # distribution. The full text of the license may be found at 
 | |
| # http://opensource.org/licenses/bsd-license.php
 | |
| #
 | |
| # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| import os
 | |
| import unittest
 | |
| 
 | |
| import Logger.Log as Logger
 | |
| from GenMetaFile.GenInfFile import GenGuidSections 
 | |
| from GenMetaFile.GenInfFile import GenProtocolPPiSections
 | |
| from GenMetaFile.GenInfFile import GenPcdSections
 | |
| from GenMetaFile.GenInfFile import GenSpecialSections
 | |
| from Library.CommentGenerating import GenGenericCommentF
 | |
| from Library.CommentGenerating import _GetHelpStr 
 | |
| from Object.POM.CommonObject import TextObject
 | |
| from Object.POM.CommonObject import GuidObject
 | |
| from Object.POM.CommonObject import ProtocolObject
 | |
| from Object.POM.CommonObject import PpiObject
 | |
| from Object.POM.CommonObject import PcdObject
 | |
| from Object.POM.ModuleObject import HobObject
 | |
|                                
 | |
| from Library.String import GetSplitValueList
 | |
| from Library.DataType import TAB_SPACE_SPLIT
 | |
| from Library.DataType import LANGUAGE_EN_US
 | |
| from Library.DataType import ITEM_UNDEFINED
 | |
| from Library.DataType import TAB_INF_FEATURE_PCD
 | |
| from Library import GlobalData
 | |
| from Library.Misc import CreateDirectory
 | |
| 
 | |
| #
 | |
| # Test _GetHelpStr
 | |
| #
 | |
| class _GetHelpStrTest(unittest.TestCase):
 | |
|     def setUp(self):
 | |
|         pass
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
|  
 | |
|     #
 | |
|     # Normal case1: have one help text object with Lang = 'en-US'
 | |
|     #
 | |
|     def testNormalCase1(self):
 | |
|         HelpStr = 'Hello world'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang(LANGUAGE_EN_US)
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         
 | |
|         HelpTextList = [HelpTextObj]
 | |
|         Result = _GetHelpStr(HelpTextList)
 | |
|         self.assertEqual(Result, HelpStr)
 | |
|         
 | |
|     #
 | |
|     # Normal case2: have two help text object with Lang = 'en-US' and other
 | |
|     #
 | |
|     def testNormalCase2(self):
 | |
|         HelpStr = 'Hello world'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('eng')
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         
 | |
|         HelpTextList = [HelpTextObj]
 | |
| 
 | |
|         ExpectedStr = 'Hello world1'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang(LANGUAGE_EN_US)
 | |
|         HelpTextObj.SetString(ExpectedStr)        
 | |
|         
 | |
|         HelpTextList.append(HelpTextObj)
 | |
|         
 | |
|         Result = _GetHelpStr(HelpTextList)
 | |
|         self.assertEqual(Result, ExpectedStr)
 | |
| 
 | |
|     #
 | |
|     # Normal case3: have two help text object with Lang = '' and 'eng'
 | |
|     #
 | |
|     def testNormalCase3(self):
 | |
|         HelpStr = 'Hello world'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         
 | |
|         HelpTextList = [HelpTextObj]
 | |
| 
 | |
|         ExpectedStr = 'Hello world1'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('eng')
 | |
|         HelpTextObj.SetString(ExpectedStr)        
 | |
|         
 | |
|         HelpTextList.append(HelpTextObj)
 | |
|         
 | |
|         Result = _GetHelpStr(HelpTextList)
 | |
|         self.assertEqual(Result, ExpectedStr)
 | |
| 
 | |
|     #
 | |
|     # Normal case4: have two help text object with Lang = '' and ''
 | |
|     #
 | |
|     def testNormalCase4(self):
 | |
| 
 | |
|         ExpectedStr = 'Hello world1'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('eng')
 | |
|         HelpTextObj.SetString(ExpectedStr)        
 | |
|         HelpTextList = [HelpTextObj]
 | |
|       
 | |
|         HelpStr = 'Hello world'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)        
 | |
|         HelpTextList.append(HelpTextObj)
 | |
|         
 | |
|         Result = _GetHelpStr(HelpTextList)
 | |
|         self.assertEqual(Result, ExpectedStr)
 | |
| 
 | |
|     #
 | |
|     # Normal case: have three help text object with Lang = '','en', 'en-US'
 | |
|     #
 | |
|     def testNormalCase5(self):
 | |
| 
 | |
|         ExpectedStr = 'Hello world1'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang(LANGUAGE_EN_US)
 | |
|         HelpTextObj.SetString(ExpectedStr)        
 | |
|         HelpTextList = [HelpTextObj]
 | |
|       
 | |
|         HelpStr = 'Hello unknown world'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)        
 | |
|         HelpTextList.append(HelpTextObj)
 | |
| 
 | |
|         HelpStr = 'Hello mysterious world'
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)        
 | |
|         HelpTextList.append(HelpTextObj)
 | |
|                 
 | |
|         Result = _GetHelpStr(HelpTextList)
 | |
|         self.assertEqual(Result, ExpectedStr)
 | |
|         
 | |
|         HelpTextList.sort()
 | |
|         self.assertEqual(Result, ExpectedStr)
 | |
|         
 | |
|         HelpTextList.sort(reverse=True)
 | |
|         self.assertEqual(Result, ExpectedStr)
 | |
| 
 | |
| 
 | |
| #
 | |
| # Test GenGuidSections
 | |
| #
 | |
| class GenGuidSectionsTest(unittest.TestCase):
 | |
|     def setUp(self):
 | |
|         pass      
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
|     
 | |
|     #
 | |
|     # This is the API to generate Guid Object to help UnitTest
 | |
|     #
 | |
|     def GuidFactory(self, CName, FFE, Usage, GuidType, VariableName, HelpStr):           
 | |
|         Guid = GuidObject()
 | |
|         Guid.SetCName(CName)
 | |
|         Guid.SetFeatureFlag(FFE)
 | |
|         Guid.SetGuidTypeList([GuidType])
 | |
|         Guid.SetUsage(Usage)
 | |
|         Guid.SetVariableName(VariableName)
 | |
| 
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         Guid.SetHelpTextList([HelpTextObj])
 | |
|         
 | |
|         return Guid      
 | |
|         
 | |
|     #
 | |
|     # Normal case: have two GuidObject
 | |
|     #
 | |
|     def testNormalCase1(self):
 | |
|         GuidList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 1'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'CONSUMES'
 | |
|         GuidType = 'Variable'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 2'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)        
 | |
|         
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| ## PRODUCES ## Event # Usage comment line 1
 | |
| ## CONSUMES ## Variable: # Usage comment line 2
 | |
| Guid1|FFE1'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # Normal case: have two GuidObject
 | |
|     #
 | |
|     def testNormalCase2(self):
 | |
|         GuidList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 1'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Generic comment line 1\n Generic comment line 2'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)        
 | |
|         
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| ## PRODUCES ## Event # Usage comment line 1
 | |
| # Generic comment line 1
 | |
| # Generic comment line 2
 | |
| Guid1|FFE1'''
 | |
| 
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # Normal case: have two GuidObject, one help goes to generic help, 
 | |
|     # the other go into usage comment
 | |
|     #
 | |
|     def testNormalCase3(self):
 | |
|         GuidList = []
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Generic comment'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)  
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 1'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
|               
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| # Generic comment
 | |
| ## PRODUCES ## Event # Usage comment line 1
 | |
| Guid1|FFE1'''
 | |
| 
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # Normal case: have one GuidObject, generic comment multiple lines
 | |
|     #
 | |
|     def testNormalCase5(self):
 | |
|         GuidList = []
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Generic comment line1 \n generic comment line 2'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)  
 | |
|               
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| # Generic comment line1
 | |
| # generic comment line 2
 | |
| Guid1|FFE1'''
 | |
| 
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # Normal case: have one GuidObject, usage comment multiple lines
 | |
|     #
 | |
|     def testNormalCase6(self):
 | |
|         GuidList = []
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 1\n Usage comment line 2'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
|               
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| Guid1|FFE1 ## PRODUCES ## Event # Usage comment line 1  Usage comment line 2
 | |
| '''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
| 
 | |
|     #
 | |
|     # Normal case: have one GuidObject, usage comment one line
 | |
|     #
 | |
|     def testNormalCase7(self):
 | |
|         GuidList = []
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 1'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
|               
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| Guid1|FFE1 # Usage comment line 1
 | |
| '''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
|     
 | |
|     #
 | |
|     # Normal case: have two GuidObject
 | |
|     #
 | |
|     def testNormalCase8(self):
 | |
|         GuidList = []
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 1\n Usage comment line 2'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 3'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
|               
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| ## PRODUCES ## Event # Usage comment line 1  Usage comment line 2
 | |
| ## PRODUCES ## Event # Usage comment line 3
 | |
| Guid1|FFE1
 | |
| '''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
| 
 | |
|     #
 | |
|     # Normal case: have no GuidObject
 | |
|     #
 | |
|     def testNormalCase9(self):
 | |
|         GuidList = []
 | |
| 
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = ''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
| 
 | |
|     #
 | |
|     # Normal case: have one GuidObject with no comment generated
 | |
|     #
 | |
|     def testNormalCase10(self):
 | |
|         GuidList = []
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = ''
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| Guid1|FFE1
 | |
| '''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
| 
 | |
|     #
 | |
|     # Normal case: have three GuidObject
 | |
|     #
 | |
|     def testNormalCase11(self):
 | |
|         GuidList = []
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'general comment line 1'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'Usage comment line 3'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'UNDEFINED'
 | |
|         GuidType = 'UNDEFINED'
 | |
|         VariableName = ''
 | |
|         HelpStr = 'general comment line 2'
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
|                       
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| # general comment line 1
 | |
| ## PRODUCES ## Event # Usage comment line 3
 | |
| # general comment line 2
 | |
| Guid1|FFE1
 | |
| '''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
| 
 | |
|     #
 | |
|     # Normal case: have three GuidObject, with Usage/Type and no help
 | |
|     #
 | |
|     def testNormalCase12(self):
 | |
|         GuidList = []
 | |
|                 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'GUID'
 | |
|         VariableName = ''
 | |
|         HelpStr = ''
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'PRODUCES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = ''
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
| 
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         Usage = 'CONSUMES'
 | |
|         GuidType = 'Event'
 | |
|         VariableName = ''
 | |
|         HelpStr = ''
 | |
|         Guid1 = self.GuidFactory(CName, FFE, Usage, GuidType, 
 | |
|                                  VariableName, HelpStr)
 | |
|         GuidList.append(Guid1)
 | |
|                       
 | |
|         Result = GenGuidSections(GuidList)
 | |
|         Expected = '''[Guids]
 | |
| ## PRODUCES ## GUID
 | |
| ## PRODUCES ## Event
 | |
| ## CONSUMES ## Event
 | |
| Guid1|FFE1
 | |
| '''
 | |
|         self.assertEqual(Result.strip(), Expected.strip())
 | |
|         
 | |
| #
 | |
| # Test GenProtocolPPiSections
 | |
| #
 | |
| class GenProtocolPPiSectionsTest(unittest.TestCase):
 | |
|     def setUp(self):
 | |
|         pass      
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
|     
 | |
|     #
 | |
|     # This is the API to generate Protocol/Ppi Object to help UnitTest
 | |
|     #
 | |
|     def ObjectFactory(self, CName, FFE, Usage, Notify, HelpStr, IsProtocol):
 | |
|         if IsProtocol:
 | |
|             Object = ProtocolObject()
 | |
|         else:
 | |
|             Object = PpiObject()
 | |
|         
 | |
|         Object.SetCName(CName)
 | |
|         Object.SetFeatureFlag(FFE)
 | |
|         Object.SetUsage(Usage)
 | |
|         Object.SetNotify(Notify)
 | |
| 
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         Object.SetHelpTextList([HelpTextObj])
 | |
|         
 | |
|         return Object      
 | |
| 
 | |
|     #    Usage        Notify    Help    INF Comment
 | |
|     #1   UNDEFINED    true    Present    ## UNDEFINED ## NOTIFY # Help
 | |
|     #2   UNDEFINED    true    Not Present    ## UNDEFINED ## NOTIFY
 | |
|     #3   UNDEFINED    false    Present    ## UNDEFINED # Help
 | |
|     #4   UNDEFINED    false     Not Present    ## UNDEFINED
 | |
|     #5   UNDEFINED    Not Present    Present    # Help
 | |
|     #6   UNDEFINED    Not Present    Not Present    <empty>
 | |
|     #7   Other        true    Present    ## Other ## NOTIFY # Help
 | |
|     #8   Other        true    Not Present    ## Other ## NOTIFY
 | |
|     #9   Other        false    Present    ## Other # Help
 | |
|     #A   Other        false     Not Present    ## Other
 | |
|     #B   Other        Not Present    Present    ## Other # Help
 | |
|     #C   Other        Not Present    Not Present    ## Other
 | |
| 
 | |
|     def testNormalCase1(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Notify = True
 | |
|         HelpStr = 'Help'
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## UNDEFINED ## NOTIFY # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|         IsProtocol = False
 | |
|         ObjectList = []
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Ppis]
 | |
| Guid1|FFE1 ## UNDEFINED ## NOTIFY # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase2(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Notify = True
 | |
|         HelpStr = ''
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## UNDEFINED ## NOTIFY'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase3(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Notify = False
 | |
|         HelpStr = 'Help'
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## UNDEFINED # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase4(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Notify = False
 | |
|         HelpStr = ''
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## UNDEFINED'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase5(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Notify = ''
 | |
|         HelpStr = 'Help'
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase6(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Notify = ''
 | |
|         HelpStr = ''
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase7(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Notify = True
 | |
|         HelpStr = 'Help'
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## PRODUCES ## NOTIFY # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase8(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Notify = True
 | |
|         HelpStr = ''
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## PRODUCES ## NOTIFY'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase9(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Notify = False
 | |
|         HelpStr = 'Help'
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## PRODUCES # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCaseA(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Notify = False
 | |
|         HelpStr = ''
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## PRODUCES'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCaseB(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Notify = ''
 | |
|         HelpStr = 'Help'
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## PRODUCES # Help'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCaseC(self):
 | |
|         ObjectList = []
 | |
|         
 | |
|         CName = 'Guid1'
 | |
|         FFE = 'FFE1'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Notify = ''
 | |
|         HelpStr = ''
 | |
|         IsProtocol = True
 | |
|         Object = self.ObjectFactory(CName, FFE, Usage, Notify, 
 | |
|                                  HelpStr, IsProtocol)
 | |
|         ObjectList.append(Object)
 | |
|       
 | |
|         
 | |
|         Result = GenProtocolPPiSections(ObjectList, IsProtocol)
 | |
|         Expected = '''[Protocols]
 | |
| Guid1|FFE1 ## PRODUCES'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
| #
 | |
| # Test GenPcdSections
 | |
| #
 | |
| class GenPcdSectionsTest(unittest.TestCase):
 | |
|     def setUp(self):
 | |
|         pass      
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
|     
 | |
|     #
 | |
|     # This is the API to generate Pcd Object to help UnitTest
 | |
|     #
 | |
|     def ObjectFactory(self, ItemType, TSCName, CName, DValue, FFE, Usage, Str):
 | |
|         Object = PcdObject()
 | |
|         HelpStr = Str
 | |
|         
 | |
|         Object.SetItemType(ItemType)
 | |
|         Object.SetTokenSpaceGuidCName(TSCName)
 | |
|         Object.SetCName(CName)
 | |
|         Object.SetDefaultValue(DValue)
 | |
|         Object.SetFeatureFlag(FFE)
 | |
|         Object.SetValidUsage(Usage)
 | |
| 
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         Object.SetHelpTextList([HelpTextObj])
 | |
|         
 | |
|         return Object      
 | |
| 
 | |
| 
 | |
|     #    Usage        Help    INF Comment
 | |
|     #1   UNDEFINED    Present    # Help
 | |
|     #2   UNDEFINED    Not Present    <empty>
 | |
|     #3   Other        Present    ## Other # Help
 | |
|     #4   Other        Not Present    ## Other
 | |
| 
 | |
|     def testNormalCase1(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'Help'
 | |
|  
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = \
 | |
|             '[Pcd]\n' + \
 | |
|             'TSCName.CName|DValue|FFE # Help'
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase2(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = ''
 | |
|  
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '[Pcd]\nTSCName.CName|DValue|FFE'
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase3(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'CONSUMES'
 | |
|         Str = 'Help'
 | |
|  
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '[Pcd]\nTSCName.CName|DValue|FFE ## CONSUMES # Help'
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     def testNormalCase4(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'CONSUMES'
 | |
|         Str = ''
 | |
|  
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '[Pcd]\nTSCName.CName|DValue|FFE ## CONSUMES'
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # multiple lines for normal usage
 | |
|     #
 | |
|     def testNormalCase5(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'CONSUMES'
 | |
|         Str = 'commment line 1\ncomment line 2'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '''[Pcd]
 | |
| TSCName.CName|DValue|FFE ## CONSUMES # commment line 1 comment line 2'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # multiple lines for UNDEFINED usage
 | |
|     #
 | |
|     def testNormalCase6(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'commment line 1\ncomment line 2'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
| 
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'commment line 3'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|                 
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '''[Pcd]
 | |
| # commment line 1
 | |
| # comment line 2
 | |
| # commment line 3
 | |
| TSCName.CName|DValue|FFE'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # multiple lines for UNDEFINED and normal usage
 | |
|     #
 | |
|     def testNormalCase7(self):
 | |
|         ObjectList = []
 | |
|         ItemType = 'Pcd'
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'commment line 1\ncomment line 2'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
| 
 | |
|         Usage = 'CONSUMES'
 | |
|         Str = 'Foo'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'commment line 3'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|                 
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '''[Pcd]
 | |
| # commment line 1
 | |
| # comment line 2
 | |
| ## CONSUMES # Foo
 | |
| # commment line 3
 | |
| TSCName.CName|DValue|FFE'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #    Usage        Help    INF Comment
 | |
|     #    CONSUMES    Present    # Help (keep <EOL> and insert '#' at beginning of each new line)
 | |
|     #    CONSUMES    Not Present   <empty>
 | |
| 
 | |
|     #
 | |
|     # TAB_INF_FEATURE_PCD
 | |
|     #
 | |
|     def testNormalCase8(self):
 | |
|         ObjectList = []
 | |
|         ItemType = TAB_INF_FEATURE_PCD
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'CONSUMES'
 | |
|         Str = 'commment line 1\ncomment line 2'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '''[FeaturePcd]
 | |
| # commment line 1
 | |
| # comment line 2
 | |
| TSCName.CName|DValue|FFE'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # TAB_INF_FEATURE_PCD
 | |
|     #
 | |
|     def testNormalCase9(self):
 | |
|         ObjectList = []
 | |
|         ItemType = TAB_INF_FEATURE_PCD
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'CONSUMES'
 | |
|         Str = ''
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '''[FeaturePcd]
 | |
| TSCName.CName|DValue|FFE'''
 | |
|         self.assertEqual(Result.strip(), Expected)
 | |
| 
 | |
|     #
 | |
|     # TAB_INF_FEATURE_PCD
 | |
|     #
 | |
|     def testNormalCase10(self):
 | |
|         ObjectList = []
 | |
|         ItemType = TAB_INF_FEATURE_PCD
 | |
|         TSCName = 'TSCName'
 | |
|         CName = 'CName'
 | |
|         DValue = 'DValue'
 | |
|         FFE = 'FFE'
 | |
|         
 | |
|         Usage = 'PRODUCES'
 | |
|         Str = 'commment line 1\ncomment line 2'
 | |
|         Object = self.ObjectFactory(ItemType, TSCName, CName, DValue, FFE, 
 | |
|                                     Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenPcdSections(ObjectList)
 | |
|         Expected = '''
 | |
| 
 | |
| [FeaturePcd]
 | |
| # commment line 1
 | |
| # comment line 2
 | |
| TSCName.CName|DValue|FFE
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
| 
 | |
| #
 | |
| # Test GenSpecialSections of Hob
 | |
| #
 | |
| class GenHobSectionsTest(unittest.TestCase):
 | |
|     def setUp(self):
 | |
|         pass      
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
|     
 | |
|     #
 | |
|     # This is the API to generate Event Object to help UnitTest
 | |
|     #
 | |
|     def ObjectFactory(self, SupArchList, Type, Usage, Str):
 | |
|         Object = HobObject()
 | |
|         HelpStr = Str
 | |
|         
 | |
|         Object.SetHobType(Type)
 | |
|         Object.SetUsage(Usage)
 | |
|         Object.SetSupArchList(SupArchList)
 | |
|         
 | |
|         HelpTextObj = TextObject()
 | |
|         HelpTextObj.SetLang('')
 | |
|         HelpTextObj.SetString(HelpStr)
 | |
|         Object.SetHelpTextList([HelpTextObj])
 | |
|         
 | |
|         return Object      
 | |
| 
 | |
|     def testNormalCase1(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'Help'
 | |
|  
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # # Help
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
|     def testNormalCase2(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = []
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'Help'
 | |
|  
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob]
 | |
| # ##
 | |
| # # Help
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
|         
 | |
|     def testNormalCase3(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\nComment Line 1\n\n'
 | |
|  
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # # Comment Line 1
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
|     def testNormalCase4(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\nComment Line 1\n'
 | |
|  
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # # Comment Line 1
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
|     def testNormalCase5(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = 'Comment Line 1\n\n'
 | |
|  
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # # Comment Line 1
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
|     def testNormalCase6(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = ''
 | |
|         
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)    
 | |
| 
 | |
|     def testNormalCase7(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\nNew Stack HoB'
 | |
| 
 | |
|         
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # # New Stack HoB
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
|     def testNormalCase8(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\nNew Stack HoB\n\nTail Comment'
 | |
| 
 | |
|         
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # # New Stack HoB
 | |
| # #
 | |
| # # Tail Comment
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected) 
 | |
| 
 | |
|     def testNormalCase9(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\n\n'
 | |
| 
 | |
|         
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # #
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected) 
 | |
| 
 | |
|     def testNormalCase10(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\n'
 | |
| 
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # #
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected) 
 | |
| 
 | |
|     def testNormalCase11(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\n\n\n'
 | |
| 
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # #
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected) 
 | |
| 
 | |
|     def testNormalCase12(self):
 | |
|         ObjectList = []
 | |
|         SupArchList = ['X64']
 | |
|         Type = 'Foo'
 | |
|         Usage = 'UNDEFINED'
 | |
|         Str = '\n\n\n\n'
 | |
| 
 | |
|         Object = self.ObjectFactory(SupArchList, Type, Usage, Str)
 | |
|         ObjectList.append(Object)
 | |
|         
 | |
|         Result = GenSpecialSections(ObjectList, 'Hob')
 | |
|         Expected = '''# [Hob.X64]
 | |
| # ##
 | |
| # #
 | |
| # #
 | |
| # #
 | |
| # Foo ## UNDEFINED
 | |
| #
 | |
| #
 | |
| '''
 | |
|         self.assertEqual(Result, Expected) 
 | |
|     
 | |
| #
 | |
| # Test GenGenericCommentF
 | |
| #
 | |
| class GenGenericCommentFTest(unittest.TestCase):
 | |
|     def setUp(self):
 | |
|         pass      
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
|     
 | |
|     def testNormalCase1(self):
 | |
|         CommentLines = 'Comment Line 1'
 | |
|         Result = GenGenericCommentF(CommentLines)
 | |
|         Expected = '# Comment Line 1\n'
 | |
|         self.assertEqual(Result, Expected)
 | |
| 
 | |
|     def testNormalCase2(self):
 | |
|         CommentLines = '\n'
 | |
|         Result = GenGenericCommentF(CommentLines)
 | |
|         Expected = '#\n'
 | |
|         self.assertEqual(Result, Expected)        
 | |
| 
 | |
|     def testNormalCase3(self):
 | |
|         CommentLines = '\n\n\n'
 | |
|         Result = GenGenericCommentF(CommentLines)
 | |
|         Expected = '#\n#\n#\n'
 | |
|         self.assertEqual(Result, Expected)  
 | |
| 
 | |
|     def testNormalCase4(self):
 | |
|         CommentLines = 'coment line 1\n'
 | |
|         Result = GenGenericCommentF(CommentLines)
 | |
|         Expected = '# coment line 1\n'
 | |
|         self.assertEqual(Result, Expected)  
 | |
|         
 | |
|     def testNormalCase5(self):
 | |
|         CommentLines = 'coment line 1\n coment line 2\n'
 | |
|         Result = GenGenericCommentF(CommentLines)
 | |
|         Expected = '# coment line 1\n# coment line 2\n'
 | |
|         self.assertEqual(Result, Expected)          
 | |
|                 
 | |
| if __name__ == '__main__':
 | |
|     Logger.Initialize()
 | |
|     unittest.main() |