sbsv2/raptor/test/unit_suite/raptor_make_unit.py
branchwip
changeset 5 593a8820b912
parent 3 e1eecf4d390d
equal deleted inserted replaced
3:e1eecf4d390d 5:593a8820b912
    69 		
    69 		
    70 		svar = raptor_data.Variant("SVAR")
    70 		svar = raptor_data.Variant("SVAR")
    71 		svar.AddOperation(raptor_data.Set("EXEPARAM1", "parameter 1"))
    71 		svar.AddOperation(raptor_data.Set("EXEPARAM1", "parameter 1"))
    72 		svar.AddOperation(raptor_data.Set("EXEPARAM2", "parameter 2"))
    72 		svar.AddOperation(raptor_data.Set("EXEPARAM2", "parameter 2"))
    73 		spec.AddVariant(svar)
    73 		spec.AddVariant(svar)
    74 		spec.SetOwner(aRaptor)
       
    75 		
    74 		
    76 		# use a minimal Configuration
    75 		# use a minimal Configuration
    77 		conf = raptor_data.Variant("myConfig")
    76 		conf = raptor_data.Variant("myConfig")
    78 		cvar = raptor_data.Variant("CVAR")
    77 		cvar = raptor_data.Variant("CVAR")
    79 		cvar.AddOperation(raptor_data.Set("EXEPARAM3", "parameter 3"))
    78 		cvar.AddOperation(raptor_data.Set("EXEPARAM3", "parameter 3"))
    80 		bldunit = raptor_data.BuildUnit("myConfig.CVAR",[conf,cvar])
    79 		bldunit = raptor_data.BuildUnit("myConfig.CVAR",[conf,cvar])
    81 		conf.SetOwner(aRaptor)
       
    82 		
    80 		
    83 		# delete any old Makefiles
    81 		# delete any old Makefiles
    84 		m1 = testDir.Append("Makefile")
    82 		m1 = testDir.Append("Makefile")
    85 		m2 = testDir.Append("myConfig.CVAR", "myProject", "Makefile")
    83 		m2 = testDir.Append("myConfig.CVAR", "myProject", "Makefile")
    86 		makefiles = [m1, m2]
    84 		makefiles = [m1, m2]
   146 		top1c2c.AddVariant(top1c2cv)
   144 		top1c2c.AddVariant(top1c2cv)
   147 		top1c2.AddChildSpecification(top1c2c)
   145 		top1c2.AddChildSpecification(top1c2c)
   148 		#
   146 		#
   149 		top1.AddChildSpecification(top1c1)
   147 		top1.AddChildSpecification(top1c1)
   150 		top1.AddChildSpecification(top1c2)
   148 		top1.AddChildSpecification(top1c2)
   151 		top1.SetOwner(aRaptor)
       
   152 		
   149 		
   153 		# top 2 has no sub-nodes
   150 		# top 2 has no sub-nodes
   154 		top2 = raptor_data.Specification("top2")
   151 		top2 = raptor_data.Specification("top2")
   155 		top2.SetInterface(interface)
   152 		top2.SetInterface(interface)
   156 		top2v = raptor_data.Variant()
   153 		top2v = raptor_data.Variant()
   157 		top2v.AddOperation(raptor_data.Set("EXEPARAM1", "top2 p1"))
   154 		top2v.AddOperation(raptor_data.Set("EXEPARAM1", "top2 p1"))
   158 		top2.AddVariant(top2v)
   155 		top2.AddVariant(top2v)
   159 		#
   156 		#
   160 		top2.SetOwner(aRaptor)
       
   161 		
   157 		
   162 		# use a pair of minimal Configurations
   158 		# use a pair of minimal Configurations
   163 		
   159 		
   164 		conf1 = raptor_data.Variant("conf1")
   160 		conf1 = raptor_data.Variant("conf1")
   165 		c1var = raptor_data.Variant()
   161 		c1var = raptor_data.Variant()
   166 		c1var.AddOperation(raptor_data.Set("EXEPARAM2", "conf1 p2"))
   162 		c1var.AddOperation(raptor_data.Set("EXEPARAM2", "conf1 p2"))
   167 		buildunit1 = raptor_data.BuildUnit("conf1.c1var",[conf1,c1var])
   163 		buildunit1 = raptor_data.BuildUnit("conf1.c1var",[conf1,c1var])
   168 		conf1.SetOwner(aRaptor)
       
   169 		
   164 		
   170 		conf2 = raptor_data.Variant("conf2")
   165 		conf2 = raptor_data.Variant("conf2")
   171 		c2var = raptor_data.Variant()
   166 		c2var = raptor_data.Variant()
   172 		c2var.AddOperation(raptor_data.Set("EXEPARAM2", "conf2 p2"))
   167 		c2var.AddOperation(raptor_data.Set("EXEPARAM2", "conf2 p2"))
   173 		buildunit2 = raptor_data.BuildUnit("conf2.c2var",[conf2,c2var])
   168 		buildunit2 = raptor_data.BuildUnit("conf2.c2var",[conf2,c2var])
   174 		conf2.SetOwner(aRaptor)
       
   175 		
   169 		
   176 		# delete any old Makefiles
   170 		# delete any old Makefiles
   177 		makefiles = [testDir.Append("Makefile")]
   171 		makefiles = [testDir.Append("Makefile")]
   178 		makefiles.append(testDir.Append("conf1.c1var", "top1", "Makefile"))
   172 		makefiles.append(testDir.Append("conf1.c1var", "top1", "Makefile"))
   179 		makefiles.append(testDir.Append("conf1.c1var", "top1", "top1c1", "Makefile"))
   173 		makefiles.append(testDir.Append("conf1.c1var", "top1", "top1c1", "Makefile"))
   203 		aRaptor = raptor.Raptor()
   197 		aRaptor = raptor.Raptor()
   204 		aRaptor.ProcessConfig()
   198 		aRaptor.ProcessConfig()
   205 		aRaptor.LoadCache()
   199 		aRaptor.LoadCache()
   206 		aRaptor.pruneDuplicateMakefiles = False
   200 		aRaptor.pruneDuplicateMakefiles = False
   207 		aRaptor.writeSingleMakefile = False
   201 		aRaptor.writeSingleMakefile = False
       
   202 		aRaptor.debugOutput = True
   208 		
   203 		
   209 		# find the test directory
   204 		# find the test directory
   210 		testDir = aRaptor.home.Append("test", "tmp")
   205 		testDir = aRaptor.home.Append("test", "tmp")
   211 		
   206 		
   212 		# the root Specification is a Filter
   207 		# the root Specification is a Filter
   256 		childFv.AddOperation(raptor_data.Set("FEXEPARAM", "child False"))
   251 		childFv.AddOperation(raptor_data.Set("FEXEPARAM", "child False"))
   257 		childF.AddVariant(childFv)
   252 		childF.AddVariant(childFv)
   258 		#
   253 		#
   259 		top.Else.AddChildSpecification(childF)
   254 		top.Else.AddChildSpecification(childF)
   260 		
   255 		
   261 		top.SetOwner(aRaptor)
       
   262 		
   256 		
   263 		# Configurations
   257 		# Configurations
   264 		
   258 		
   265 		confA = raptor_data.Variant("confA")	# hit
   259 		confA = raptor_data.Variant("confA")	# hit
   266 		confAv = raptor_data.Variant()
   260 		confAv = raptor_data.Variant()
   267 		confAv.AddOperation(raptor_data.Set("SWITCH", "confA switch"))
   261 		confAv.AddOperation(raptor_data.Set("SWITCH", "confA switch"))
   268 		confAv.AddOperation(raptor_data.Set("TOGGLE", "confA toggle"))
   262 		confAv.AddOperation(raptor_data.Set("TOGGLE", "confA toggle"))
   269 		b1 = raptor_data.BuildUnit("confA.confAv",[confA,confAv])
   263 		b1 = raptor_data.BuildUnit("confA.confAv",[confA,confAv])
   270 		confA.SetOwner(aRaptor)
       
   271 		
   264 		
   272 		confB = raptor_data.Variant("confB")	# hit
   265 		confB = raptor_data.Variant("confB")	# hit
   273 		confBv = raptor_data.Variant()
   266 		confBv = raptor_data.Variant()
   274 		confBv.AddOperation(raptor_data.Set("SWITCH", "confB switch"))
   267 		confBv.AddOperation(raptor_data.Set("SWITCH", "confB switch"))
   275 		confBv.AddOperation(raptor_data.Set("TOGGLE", "confB toggle"))
   268 		confBv.AddOperation(raptor_data.Set("TOGGLE", "confB toggle"))
   276 		b2 = raptor_data.BuildUnit("confB.confBv",[confB,confBv])
   269 		b2 = raptor_data.BuildUnit("confB.confBv",[confB,confBv])
   277 		confB.SetOwner(aRaptor)
       
   278 		
   270 		
   279 		confC = raptor_data.Variant("confC")
   271 		confC = raptor_data.Variant("confC")
   280 		confCv = raptor_data.Variant()
   272 		confCv = raptor_data.Variant()
   281 		confCv.AddOperation(raptor_data.Set("SWITCH", "confC switch"))
   273 		confCv.AddOperation(raptor_data.Set("SWITCH", "confC switch"))
   282 		confCv.AddOperation(raptor_data.Set("TOGGLE", "confC toggle"))
   274 		confCv.AddOperation(raptor_data.Set("TOGGLE", "confC toggle"))
   283 		b3 = raptor_data.BuildUnit("confC.confCv",[confC,confCv])
   275 		b3 = raptor_data.BuildUnit("confC.confCv",[confC,confCv])
   284 		confC.SetOwner(aRaptor)
       
   285 		
   276 		
   286 		confD = raptor_data.Variant("confD")
   277 		confD = raptor_data.Variant("confD")
   287 		confDv = raptor_data.Variant()
   278 		confDv = raptor_data.Variant()
   288 		confDv.AddOperation(raptor_data.Set("SWITCH", "ARM"))	# hit
   279 		confDv.AddOperation(raptor_data.Set("SWITCH", "ARM"))	# hit
   289 		confDv.AddOperation(raptor_data.Set("TOGGLE", "confD toggle"))
   280 		confDv.AddOperation(raptor_data.Set("TOGGLE", "confD toggle"))
   290 		b4 = raptor_data.BuildUnit("confD.confDv",[confD,confDv])
   281 		b4 = raptor_data.BuildUnit("confD.confDv",[confD,confDv])
   291 		confD.SetOwner(aRaptor)
       
   292 		
   282 		
   293 		confE = raptor_data.Variant("confE")
   283 		confE = raptor_data.Variant("confE")
   294 		confEv = raptor_data.Variant()
   284 		confEv = raptor_data.Variant()
   295 		confEv.AddOperation(raptor_data.Set("SWITCH", "confE switch"))
   285 		confEv.AddOperation(raptor_data.Set("SWITCH", "confE switch"))
   296 		confEv.AddOperation(raptor_data.Set("TOGGLE", "B"))		# hit
   286 		confEv.AddOperation(raptor_data.Set("TOGGLE", "B"))		# hit
   297 		b5 = raptor_data.BuildUnit("confE.confEv",[confE,confEv])
   287 		b5 = raptor_data.BuildUnit("confE.confEv",[confE,confEv])
   298 		confE.SetOwner(aRaptor)
       
   299 		
   288 		
   300 		confF = raptor_data.Variant("confF")
   289 		confF = raptor_data.Variant("confF")
   301 		confFv = raptor_data.Variant()
   290 		confFv = raptor_data.Variant()
   302 		confFv.AddOperation(raptor_data.Set("SWITCH", "confF switch"))
   291 		confFv.AddOperation(raptor_data.Set("SWITCH", "confF switch"))
   303 		confFv.AddOperation(raptor_data.Set("TOGGLE", "confF toggle"))
   292 		confFv.AddOperation(raptor_data.Set("TOGGLE", "confF toggle"))
   304 		b6 = raptor_data.BuildUnit("confF.confFv",[confF,confFv])
   293 		b6 = raptor_data.BuildUnit("confF.confFv",[confF,confFv])
   305 		confF.SetOwner(aRaptor)
       
   306 		
   294 		
   307 		# delete any old Makefiles
   295 		# delete any old Makefiles
   308 		makefiles = [testDir.Append("Makefile")]
   296 		makefiles = [testDir.Append("Makefile")]
   309 		makefiles.append(testDir.Append("confA.confAv", "top", "Makefile"))
   297 		makefiles.append(testDir.Append("confA.confAv", "top", "Makefile"))
   310 		makefiles.append(testDir.Append("confB.confBv", "top", "Makefile"))
   298 		makefiles.append(testDir.Append("confB.confBv", "top", "Makefile"))
   320 		makefiles.append(testDir.Append("confF.confFv", "top", "Fchild", "Makefile"))
   308 		makefiles.append(testDir.Append("confF.confFv", "top", "Fchild", "Makefile"))
   321 		self.cleanMakefiles(makefiles)
   309 		self.cleanMakefiles(makefiles)
   322 		
   310 		
   323 		# create new Makefiles
   311 		# create new Makefiles
   324 		maker = raptor_make.MakeEngine(aRaptor)
   312 		maker = raptor_make.MakeEngine(aRaptor)
   325 		maker.Write(makefiles[0], [top], [b1,b2,b3,b4,b5,b6])
   313 		maker.Write(makefiles[0], specs=[top], configs=[b1,b2,b3,b4,b5,b6])
   326 		
   314 		
   327 		# test and clean
   315 		# test and clean
   328 		self.failUnless(self.checkMakefiles(makefiles))
   316 		self.failUnless(self.checkMakefiles(makefiles))
   329 		self.cleanMakefiles(makefiles)
   317 		self.cleanMakefiles(makefiles)
   330 		
   318 		
   351 		# f1 is empty, f2 and f3 are equal
   339 		# f1 is empty, f2 and f3 are equal
   352 		# so f2 should be the only Makefile generated
   340 		# so f2 should be the only Makefile generated
   353 		
   341 		
   354 		f1 = raptor_data.Filter("f1")
   342 		f1 = raptor_data.Filter("f1")
   355 		f1.SetConfigCondition("c1")
   343 		f1.SetConfigCondition("c1")
   356 		f1.SetOwner(aRaptor)
       
   357 		
   344 		
   358 		f2 = raptor_data.Filter("f2")
   345 		f2 = raptor_data.Filter("f2")
   359 		f2.SetConfigCondition("c2")
   346 		f2.SetConfigCondition("c2")
   360 		f2.SetInterface(iface)
   347 		f2.SetInterface(iface)
   361 		f2.SetOwner(aRaptor)
       
   362 		
   348 		
   363 		f3 = raptor_data.Filter("f3")
   349 		f3 = raptor_data.Filter("f3")
   364 		f3.SetConfigCondition("c3")
   350 		f3.SetConfigCondition("c3")
   365 		f3.SetInterface(iface)
   351 		f3.SetInterface(iface)
   366 		f3.SetOwner(aRaptor)
       
   367 		
   352 		
   368 		# Configurations
   353 		# Configurations
   369 		c1 = raptor_data.Variant("c1")
   354 		c1 = raptor_data.Variant("c1")
   370 		c1.SetOwner(aRaptor)
       
   371 		c2 = raptor_data.Variant("c2")
   355 		c2 = raptor_data.Variant("c2")
   372 		c2.SetOwner(aRaptor)
       
   373 		c3 = raptor_data.Variant("c3")
   356 		c3 = raptor_data.Variant("c3")
   374 		c3.SetOwner(aRaptor)
       
   375 
   357 
   376 		# Build Units
   358 		# Build Units
   377 		b1 = raptor_data.BuildUnit("c1",[c1])
   359 		b1 = raptor_data.BuildUnit("c1",[c1])
   378 		b2 = raptor_data.BuildUnit("c2",[c2])
   360 		b2 = raptor_data.BuildUnit("c2",[c2])
   379 		b3 = raptor_data.BuildUnit("c3",[c3])
   361 		b3 = raptor_data.BuildUnit("c3",[c3])