diff -r f70b728ea30c -r a1925fb7753a sbsv2/raptor/test/unit_suite/raptor_meta_unit.py --- a/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py Wed Jul 28 13:20:46 2010 +0100 +++ b/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py Thu Aug 12 09:00:16 2010 +0100 @@ -40,6 +40,7 @@ self.__platmacros_armv6 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV6" self.__platmacros_armv7 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV7" self.__platmacros_winscw = "CW32 WINS WINSCW" + self.__platmacros_x86gcc = "X86GCC EPOC32" self.variant_hrh = self.__testRoot.Append('metadata/include/test_hrh.hrh') @@ -136,8 +137,21 @@ 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build", 'METADEPS' : [] } + + self.X86GCC = { 'PLATFORM': 'X86GCC', + 'EPOCROOT': self.__epocroot, + 'VARIANT_HRH': self.variant_hrh, + 'SYSTEMINCLUDE' : '', + 'id': 2, + 'key': '2222222222222222', + 'key_md5': '2222222222222222', + 'ISFEATUREVARIANT' : False, + 'PLATMACROS' : self.__platmacros_x86gcc, + 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build", + 'METADEPS' : [] + } - self.testPlats = [self.ARMV5, self.ARMV5SMP, self.ARMV6, self.ARMV7, self.ARMV7SMP, self.WINSCW] + self.testPlats = [self.ARMV5, self.ARMV5SMP, self.ARMV6, self.ARMV7, self.ARMV7SMP, self.WINSCW, self.X86GCC] # Get the version of CPP that we are using and hope it's correct # since there is no tool check. @@ -222,17 +236,17 @@ bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs') self.__testBuildPlatforms(bldInfTestRoot, 'no_prj_platforms.inf', - [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML']) + [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML', 'X86GCC']) self.__testBuildPlatforms(bldInfTestRoot, 'no_plats.inf', - [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML']) + [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML', 'X86GCC']) self.__testBuildPlatforms(bldInfTestRoot, 'default_plats.inf', - ['DEFAULT'], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML']) + ['DEFAULT'], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML', 'X86GCC']) self.__testBuildPlatforms(bldInfTestRoot, 'default_plats_minus_plat.inf', - ['DEFAULT', '-WINSCW'], ['ARMV7', 'ARMV5', 'GCCXML']) + ['DEFAULT', '-WINSCW'], ['ARMV7', 'ARMV5', 'GCCXML', 'X86GCC']) self.__testBuildPlatforms(bldInfTestRoot, 'single_plat.inf', - ['ARMV5'], ['ARMV5', 'GCCXML']) + ['ARMV5'], ['ARMV5', 'GCCXML', 'X86GCC']) self.__testBuildPlatforms(bldInfTestRoot, 'multiple_plats.inf', - ['ARMV5', 'WINSCW', 'TOOLS'], ['ARMV5', 'WINSCW', 'TOOLS', 'GCCXML']) + ['ARMV5', 'WINSCW', 'TOOLS'], ['ARMV5', 'WINSCW', 'TOOLS', 'GCCXML', 'X86GCC']) return def __testBldInfTestCode(self, aTestRoot, aBldInf, aActual, aExpected): @@ -686,8 +700,9 @@ class DefFileTest(object): """ Test resolveDefFile for a particular set of mmp options """ - def __init__(self, resolveddeffile, mmpfilename, deffilekeyword, target, nostrictdef, platform): - self.resolveddeffile = resolveddeffile + def __init__(self, primarydeffile, secondarydeffile, mmpfilename, deffilekeyword, target, nostrictdef, platform): + self.primarydeffile = primarydeffile + self.secondarydeffile = secondarydeffile self.mmpfilename=mmpfilename self.deffilekeyword=deffilekeyword self.target=target @@ -698,43 +713,58 @@ m = raptor_meta.MMPRaptorBackend(raptor, self.mmpfilename, "") m.deffile = self.deffilekeyword m.nostrictdef = self.nostrictdef - f = m.resolveDefFile(self.target, self.platform) + (resolvedDefFile, isSecondaryDefFile) = m.resolveDefFile(self.target, self.platform) - return path_compare_notdrivelettercase(self.resolveddeffile,f) + expectedDefFile = self.primarydeffile + if isSecondaryDefFile: + expectedDefFile = self.secondarydeffile + + return path_compare_notdrivelettercase(expectedDefFile, resolvedDefFile) defFileTests = [] for testPlat in self.testPlats: epocroot = str(testPlat['EPOCROOT']) releaseDir = testPlat['PLATFORM'].lower() - defFileDir = "eabi" + + # Some configurations support both a primary location and a secondary location for .def files + # In these cases, if the primary location .def file doesn't exist the secondary is used. + primaryDefFileDir = "eabi" + secondaryDefFileLoc = "" if testPlat['PLATFORM'] == "WINSCW": - defFileDir = "bwins" - + primaryDefFileDir = "bwins" + elif testPlat['PLATFORM'] == "X86GCC": + primaryDefFileDir = "bx86gcc" + secondaryDefFileLoc = self.__OSRoot+'/test/eabi' + defFileTests.extend([ DefFileTest( - self.__OSRoot+'/test/'+defFileDir+'/targetu.def', + self.__OSRoot+'/test/'+primaryDefFileDir+'/targetu.def', + secondaryDefFileLoc+'/targetu.def', '/test/component/mmpfile.mmp', '', 'target.exe', False, testPlat), DefFileTest( - self.__OSRoot+'/test/'+defFileDir+'/target.def', + self.__OSRoot+'/test/'+primaryDefFileDir+'/target.def', + secondaryDefFileLoc+'/target.def', '/test/component/mmpfile.mmp', '', 'target.exe', True, testPlat), DefFileTest( - self.__OSRoot+'/test/'+defFileDir+'/targetu.DEF', + self.__OSRoot+'/test/'+primaryDefFileDir+'/targetu.DEF', + secondaryDefFileLoc+'/targetu.DEF', '/test/component/mmpfile.mmp', 'target.DEF', 'target.exe', False, testPlat), DefFileTest( - self.__OSRoot+'/test/'+defFileDir+'/target2.DEF', + self.__OSRoot+'/test/'+primaryDefFileDir+'/target2.DEF', + secondaryDefFileLoc+'/target2.DEF', '/test/component/mmpfile.mmp', 'target2.DEF', 'target.exe', @@ -742,6 +772,7 @@ testPlat), DefFileTest( self.__OSRoot+'/test/component/target2u.DEF', + secondaryDefFileLoc+'/target2u.DEF', '/test/component/mmpfile.mmp', './target2.DEF', 'target.exe', @@ -749,20 +780,23 @@ testPlat), DefFileTest( self.__OSRoot+'/test/component/target2.DEF', + secondaryDefFileLoc+'/target2.DEF', '/test/component/mmpfile.mmp', './target2.DEF', 'target.exe', True, testPlat), DefFileTest( - self.__OSRoot+'/test/component/'+defFileDir+'/target3u.DEF', + self.__OSRoot+'/test/component/'+primaryDefFileDir+'/target3u.DEF', + secondaryDefFileLoc+'/target3u.DEF', '/test/component/mmpfile.mmp', './~/target3.DEF', 'target.exe', False, testPlat), DefFileTest( - epocroot+'/epoc32/include/def/'+defFileDir+'/targetu.def', + epocroot+'/epoc32/include/def/'+primaryDefFileDir+'/targetu.def', + secondaryDefFileLoc+'/targetu.def', '/test/component/mmpfile.mmp', '/epoc32/include/def/~/target.def', 'target.exe', @@ -770,6 +804,7 @@ testPlat), DefFileTest( epocroot+'/epoc32/release/'+releaseDir+'/target.def', + secondaryDefFileLoc+'/target.def', '/test/component/mmpfile.mmp', '/epoc32/release/'+releaseDir+'/target.def', 'target.exe', @@ -777,6 +812,7 @@ testPlat), DefFileTest( self.__OSRoot+'/deffiles/targetu.def', + secondaryDefFileLoc+'/targetu.def', '/test/component/mmpfile.mmp', '/deffiles/target.def', 'target.exe', @@ -785,7 +821,7 @@ ]) for t in defFileTests: - result = t.test(self.raptor) + result = t.test(self.raptor) self.assertEquals(result, True) def dummyMetaReader(self):