def run(): t = AntiTargetSmokeTest() t.id = "61" t.name = "smp" # # the command asks for ARMV5 and ARMV5SMP but the component only builds # code for ARMV5SMP according to its bld.inf file. so, check that the # ARMV5SMP binaries exist and the ARMV5 ones do not. # t.command = "sbs -b smoke_suite/test_resources/smp/bld.inf -c armv5 -c " + \ "armv5.smp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe.map", "$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe", "$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/smp/bld.inf', [ "test_/armv5smp/udeb/test.o", "test_/armv5smp/urel/test.o" ]) t.antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map" ] t.addbuildantitargets('smoke_suite/test_resources/smp/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o" ]) t.run() return t
def run(): t = AntiTargetSmokeTest() t.id = "61" t.name = "smp" # # the command asks for ARMV5 and ARMV5SMP but the component only builds # code for ARMV5SMP according to its bld.inf file. so, check that the # ARMV5SMP binaries exist and the ARMV5 ones do not. # t.command = "sbs -b smoke_suite/test_resources/smp/bld.inf -c armv5 -c " + \ "armv5.smp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe.map", "$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe", "$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe.map" ] t.addbuildtargets( 'smoke_suite/test_resources/smp/bld.inf', ["test_/armv5smp/udeb/test.o", "test_/armv5smp/urel/test.o"]) t.antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map" ] t.addbuildantitargets( 'smoke_suite/test_resources/smp/bld.inf', ["test_/armv5/udeb/test.o", "test_/armv5/urel/test.o"]) t.run() return t
def run(): t = AntiTargetSmokeTest() t.id = "76" t.name = "nobuild" t.usebash = True t.command = ( "sbs -b smoke_suite/test_resources/simple/bld.inf CLEAN " + "&& sbs -b smoke_suite/test_resources/simple/bld.inf -n -m ${SBSMAKEFILE} -f ${SBSLOGFILE} " + "&& grep -i 'No build performed' ${SBSLOGFILE}" ) t.targets = [] t.addbuildtargets("smoke_suite/test_resources/simple/bld.inf", []) t.antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe", ] t.addbuildantitargets( "smoke_suite/test_resources/simple/bld.inf", [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", "test_/armv5/udeb/test3.o", "test_/armv5/udeb/test4.o", "test_/armv5/udeb/test5.o", "test_/armv5/udeb/test1.o", "test_/armv5/udeb/test6.o", "test_/armv5/udeb/test2.o", "test_/armv5/urel/test3.o", "test_/armv5/urel/test4.o", "test_/armv5/urel/test5.o", "test_/armv5/urel/test1.o", "test_/armv5/urel/test6.o", "test_/armv5/urel/test2.o", "test_/winscw/udeb/test.o", "test_/winscw/urel/test.o", "test_/winscw/udeb/test3.o", "test_/winscw/udeb/test4.o", "test_/winscw/udeb/test5.o", "test_/winscw/udeb/test1.o", "test_/winscw/udeb/test6.o", "test_/winscw/udeb/test2.o", "test_/winscw/urel/test3.o", "test_/winscw/urel/test4.o", "test_/winscw/urel/test5.o", "test_/winscw/urel/test1.o", "test_/winscw/urel/test6.o", "test_/winscw/urel/test2.o", ], ) t.mustmatch = [".*No build performed.*"] t.run() return t
def run(): # build something; make it read-only; then try and clean it t = AntiTargetSmokeTest() t.id = "10a" t.name = "clean_readonly" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.run() setupOK = (t.result != AntiTargetSmokeTest.FAIL) # This particular file createstaticdll.dll is changed to be readonly to test # if sbs CLEAN command actually gets rid of read only files fileForClean = os.environ['EPOCROOT'] + "/epoc32/release/armv5/urel/createstaticdll.dll" if os.path.exists(fileForClean): os.chmod(fileForClean, stat.S_IREAD) t.id = "10" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5 CLEAN" t.targets = [] t.antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildantitargets("smoke_suite/test_resources/simple_dll/bld.inf", [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.run() if not setupOK: t.result = AntiTargetSmokeTest.FAIL return t
def run(): # build something; make it read-only; then try and clean it t = AntiTargetSmokeTest() t.id = "10a" t.name = "clean_readonly" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.run() setupOK = (t.result != AntiTargetSmokeTest.FAIL) # This particular file createstaticdll.dll is changed to be readonly to test # if sbs CLEAN command actually gets rid of read only files fileForClean = os.environ[ 'EPOCROOT'] + "/epoc32/release/armv5/urel/createstaticdll.dll" if os.path.exists(fileForClean): os.chmod(fileForClean, stat.S_IREAD) t.id = "10" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5 CLEAN" t.targets = [] t.antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] t.addbuildantitargets("smoke_suite/test_resources/simple_dll/bld.inf", [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ]) t.run() if not setupOK: t.result = AntiTargetSmokeTest.FAIL return t
def run(): t = AntiTargetSmokeTest() rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf" targets = [ "$(EPOCROOT)/epoc32/release/armv6/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv6/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv6/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv6/urel/createstaticdll.dll" ] antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.lib" ] buildtargets = [ "createstaticdll_dll/armv6/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv6/urel/CreateStaticDLL.o", "createstaticdll_dll/armv6/udeb/armv6_specific.o", "createstaticdll_dll/armv6/urel/armv6_specific.o" ] t.name = "dll_armv6_rvct" t.command = rootcommand + " -c armv6" t.targets = targets t.antitargets = antitargets t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets) t.run() t.name = "dll_armv6_clean" t.command = rootcommand + " -c armv6 clean" t.targets = [] t.antitargets = [] t.run() t.name = "dll_armv6_gcce" t.command = rootcommand + " -c arm.v6.udeb.gcce4_5_1 -c arm.v6.urel.gcce4_5_1" t.targets = targets t.antitargets = antitargets t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets) t.run() t.name = "dll_armv6" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.id = "76" t.name = "nobuild" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf CLEAN " + \ "&& sbs -b smoke_suite/test_resources/simple/bld.inf -n -m ${SBSMAKEFILE} -f ${SBSLOGFILE} " + \ "&& grep -i 'No build performed' ${SBSLOGFILE}" t.targets = [] t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', []) t.antitargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe" ] t.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", "test_/armv5/udeb/test3.o", "test_/armv5/udeb/test4.o", "test_/armv5/udeb/test5.o", "test_/armv5/udeb/test1.o", "test_/armv5/udeb/test6.o", "test_/armv5/udeb/test2.o", "test_/armv5/urel/test3.o", "test_/armv5/urel/test4.o", "test_/armv5/urel/test5.o", "test_/armv5/urel/test1.o", "test_/armv5/urel/test6.o", "test_/armv5/urel/test2.o", "test_/winscw/udeb/test.o", "test_/winscw/urel/test.o", "test_/winscw/udeb/test3.o", "test_/winscw/udeb/test4.o", "test_/winscw/udeb/test5.o", "test_/winscw/udeb/test1.o", "test_/winscw/udeb/test6.o", "test_/winscw/udeb/test2.o", "test_/winscw/urel/test3.o", "test_/winscw/urel/test4.o", "test_/winscw/urel/test5.o", "test_/winscw/urel/test1.o", "test_/winscw/urel/test6.o", "test_/winscw/urel/test2.o" ]) t.mustmatch = [".*No build performed.*"] t.run() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True # Unordered layer logging tests unorderedcommand = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_simple.xml' unorderedtargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe.map" ] unorderedbuildtargets = [ "{COMPONENT}_/armv5/udeb/simple.o", "{COMPONENT}_/armv5/urel/simple.o", "{COMPONENT}_/winscw/udeb/simple.o", "{COMPONENT}_/winscw/udeb/{COMPONENT}_UID_.o", "{COMPONENT}_/winscw/udeb/{COMPONENT}.UID.CPP", "{COMPONENT}_/winscw/urel/simple.o", "{COMPONENT}_/winscw/urel/{COMPONENT}_UID_.o", "{COMPONENT}_/winscw/urel/{COMPONENT}.UID.CPP" ] t.name = "sysdef_layers" t.description = "Test system definition building and layer logging" t.command = unorderedcommand t.targets = unorderedtargets t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple1/bld.inf', [x.format(COMPONENT="simple1") for x in unorderedbuildtargets]) t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple2/bld.inf', [x.format(COMPONENT="simple2") for x in unorderedbuildtargets]) t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple3/bld.inf', [x.format(COMPONENT="simple3") for x in unorderedbuildtargets]) t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple4/bld.inf', [x.format(COMPONENT="simple4") for x in unorderedbuildtargets]) t.countmatch = [["<recipe .*layer='layer1' .*>", 24], ["<recipe .*layer='layer2' .*>", 24]] t.run() # System definition layer test with PP on t.name = "sysdef_layers_pp" t.description = "Test system definition layer building and logging with parallel processing on" t.command = unorderedcommand + " --pp on" t.countmatch = [["<recipe .*layer='layer1' .*>", 24], ["<recipe .*layer='layer2' .*>", 24]] t.run() # Ordered layer building and logging tests orderedcommand = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml ' + \ '-l "Metadata Export" -l "Build Generated Source" -l "Component with Layer Dependencies" -o' t.name = "sysdef_layers_ordered" t.description = "Test system definition ordered layer building and logging" t.command = orderedcommand t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.inf", "$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.mmh", "$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/data/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/include/HelloWorld.rsg", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/HelloWorld.rsc", ] t.addbuildtargets( 'smoke_suite/test_resources/sysdef/build_gen_source/bld.inf', [ "HelloWorld_/HelloWorld_HelloWorld.rsc.rpp", "HelloWorld_/HelloWorld_HelloWorld.rsc", "HelloWorld_/HelloWorld_HelloWorld.rsc.d" ]) t.addbuildtargets('smoke_suite/test_resources/sysdef/dependent/bld.inf', [ "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/helloworld_UID_.o", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.rpp", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.d" ]) t.countmatch = [ [ "<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 33 ], [ "<recipe .*layer='Build Generated Source' component='build generated source'.*>", 3 ] ] t.run() t.name = "sysdef_layers_ordered_pp" t.description = "Test system definition ordered layer building and logging with parallel processing on" t.command = orderedcommand + " --pp on" t.run() # package definition building and logging tests packagecommand = 'sbs -f- -s smoke_suite/test_resources/sysdef/package_definition.xml' packagetargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe.map" ] t.name = "sysdef_layers_pkgdef" t.description = "Test package definition building and layer logging" t.command = packagecommand t.targets = packagetargets t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple1/bld.inf', [x.format(COMPONENT="simple1") for x in unorderedbuildtargets]) t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple2/bld.inf', [x.format(COMPONENT="simple2") for x in unorderedbuildtargets]) t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple3/bld.inf', [x.format(COMPONENT="simple3") for x in unorderedbuildtargets]) t.addbuildtargets( 'smoke_suite/test_resources/sysdef/simple/simple4/bld.inf', [x.format(COMPONENT="simple4") for x in unorderedbuildtargets]) t.countmatch = [["<recipe .*layer='package1' .*>", 24], ["<recipe .*layer='package2' .*>", 24]] t.run() t.name = "sysdef_layers_pkgdef_pp" t.description = "Test package definition building and layer logging with parallel processing on" t.command = packagecommand + " --pp on" t.run() t.id = "48" t.name = "sysdef_layers" return t
def run(): # 102a - 102b Test running trace compiler on one mmp with different source files controlled macros. t = AntiTargetSmokeTest() t.description = "Testcases (ID 102a - 102c) test trace compiler running with variants and macros" # 1st time build includes var_source1 and var_source2 for variant_source.mmp t.id = "102a" t.name = "TC_variant_source_var1" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf -c default.tc_var1" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/variant_source" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/variant_source.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/inv_sourceTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source1Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/fixed_id.definitions", "$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [ "invariant_source_/armv5/udeb/inv_source.o", "invariant_source_/armv5/udeb/inv_source.o.d", "invariant_source_/armv5/urel/inv_source.o", "invariant_source_/armv5/urel/inv_source.o.d", "invariant_source_/winscw/udeb/inv_source.o", "invariant_source_/winscw/udeb/inv_source.o.d", "invariant_source_/winscw/urel/inv_source.o", "invariant_source_/winscw/urel/inv_source.o.d", "invariant_source_/tracecompile_invariant_source_exe_10000002.done", "variant_source_/armv5/udeb/var_source1.o", "variant_source_/armv5/udeb/var_source1.o.d", "variant_source_/armv5/udeb/var_source2.o", "variant_source_/armv5/udeb/var_source2.o.d", "variant_source_/armv5/urel/var_source1.o", "variant_source_/armv5/urel/var_source1.o.d", "variant_source_/armv5/urel/var_source2.o", "variant_source_/armv5/urel/var_source2.o.d", "variant_source_/winscw/udeb/var_source1.o", "variant_source_/winscw/udeb/var_source1.o.d", "variant_source_/winscw/udeb/var_source2.o", "variant_source_/winscw/udeb/var_source2.o.d", "variant_source_/winscw/urel/var_source1.o", "variant_source_/winscw/urel/var_source1.o.d", "variant_source_/winscw/urel/var_source2.o", "variant_source_/winscw/urel/var_source2.o.d", "variant_source_/tracecompile_variant_source_exe_10000003.done" ]) t.antitargets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h" ] t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [ "variant_source_/armv5/udeb/var_source3.o", "variant_source_/armv5/urel/var_source3.o", "variant_source_/winscw/udeb/var_source3.o", "variant_source_/winscw/urel/var_source3.o" ]) t.run() # 2nd time build includes var_source1 and var_source3 for variant_source.mmp t = SmokeTest() t.id = "102b" t.name = "TC_variant_source_var2" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf -c default.tc_var2" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/variant_source" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/variant_source.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/inv_sourceTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source1Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [ "invariant_source_/armv5/udeb/inv_source.o", "invariant_source_/armv5/udeb/inv_source.o.d", "invariant_source_/armv5/urel/inv_source.o", "invariant_source_/armv5/urel/inv_source.o.d", "invariant_source_/winscw/udeb/inv_source.o", "invariant_source_/winscw/udeb/inv_source.o.d", "invariant_source_/winscw/urel/inv_source.o", "invariant_source_/winscw/urel/inv_source.o.d", "invariant_source_/tracecompile_invariant_source_exe_10000002.done", "variant_source_/armv5/udeb/var_source1.o", "variant_source_/armv5/udeb/var_source1.o.d", "variant_source_/armv5/udeb/var_source3.o", "variant_source_/armv5/udeb/var_source3.o.d", "variant_source_/armv5/urel/var_source1.o", "variant_source_/armv5/urel/var_source1.o.d", "variant_source_/armv5/urel/var_source3.o", "variant_source_/armv5/urel/var_source3.o.d", "variant_source_/winscw/udeb/var_source1.o", "variant_source_/winscw/udeb/var_source1.o.d", "variant_source_/winscw/udeb/var_source3.o", "variant_source_/winscw/udeb/var_source3.o.d", "variant_source_/winscw/urel/var_source1.o", "variant_source_/winscw/urel/var_source1.o.d", "variant_source_/winscw/urel/var_source3.o", "variant_source_/winscw/urel/var_source3.o.d", "variant_source_/tracecompile_variant_source_exe_10000003.done" ]) t.run() # Build multiple variants together, which involves different source files in one mmp # Raptor only call trace compiler once no matter how many variants # In this example, ".phone" 1 2 3 involve tc_a b c respectively, and all involve tc_main t = SmokeTest() t.id = "102c" t.name = "TC_multiple_variants" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf" + \ " -c armv5.phone1 -c armv5.phone2 -c armv5.phone3" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/multiple_variants" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5.phone1/udeb/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone1/urel/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone2/udeb/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone2/urel/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone3/udeb/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone3/urel/tc_variants.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_mainTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_aTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_bTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_cTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/tc_variants_0x10000004_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/tc_variants_0x10000004_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf', [ "tc_variants_/armv5.phone1/udeb/tc_main.o", "tc_variants_/armv5.phone1/udeb/tc_a.o", "tc_variants_/armv5.phone1/urel/tc_main.o", "tc_variants_/armv5.phone1/urel/tc_a.o", "tc_variants_/armv5.phone2/udeb/tc_main.o", "tc_variants_/armv5.phone2/udeb/tc_b.o", "tc_variants_/armv5.phone2/urel/tc_main.o", "tc_variants_/armv5.phone2/urel/tc_b.o", "tc_variants_/armv5.phone3/udeb/tc_main.o", "tc_variants_/armv5.phone3/udeb/tc_c.o", "tc_variants_/armv5.phone3/urel/tc_main.o", "tc_variants_/armv5.phone3/urel/tc_c.o", "tc_variants_/tracecompile_tc_variants_exe_10000004.done" ]) t.run() # 102d and 102e is to test a very rare situation, where one mmpfile includes 3 children mmpfiles, # which are guarded by macros. They share some source file, and two share the same UID3. # When build them together, Raptor should be able to distinguish them and run trace compiler # on each of them. t = SmokeTest() t.id = "102d" t.name = "TC_mum_children_mmps_build" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \ " -c armv5.tc_var1 -c armv5.tc_var2 -c armv5.tc_var3" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/child1.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child1.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/child1Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/commonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/child1_exe_0x11100001_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child1_exe_0x11100001_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [ "child1_/armv5/udeb/child1.o", "child1_/armv5/udeb/common.o", "child1_/armv5/urel/child1.o", "child1_/armv5/urel/common.o", "child1_/tracecompile_child1_exe_11100001.done", "child2_/armv5/udeb/child2.o", "child2_/armv5/udeb/common.o", "child2_/armv5/urel/child2.o", "child2_/armv5/urel/common.o", "child2_/tracecompile_child2_exe_11100002.done", "child3_/armv5/udeb/child3.o", "child3_/armv5/udeb/common.o", "child3_/armv5/urel/child3.o", "child3_/armv5/urel/common.o", "child3_/tracecompile_child3_exe_11100002.done" ]) t.warnings = 3 t.run() # Clean mmp A then build mmp B and C. As common.cpp is shared by A B and C, commonTraces.h would be # cleaned when cleaning mmp A. But as B and C aren't cleaned, Raptor wouldn't run trace compiler on # B and C, thus commonTraces.h wouldn't be generated again, so be missing for mmp B and C. # The solution is to use new trace path "traces/traces_<TARGET>_<TARGETTYPE>" instead of "traces" so shared # source has different copy of trace headers for different projects. t = SmokeTest() t.id = "102e" t.name = "TC_mum_children_mmps_clean" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" + \ " -c armv5.tc_var1 CLEAN && " + \ "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" + \ " -c armv5.tc_var2 -c armv5.tc_var3" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [ "child2_/armv5/udeb/child2.o", "child2_/armv5/udeb/common.o", "child2_/armv5/urel/child2.o", "child2_/armv5/urel/common.o", "child2_/tracecompile_child2_exe_11100002.done", "child3_/armv5/udeb/child3.o", "child3_/armv5/udeb/common.o", "child3_/armv5/urel/child3.o", "child3_/armv5/urel/common.o", "child3_/tracecompile_child3_exe_11100002.done" ]) t.warnings = 3 t.run() t.id = "102" t.name = "tracecompiler_variants" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.name = "delete_on_failed_compile" t.description = "Test that object files are not present following a forced failed compile." t.usebash = True base_command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 -k" # Ensure everything is reallyclean before the test t.name = "delete_on_failed_compile_reallyclean_01" t.returncode = 0 t.antitargets = [] t.command = base_command + " reallyclean" t.run() # Object files should *not* be present after this forced failed compile t.name = "delete_on_failed_compile_build" t.errors = 1 t.returncode = 1 # None of these files should be present t.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/udeb/test1.o", "test_/armv5/udeb/test2.o", "test_/armv5/udeb/test3.o", "test_/armv5/udeb/test4.o", "test_/armv5/udeb/test5.o", "test_/armv5/udeb/test6.o", "test_/armv5/urel/test.o", "test_/armv5/urel/test1.o", "test_/armv5/urel/test2.o", "test_/armv5/urel/test3.o", "test_/armv5/urel/test4.o", "test_/armv5/urel/test5.o", "test_/armv5/urel/test6.o" ]) sbshome = os.environ["SBS_HOME"].replace("\\", "/").rstrip("/") t.command = base_command.replace("armv5", "armv5.fake_compiler") + \ " --configpath={0}/test/smoke_suite/test_resources/simple/compilervariants".format(sbshome) t.run() t.name = "delete_on_failed_compile_reallyclean_02" t.errors = 0 t.returncode = 0 t.antitargets = [] # Remove the list of anti-targets t.command = base_command + " reallyclean" t.run() # Use a redefined make_engine variant - object files *should* be present t.name = "delete_on_failed_compile_build_redefined_make_engine" t.errors = 1 t.returncode = 1 t.antitargets = [] # Remove the list of anti-targets # All of these files should be present t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/udeb/test1.o", "test_/armv5/udeb/test2.o", "test_/armv5/udeb/test3.o", "test_/armv5/udeb/test4.o", "test_/armv5/udeb/test5.o", "test_/armv5/udeb/test6.o", "test_/armv5/urel/test.o", "test_/armv5/urel/test1.o", "test_/armv5/urel/test2.o", "test_/armv5/urel/test3.o", "test_/armv5/urel/test4.o", "test_/armv5/urel/test5.o", "test_/armv5/urel/test6.o" ]) t.command = base_command.replace("armv5", "armv5.fake_compiler") + " -e make_test " \ + " --configpath={0}/test/smoke_suite/test_resources/simple/compilervariants ".format(sbshome) \ + " --configpath={0}/test/smoke_suite/test_resources/simple/makevariants".format(sbshome) t.run() t.name = "delete_on_failed_compile_reallyclean_03" t.errors = 0 t.returncode = 0 t.antitargets = [] # Remove the list of anti-targets t.targets = [] # Remove the list of targets t.command = base_command + " reallyclean" t.run() t.name = "delete_on_failed_compile" t.print_result() return t
def run(): # 102a - 102b Test running trace compiler on one mmp with different source files controlled macros. t = AntiTargetSmokeTest() t.description = "Testcases (ID 102a - 102c) test trace compiler running with variants and macros" # 1st time build includes var_source1 and var_source2 for variant_source.mmp t.id = "102a" t.name = "TC_variant_source_var1" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf -c default.tc_var1" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/variant_source" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/variant_source.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/inv_sourceTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source1Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/fixed_id.definitions", "$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [ "invariant_source_/armv5/udeb/inv_source.o", "invariant_source_/armv5/udeb/inv_source.o.d", "invariant_source_/armv5/urel/inv_source.o", "invariant_source_/armv5/urel/inv_source.o.d", "invariant_source_/winscw/udeb/inv_source.o", "invariant_source_/winscw/udeb/inv_source.o.d", "invariant_source_/winscw/urel/inv_source.o", "invariant_source_/winscw/urel/inv_source.o.d", "invariant_source_/tracecompile_invariant_source_exe_10000002.done", "variant_source_/armv5/udeb/var_source1.o", "variant_source_/armv5/udeb/var_source1.o.d", "variant_source_/armv5/udeb/var_source2.o", "variant_source_/armv5/udeb/var_source2.o.d", "variant_source_/armv5/urel/var_source1.o", "variant_source_/armv5/urel/var_source1.o.d", "variant_source_/armv5/urel/var_source2.o", "variant_source_/armv5/urel/var_source2.o.d", "variant_source_/winscw/udeb/var_source1.o", "variant_source_/winscw/udeb/var_source1.o.d", "variant_source_/winscw/udeb/var_source2.o", "variant_source_/winscw/udeb/var_source2.o.d", "variant_source_/winscw/urel/var_source1.o", "variant_source_/winscw/urel/var_source1.o.d", "variant_source_/winscw/urel/var_source2.o", "variant_source_/winscw/urel/var_source2.o.d", "variant_source_/tracecompile_variant_source_exe_10000003.done" ]) t.antitargets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h" ] t.addbuildantitargets( 'smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [ "variant_source_/armv5/udeb/var_source3.o", "variant_source_/armv5/urel/var_source3.o", "variant_source_/winscw/udeb/var_source3.o", "variant_source_/winscw/urel/var_source3.o" ]) t.run() # 2nd time build includes var_source1 and var_source3 for variant_source.mmp t = SmokeTest() t.id = "102b" t.name = "TC_variant_source_var2" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf -c default.tc_var2" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/variant_source" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/variant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/invariant_source.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/variant_source.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/inv_sourceTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source1Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [ "invariant_source_/armv5/udeb/inv_source.o", "invariant_source_/armv5/udeb/inv_source.o.d", "invariant_source_/armv5/urel/inv_source.o", "invariant_source_/armv5/urel/inv_source.o.d", "invariant_source_/winscw/udeb/inv_source.o", "invariant_source_/winscw/udeb/inv_source.o.d", "invariant_source_/winscw/urel/inv_source.o", "invariant_source_/winscw/urel/inv_source.o.d", "invariant_source_/tracecompile_invariant_source_exe_10000002.done", "variant_source_/armv5/udeb/var_source1.o", "variant_source_/armv5/udeb/var_source1.o.d", "variant_source_/armv5/udeb/var_source3.o", "variant_source_/armv5/udeb/var_source3.o.d", "variant_source_/armv5/urel/var_source1.o", "variant_source_/armv5/urel/var_source1.o.d", "variant_source_/armv5/urel/var_source3.o", "variant_source_/armv5/urel/var_source3.o.d", "variant_source_/winscw/udeb/var_source1.o", "variant_source_/winscw/udeb/var_source1.o.d", "variant_source_/winscw/udeb/var_source3.o", "variant_source_/winscw/udeb/var_source3.o.d", "variant_source_/winscw/urel/var_source1.o", "variant_source_/winscw/urel/var_source1.o.d", "variant_source_/winscw/urel/var_source3.o", "variant_source_/winscw/urel/var_source3.o.d", "variant_source_/tracecompile_variant_source_exe_10000003.done" ]) t.run() # Build multiple variants together, which involves different source files in one mmp # Raptor only call trace compiler once no matter how many variants # In this example, ".phone" 1 2 3 involve tc_a b c respectively, and all involve tc_main t = SmokeTest() t.id = "102c" t.name = "TC_multiple_variants" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf" + \ " -c armv5.phone1 -c armv5.phone2 -c armv5.phone3" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/multiple_variants" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5.phone1/udeb/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone1/urel/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone2/udeb/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone2/urel/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone3/udeb/tc_variants.exe", "$(EPOCROOT)/epoc32/release/armv5.phone3/urel/tc_variants.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_mainTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_aTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_bTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_cTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/tc_variants_0x10000004_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/tc_variants_0x10000004_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf', [ "tc_variants_/armv5.phone1/udeb/tc_main.o", "tc_variants_/armv5.phone1/udeb/tc_a.o", "tc_variants_/armv5.phone1/urel/tc_main.o", "tc_variants_/armv5.phone1/urel/tc_a.o", "tc_variants_/armv5.phone2/udeb/tc_main.o", "tc_variants_/armv5.phone2/udeb/tc_b.o", "tc_variants_/armv5.phone2/urel/tc_main.o", "tc_variants_/armv5.phone2/urel/tc_b.o", "tc_variants_/armv5.phone3/udeb/tc_main.o", "tc_variants_/armv5.phone3/udeb/tc_c.o", "tc_variants_/armv5.phone3/urel/tc_main.o", "tc_variants_/armv5.phone3/urel/tc_c.o", "tc_variants_/tracecompile_tc_variants_exe_10000004.done" ]) t.run() # 102d and 102e is to test a very rare situation, where one mmpfile includes 3 children mmpfiles, # which are guarded by macros. They share some source file, and two share the same UID3. # When build them together, Raptor should be able to distinguish them and run trace compiler # on each of them. t = SmokeTest() t.id = "102d" t.name = "TC_mum_children_mmps_build" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \ " -c armv5.tc_var1 -c armv5.tc_var2 -c armv5.tc_var3" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/child1.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child1.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/child1Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/commonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/child1_exe_0x11100001_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child1_exe_0x11100001_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [ "child1_/armv5/udeb/child1.o", "child1_/armv5/udeb/common.o", "child1_/armv5/urel/child1.o", "child1_/armv5/urel/common.o", "child1_/tracecompile_child1_exe_11100001.done", "child2_/armv5/udeb/child2.o", "child2_/armv5/udeb/common.o", "child2_/armv5/urel/child2.o", "child2_/armv5/urel/common.o", "child2_/tracecompile_child2_exe_11100002.done", "child3_/armv5/udeb/child3.o", "child3_/armv5/udeb/common.o", "child3_/armv5/urel/child3.o", "child3_/armv5/urel/common.o", "child3_/tracecompile_child3_exe_11100002.done" ]) t.warnings = 3 t.run() # Clean mmp A then build mmp B and C. As common.cpp is shared by A B and C, commonTraces.h would be # cleaned when cleaning mmp A. But as B and C aren't cleaned, Raptor wouldn't run trace compiler on # B and C, thus commonTraces.h wouldn't be generated again, so be missing for mmp B and C. # The solution is to use new trace path "traces/traces_<TARGET>_<TARGETTYPE>" instead of "traces" so shared # source has different copy of trace headers for different projects. t = SmokeTest() t.id = "102e" t.name = "TC_mum_children_mmps_clean" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" + \ " -c armv5.tc_var1 CLEAN && " + \ "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \ " --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" + \ " -c armv5.tc_var2 -c armv5.tc_var3" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h", "$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [ "child2_/armv5/udeb/child2.o", "child2_/armv5/udeb/common.o", "child2_/armv5/urel/child2.o", "child2_/armv5/urel/common.o", "child2_/tracecompile_child2_exe_11100002.done", "child3_/armv5/udeb/child3.o", "child3_/armv5/udeb/common.o", "child3_/armv5/urel/child3.o", "child3_/armv5/urel/common.o", "child3_/tracecompile_child3_exe_11100002.done" ]) t.warnings = 3 t.run() t.id = "102" t.name = "tracecompiler_variants" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.description = "Test the build, package and clean of Raptor built applications using the createsis FLM" t.name = "native_package_vanilla" t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/build_and_package.inf -c armv5 -c winscw" t.targets = [ "$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/include/HelloWorld.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/sis/helloworld_armv5.sisx", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/sis/helloworld_armv5_debug.sis", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/sis/helloworld_winscw.sisx", "$(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/sis/helloworld_winscw_debug.sis", "$(EPOCROOT)/epoc32/data/z/system/install/helloworld_stub.sis", "$(EPOCROOT)/epoc32/release/winscw/urel/z/system/install/helloworld_stub.sis" ] t.addbuildtargets('smoke_suite/test_resources/simple_gui/build_and_package.inf', [ "helloworld_exe/helloworld.mbm_bmconvcommands", "HelloWorld_exe/HelloWorld_HelloWorld.rsc.rpp", "HelloWorld_exe/HelloWorld_HelloWorld.rsc.d", "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_Application.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o.d", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o.d", "helloworld_exe/armv5/udeb/helloworld_udeb_objects.via", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o.d", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o.d", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o.d", "helloworld_exe/armv5/urel/helloworld_urel_objects.via", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/HelloWorld_Application.dep", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/udeb/HelloWorld_AppView.dep", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Document.dep", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o.d", "helloworld_exe/winscw/udeb/HelloWorld_Main.dep", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o.d", "helloworld_exe/winscw/udeb/helloworld_UID_.dep", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/udeb/helloworld_UID_.o.d", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/HelloWorld_Application.dep", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppUi.dep", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d", "helloworld_exe/winscw/urel/HelloWorld_AppView.dep", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o.d", "helloworld_exe/winscw/urel/HelloWorld_Document.dep", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o.d", "helloworld_exe/winscw/urel/HelloWorld_Main.dep", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o.d", "helloworld_exe/winscw/urel/helloworld_UID_.dep", "helloworld_exe/winscw/urel/helloworld_UID_.o", "helloworld_exe/winscw/urel/helloworld_UID_.o.d", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.d", "helloworld_armv5_debug_sis/armv5/udeb/armv5_udeb.pkg", "helloworld_armv5_debug_sis/armv5/udeb/helloworld_armv5_debug.sis", "helloworld_armv5_sisx/armv5/urel/armv5_urel.pkg", "helloworld_armv5_sisx/armv5/urel/helloworld_armv5.sis", "helloworld_winscw_debug_sis/winscw/udeb/winscw_udeb.pkg", "helloworld_winscw_debug_sis/winscw/udeb/helloworld_winscw_debug.sis", "helloworld_winscw_sisx/winscw/urel/winscw_urel.pkg", "helloworld_winscw_sisx/winscw/urel/helloworld_winscw.sis", "helloworld_stub_sis/armv5/urel/stub.pkg", "helloworld_stub_sis/armv5/urel/helloworld_stub.sis", "helloworld_stub_sis/winscw/urel/stub.pkg", "helloworld_stub_sis/winscw/urel/helloworld_stub.sis" ]) t.run() # back-up the targets to clean later - we want them as input for the next # test without having to re-build the component built_targets = t.targets[:] t.name = "native_package_custom" t.targets = [ "$(EPOCROOT)/epoc32/packaging/helloworld/helloworld_winscw_custom.sis", "$(EPOCROOT)/epoc32/packaging/helloworld/helloworld_armv5_custom.sis" ] t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/custom_package.inf -c armv5 -c winscw" t.run() # confirm clean does as it should, as we know that signsis operation can lead to read-only input files t.name = "native_package_clean" t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/build_and_package.inf -b $(SBS_HOME)/test/smoke_suite/test_resources/simple_gui/custom_package.inf -c armv5 -c winscw clean" t.antitargets = built_targets + t.targets t.targets = [] t.run() qmake_call = "$(EPOCROOT)/epoc32/tools/qt/qmake{ext} " + \ "-spec $(EPOCROOT)/epoc32/tools/qt/mkspecs/symbian-sbsv2 " + \ "QMAKE_INCDIR_QT=$(EPOCROOT)/epoc32/include/mw " + \ "QMAKE_MOC=$(EPOCROOT)/epoc32/tools/moc{ext} " + \ "QMAKE_UIC=$(EPOCROOT)/epoc32/tools/uic{ext} " + \ "QMAKE_RCC=$(EPOCROOT)/epoc32/tools/rcc{ext} " + \ "smoke_suite/test_resources/qt/lotto/LottoNumberPicker.pro " + \ "-o $(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/bld.inf" raptor_call = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/bld.inf -c arm.v5.urel.rvct4_0 -c winscw_urel" patch_bldinf= """cat <<__ENDOFPATCH__ >> $(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/bld.inf START EXTENSION utility.createsis OPTION PKG_FILE lottonumberpicker_template.pkg #ifdef WINSCW OPTION SIS_FILE lottonumberpicker_winscw.sis #else OPTION SIS_FILE lottonumberpicker_armv5.sis #endif OPTION TARGET_FILE lottonumberpicker.exe OPTION BUILD_TYPE urel END __ENDOFPATCH__ """ tool_ext = "" if t.onWindows: tool_ext = ".exe" t.name= "qt_package" t.usebash = True t.command = "{qmake} && {patch} {raptor}".format(qmake=qmake_call.format(ext=tool_ext), patch=patch_bldinf, raptor=raptor_call) t.antitargets = [] t.targets = [ "$(EPOCROOT)/epoc32/data/z/private/10003a3f/import/apps/lottonumberpicker_reg.rsc", "$(EPOCROOT)/epoc32/data/z/resource/apps/lottonumberpicker.rsc", "$(EPOCROOT)/epoc32/include/lottonumberpicker.rsg", "$(EPOCROOT)/epoc32/release/armv5/urel/lottonumberpicker.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/lottonumberpicker.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/lottonumberpicker.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/lottonumberpicker.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/import/apps/lottonumberpicker_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/lottonumberpicker.rsc", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/.make.cache", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/LottoNumberPicker_0x20029F39.mmp", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/Makefile", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/bld.inf", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker.loc", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker.rss", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker_installer.pkg", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker_reg.rss", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker_template.pkg", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/moc_lottonumberpicker.cpp", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/moc_lottonumberpicker.cpp", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/ui_lottonumberpicker.h", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker_armv5.sis", "$(SBS_HOME)/test/smoke_suite/test_resources/qt/lotto/lottonumberpicker_winscw.sis", ] t.addbuildtargets('smoke_suite/test_resources/qt/lotto/bld.inf', [ "lottonumberpicker_exe/armv5/urel/integerpair.o", "lottonumberpicker_exe/armv5/urel/integerpair.o.d", "lottonumberpicker_exe/armv5/urel/lottonumberpicker.o", "lottonumberpicker_exe/armv5/urel/lottonumberpicker.o.d", "lottonumberpicker_exe/armv5/urel/lottonumberpicker_urel_objects.via", "lottonumberpicker_exe/armv5/urel/main.o", "lottonumberpicker_exe/armv5/urel/main.o.d", "lottonumberpicker_exe/armv5/urel/moc_lottonumberpicker.o", "lottonumberpicker_exe/armv5/urel/moc_lottonumberpicker.o.d", "lottonumberpicker_exe/lottonumberpicker_lottonumberpicker.rsc", "lottonumberpicker_exe/lottonumberpicker_lottonumberpicker.rsc.d", "lottonumberpicker_exe/lottonumberpicker_lottonumberpicker.rsc.rpp", "lottonumberpicker_exe/winscw/urel/integerpair.dep", "lottonumberpicker_exe/winscw/urel/integerpair.o", "lottonumberpicker_exe/winscw/urel/integerpair.o.d", "lottonumberpicker_exe/winscw/urel/lottonumberpicker.UID.CPP", "lottonumberpicker_exe/winscw/urel/lottonumberpicker.dep", "lottonumberpicker_exe/winscw/urel/lottonumberpicker.o", "lottonumberpicker_exe/winscw/urel/lottonumberpicker.o.d", "lottonumberpicker_exe/winscw/urel/lottonumberpicker_UID_.dep", "lottonumberpicker_exe/winscw/urel/lottonumberpicker_UID_.o", "lottonumberpicker_exe/winscw/urel/lottonumberpicker_UID_.o.d", "lottonumberpicker_exe/winscw/urel/main.dep", "lottonumberpicker_exe/winscw/urel/main.o", "lottonumberpicker_exe/winscw/urel/main.o.d", "lottonumberpicker_exe/winscw/urel/moc_lottonumberpicker.dep", "lottonumberpicker_exe/winscw/urel/moc_lottonumberpicker.o", "lottonumberpicker_exe/winscw/urel/moc_lottonumberpicker.o.d", "lottonumberpicker_reg_exe/lottonumberpicker_reg_lottonumberpicker_reg.rsc", "lottonumberpicker_reg_exe/lottonumberpicker_reg_lottonumberpicker_reg.rsc.d", "lottonumberpicker_reg_exe/lottonumberpicker_reg_lottonumberpicker_reg.rsc.rpp", "lottonumberpicker_armv5_sis/armv5/urel/lottonumberpicker_template.pkg", "lottonumberpicker_armv5_sis/armv5/urel/lottonumberpicker_armv5.sis", "lottonumberpicker_winscw_sis/winscw/urel/lottonumberpicker_template.pkg", "lottonumberpicker_winscw_sis/winscw/urel/lottonumberpicker_winscw.sis" ]) t.run() t.clean() t.name="packaging" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.description = "Testcases (ID 0101a - 0101d) test trace compiler" # General test for trace compiler, which generates # 1. trace headers like <source>Traces.h # 2. fixed_id.definitions # 3. dictionary files like <project name>_<UID>_Dictionary.xml # 4. trace definitions like <project name>_<UID>_TraceDefinitions.h t.id = "101a" t.name = "TC_general" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions", "$(EPOCROOT)/epoc32/ost_dictionaries/testTC_0x1000008d_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf', [ "testTC_dll/armv5/udeb/wlanhwinit.o", "testTC_dll/armv5/udeb/wlanhwinit.o.d", "testTC_dll/armv5/udeb/wlanhwinitmain.o", "testTC_dll/armv5/udeb/wlanhwinitmain.o.d", "testTC_dll/armv5/udeb/wlanhwinitpermparser.o", "testTC_dll/armv5/udeb/wlanhwinitpermparser.o.d", "testTC_dll/armv5/udeb/testTC_udeb_objects.via", "testTC_dll/armv5/udeb/testTC{000a0000}.def", "testTC_dll/armv5/urel/wlanhwinit.o", "testTC_dll/armv5/urel/wlanhwinit.o.d", "testTC_dll/armv5/urel/wlanhwinitmain.o", "testTC_dll/armv5/urel/wlanhwinitmain.o.d", "testTC_dll/armv5/urel/wlanhwinitpermparser.o", "testTC_dll/armv5/urel/wlanhwinitpermparser.o.d", "testTC_dll/armv5/urel/testTC_urel_objects.via", "testTC_dll/armv5/urel/testTC{000a0000}.def", "testTC_dll/tracecompile_testTC_dll_1000008d.done" ]) t.run() # General CLEAN test for trace compiler outputs t.id = "101b" t.name = "TC_general_CLEAN" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler CLEAN" t.targets = [] t.antitargets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h" ] t.addbuildantitargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', ["testtc_dll/tracecompile_testTC_dll_1000008d.done"]) t.run() t.id = "101c" t.name = "TC_bv_path" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf -c armv5.tracecompiler" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe.map", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/HelloWorldTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/fixed_id.definitions", "$(EPOCROOT)/epoc32/ost_dictionaries/HelloWorld_0xe78a5aa3_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/HelloWorld_0xe78a5aa3_TraceDefinitions.h" ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf', [ "HelloWorld_exe/armv5/udeb/HelloWorld.o", "HelloWorld_exe/armv5/udeb/HelloWorld.o.d", "HelloWorld_exe/armv5/udeb/HelloWorld_udeb_objects.via", "HelloWorld_exe/armv5/urel/HelloWorld.o", "HelloWorld_exe/armv5/urel/HelloWorld.o.d", "HelloWorld_exe/armv5/urel/HelloWorld_urel_objects.via", "HelloWorld_exe/tracecompile_HelloWorld_exe_e78a5aa3.done" ]) t.antitargets = [] t.run() # 101d-101f test trace compiler auto mechanism, which is used to avoid wasting time on source # containing no osttraces. # Trace compiler only runs when there are osttraces code in source. Raptor decides this by # checking whether there is a "traces" or "traces_<prj_name>" folder in USERINCLUDE in a mmp file. t.id = "101d" t.name = "TC_autorun1" # Run - USERINCLUDE ../traces_autorun1 t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun1.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", "test_/tracecompile_test_exe_00000001.done" ]) t.antitargets = [] # Currently unnecessary, but helps the code be robust t.run() t.id = "101e" t.name = "TC_autorun2" # No run - USERINCLUDE ./tracesnotmatch t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun2.mmp CLEAN " + \ "&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun2.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", ]) t.antitargets = [] # Currently unnecessary, but helps the code be robust t.addbuildantitargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', ["test_/tracecompile_test_exe_00000001.done"]) t.run() t.id = "101f" t.name = "TC_autorun3" # No run - no UID t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun3.mmp CLEAN " + \ "&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun3.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", ]) t.antitargets = [] t.addbuildantitargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', ["test_/tracecompile_test_exe_00000001.done"]) t.run() # Test trace compiler doesn't run when it is switched off # Trace compiler switch is off by default. To turn it on use variant ".tracecompiler". t.id = "101g" t.name = "TC_switch_off" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun1.mmp CLEAN " + \ "&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5 -p autorun1.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', ["test_/armv5/udeb/test.o", "test_/armv5/urel/test.o"]) t.antitargets = [] t.addbuildantitargets( 'smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', ["test_/tracecompile_test_exe_00000001.done"]) t.run() t.id = "101" t.name = "tracecompiler_general" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True command = "sbs -b smoke_suite/test_resources/simple_dll/pbld.inf -c {0} -f -" maintargets = [ "$(EPOCROOT)/epoc32/release/{0}/udeb/createstaticpdll.dll.sym", "$(EPOCROOT)/epoc32/release/{0}/urel/createstaticpdll.dll.sym", "$(EPOCROOT)/epoc32/release/{0}/udeb/createstaticpdll.dll", "$(EPOCROOT)/epoc32/release/{0}/urel/createstaticpdll.dll" ] armv5targets = [ "$(EPOCROOT)/epoc32/release/{0}/lib/createstaticpdll.dso", "$(EPOCROOT)/epoc32/release/{0}/lib/createstaticpdll{000a0000}.dso" ] buildtargets = [ "createstaticpdll_dll/{0}/udeb/CreateStaticDLL.o", "createstaticpdll_dll/{0}/urel/CreateStaticDLL.o" ] mustmatch = [ r".*\busrt\d_\d\.lib\b.*", r".*\bscppnwdl\.dso\b.*" ] mustnotmatch = [ ".*ksrt.*" ] t.name = "pdll_armv5_rvct" t.command = command.format("armv5") t.targets = [p.replace("{0}","armv5") for p in maintargets + armv5targets][:] # Shallow, as we optionally extend later and then re-use t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', [p.format("armv5") for p in buildtargets]) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.name = "pdll_armv5_clean" t.command = command.format("armv5") + " clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.name = "pdll_armv5_gcce" t.command = command.format("gcce_armv5") t.targets = [p.replace("{0}","armv5") for p in maintargets + armv5targets] t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', [p.format("armv5") for p in buildtargets]) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.name = "pdll_armv5_gcce_clean" t.command = command.format("gcce_armv5") + " clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.name = "pdll_armv7_rvct" t.command = command.format("armv7") t.targets = [p.replace("{0}","armv7") for p in maintargets][:] # Shallow, as we optionally extend later and then re-use t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', [p.format("armv7") for p in buildtargets]) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.name = "pdll_armv7_clean" t.command = command.format("armv7") + " clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.name = "pdll_armv7_gcce" t.command = command.format("arm.v7.udeb.gcce4_5_1 -c arm.v7.urel.gcce4_3_2") t.targets = [p.replace("{0}","armv7") for p in maintargets] t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', [p.format("armv7") for p in buildtargets]) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.name = "pdll_arm" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True # create some empty source files just to test createvmaps command file handling: test_cpp_files = [] for i in range(0, 16): tf = "smoke_suite/test_resources/bv/variant1/test_createvmap{0:02}.cpp".format( i) f = open(tf, "w+") f.close() test_cpp_files.append(tf) preBuiltTargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/dummy.lib", "$(EPOCROOT)/epoc32/release/armv5/urel/dummy.lib", "$(EPOCROOT)/epoc32/release/armv5/udeb/debfake.lib", "$(EPOCROOT)/epoc32/release/armv5/urel/relfake.lib" ] invariantTargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant{000a0000}.dso" ] variantTargetsDefaultTree = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe.sym" ] variantTargetsProductTrees = [ "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.vmap", ] variantTargetsGeneric = [ "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var1.rsc", "$(EPOCROOT)/epoc32/include/dummy_var1.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var2.rsc", "$(EPOCROOT)/epoc32/include/dummy_var2.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var3.rsc", "$(EPOCROOT)/epoc32/include/dummy_var3.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_inv.rsc", "$(EPOCROOT)/epoc32/include/dummy_inv.rsg", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2{000a0000}.dso" ] invariantBuildTargets = [ "createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o", "createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o.d", "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant_udeb_objects.via", "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.def", "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.dso", "createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o", "createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o.d", "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant_urel_objects.via", "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.def", "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.dso", "dummy_inv_dll/dummy_inv_dummy.rsc.rpp", "dummy_inv_dll/dummy_inv_dummy.rsc.d" ] variantBuildTargetsDefaultTree = [ "createstaticdll_variant1_dll/armv5/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5/urel/createexe_variant3_urel_objects.via" ] variantBuildTargetsProductTrees = [ "createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.one/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.one/urel/createexe_variant3_urel_objects.via", "createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.two/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.two/urel/createexe_variant3_urel_objects.via", "createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.three/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.three/urel/createexe_variant3_urel_objects.via" ] variantBuildTargetsGeneric = [ "dummy_var1_dll/dummy_var1_dummy.rsc.rpp", "dummy_var1_dll/dummy_var1_dummy.rsc.d", "dummy_var2_dll/dummy_var2_dummy.rsc.rpp", "dummy_var2_dll/dummy_var2_dummy.rsc.d", "dummy_var3_exe/dummy_var3_dummy.rsc.rpp", "dummy_var3_exe/dummy_var3_dummy.rsc.d" ] bldinf = 'smoke_suite/test_resources/bv/bld.inf' sbscommand = "sbs -b {0} -c armv5 -c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 -f- --configpath=test/smoke_suite/test_resources/bv/config/variants".format( bldinf) t.description = """Build variant and invariant components. In this default mode of operation, all components build for the non-product armv5 config whereas only variant components build for the armv5.* bv configs.""" t.name = "featurevariant_build" t.command = "{0} && cat $(EPOCROOT)/epoc32/build/{1}/{2}".format( sbscommand, BldInfFile.outputPathFragment(bldinf), "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1.vmap.cmdfile" ) t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsDefaultTree + variantTargetsProductTrees t.addbuildtargets( bldinf, invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsDefaultTree + variantBuildTargetsProductTrees) # Test that static libs are linked from the invariant place. t.mustmatch = [ "armlink.*epoc32/release/armv5/urel/bv_static_lib.lib", "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib", "\s*-s.*variant1/CreateStaticDLL_variant1.cpp", "\s*-s.*variant1/test_createvmap01.cpp", "\s*-s.*variant1/test_createvmap02.cpp", "\s*-s.*variant1/test_createvmap03.cpp", "\s*-s.*variant1/test_createvmap04.cpp", "\s*-s.*variant1/test_createvmap05.cpp", "\s*-s.*variant1/test_createvmap06.cpp", "\s*-s.*variant1/test_createvmap07.cpp", "\s*-s.*variant1/test_createvmap08.cpp", "\s*-s.*variant1/test_createvmap09.cpp", "\s*-s.*variant1/test_createvmap10.cpp", "\s*-s.*variant1/test_createvmap11.cpp", "\s*-s.*variant1/test_createvmap12.cpp", "\s*-s.*variant1/test_createvmap13.cpp", "\s*-s.*variant1/test_createvmap14.cpp", "\s*-s.*variant1/test_createvmap15.cpp", "\s*-s.*variant1/CreateStaticDLL_variant1.mmp" ] t.run() t.description = """Build variant and invariant components using an os_properties.xml that sets FEATUREVARIANTSAFE=1. With FEATUREVARIANTSAFE only invariant components build for the non-product armv5 config and only variant components build for the armv5.* bv configs.""" t.name = "featurevariant_build_featurevariantsafe" t.command = sbscommand + " --configpath=test/smoke_suite/test_resources/bv/config/properties" t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsProductTrees t.addbuildtargets( 'smoke_suite/test_resources/bv/bld.inf', invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsProductTrees) t.antitargets = variantTargetsDefaultTree t.addbuildantitargets('smoke_suite/test_resources/bv/bld.inf', variantBuildTargetsDefaultTree) # Test that static libs are linked from the invariant place. t.mustmatch = [ "armlink.*epoc32/release/armv5/urel/bv_static_lib.lib", "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib" ] t.run() t.description = """Check that the .vmap files appear in the WHAT output""" t.name = "featurevariant_vmap_in_whatlog" t.command = sbscommand + " --what" t.targets = [] t.antitargets = [] # Each product produces a .vmap file per binary t.mustmatch = [ "epoc32.release.armv5\.one.udeb.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.one.udeb.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.one.udeb.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.one.urel.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.one.urel.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.one.urel.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.two.udeb.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.two.udeb.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.two.udeb.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.two.urel.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.two.urel.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.two.urel.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.three.udeb.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.three.udeb.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.three.udeb.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.three.urel.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.three.urel.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.three.urel.createexe_variant3\.exe\.vmap", ] t.run() # tests for the createvmap script createvmap = "python $(SBS_HOME)/bin/createvmap.py" vmapfile = "$(EPOCROOT)/epoc32/build/test.vmap" vmap = " -o " + vmapfile if 'SBS_BVCPP' in os.environ: bvcpp = " -c " + os.environ['SBS_BVCPP'].replace('\\', '/') else: bvcpp = " -c $(SBS_HOME)/$(HOSTPLATFORM_DIR)/bv/bin/cpp" if t.onWindows: bvcpp += ".exe" bvdata = "$(SBS_HOME)/test/smoke_suite/test_resources/bv" preinc = " -p " + bvdata + "/var1/var1.h" listA = " -f " + bvdata + "/listA.txt" listB = " -f " + bvdata + "/listB.txt" listC = " -f " + bvdata + "/listC.txt" srcWith = " -s " + bvdata + "/with_macros.cpp" srcWithout = " -s " + bvdata + "/without_macros.cpp" badSrc = " -s " + bvdata + "/with_errors.cpp" t.name = "createvmap exits with an error" t.usebash = True t.command = createvmap t.returncode = 1 t.targets = [] t.mustmatch = [] t.run() t.name = "createvmap shows cpp errors" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listA + badSrc t.returncode = 1 t.targets = [] t.mustmatch = ["#error this code is broken"] t.run() t.name = "createvmap errors on missing feature list" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listC + srcWith t.returncode = 1 t.targets = [] t.mustmatch = ["The feature list '.*listC.txt' does not exist"] t.run() t.name = "createvmap warns on featureless code" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listA + srcWithout t.returncode = 0 t.targets = [vmapfile] t.mustmatch = ["warning: No feature macros were found in the source"] t.run() t.name = "createvmap creates the right vmap file" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listA + listB + srcWith + srcWithout + " && cat " + vmapfile t.returncode = 0 t.targets = [vmapfile] t.mustmatch = ["A_1=defined", "B_1000=undefined"] t.run() # clean up test cpp files from the first test (do it noow after they are no longer needed) for tf in test_cpp_files: os.unlink(tf) # print the overall result t.name = "featurevariants" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.description = "Testcases (ID 0101a - 0101d) test trace compiler" # General test for trace compiler, which generates # 1. trace headers like <source>Traces.h # 2. fixed_id.definitions # 3. dictionary files like <project name>_<UID>_Dictionary.xml # 4. trace definitions like <project name>_<UID>_TraceDefinitions.h t.id = "101a" t.name = "TC_general" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions", "$(EPOCROOT)/epoc32/ost_dictionaries/testTC_0x1000008d_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf', [ "testTC_dll/armv5/udeb/wlanhwinit.o", "testTC_dll/armv5/udeb/wlanhwinit.o.d", "testTC_dll/armv5/udeb/wlanhwinitmain.o", "testTC_dll/armv5/udeb/wlanhwinitmain.o.d", "testTC_dll/armv5/udeb/wlanhwinitpermparser.o", "testTC_dll/armv5/udeb/wlanhwinitpermparser.o.d", "testTC_dll/armv5/udeb/testTC_udeb_objects.via", "testTC_dll/armv5/udeb/testTC{000a0000}.def", "testTC_dll/armv5/urel/wlanhwinit.o", "testTC_dll/armv5/urel/wlanhwinit.o.d", "testTC_dll/armv5/urel/wlanhwinitmain.o", "testTC_dll/armv5/urel/wlanhwinitmain.o.d", "testTC_dll/armv5/urel/wlanhwinitpermparser.o", "testTC_dll/armv5/urel/wlanhwinitpermparser.o.d", "testTC_dll/armv5/urel/testTC_urel_objects.via", "testTC_dll/armv5/urel/testTC{000a0000}.def", "testTC_dll/tracecompile_testTC_dll_1000008d.done" ]) t.run() # General CLEAN test for trace compiler outputs t.id = "101b" t.name = "TC_general_CLEAN" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler CLEAN" t.targets = [] t.antitargets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h" ] t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "testtc_dll/tracecompile_testTC_dll_1000008d.done" ]) t.run() t.id = "101c" t.name = "TC_bv_path" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf -c armv5.tracecompiler" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe.map", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/HelloWorldTraces.h", "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/fixed_id.definitions", "$(EPOCROOT)/epoc32/ost_dictionaries/HelloWorld_0xe78a5aa3_Dictionary.xml", "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/HelloWorld_0xe78a5aa3_TraceDefinitions.h" ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf', [ "HelloWorld_exe/armv5/udeb/HelloWorld.o", "HelloWorld_exe/armv5/udeb/HelloWorld.o.d", "HelloWorld_exe/armv5/udeb/HelloWorld_udeb_objects.via", "HelloWorld_exe/armv5/urel/HelloWorld.o", "HelloWorld_exe/armv5/urel/HelloWorld.o.d", "HelloWorld_exe/armv5/urel/HelloWorld_urel_objects.via", "HelloWorld_exe/tracecompile_HelloWorld_exe_e78a5aa3.done" ]) t.antitargets = [] t.run() # 101d-101f test trace compiler auto mechanism, which is used to avoid wasting time on source # containing no osttraces. # Trace compiler only runs when there are osttraces code in source. Raptor decides this by # checking whether there is a "traces" or "traces_<prj_name>" folder in USERINCLUDE in a mmp file. t.id = "101d" t.name = "TC_autorun1" # Run - USERINCLUDE ../traces_autorun1 t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun1.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", "test_/tracecompile_test_exe_00000001.done" ]) t.antitargets = [] # Currently unnecessary, but helps the code be robust t.run() t.id = "101e" t.name = "TC_autorun2" # No run - USERINCLUDE ./tracesnotmatch t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun2.mmp CLEAN " + \ "&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun2.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", ]) t.antitargets = [] # Currently unnecessary, but helps the code be robust t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/tracecompile_test_exe_00000001.done" ]) t.run() t.id = "101f" t.name = "TC_autorun3" # No run - no UID t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun3.mmp CLEAN " + \ "&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun3.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", ]) t.antitargets = [] t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/tracecompile_test_exe_00000001.done" ]) t.run() # Test trace compiler doesn't run when it is switched off # Trace compiler switch is off by default. To turn it on use variant ".tracecompiler". t.id = "101g" t.name = "TC_switch_off" t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \ " -p autorun1.mmp CLEAN " + \ "&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5 -p autorun1.mmp" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", ] t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o" ]) t.antitargets = [] t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [ "test_/tracecompile_test_exe_00000001.done" ]) t.run() t.id = "101" t.name = "tracecompiler_general" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c {0} -f-" maintargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] abiv1libtargets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.lib" ] buildtargets = [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ] mustmatch = [r".*\busrt\d_\d\.lib\b.*", r".*\bscppnwdl\.dso\b.*"] mustnotmatch = [".*ksrt.*"] # Note that ABIv1 import libraries are only generated for RVCT-based armv5 # builds on Windows if the kit asks for it (off by default) t.name = "dll_armv5_rvct" t.command = command.format("armv5") t.targets = maintargets[:] # Shallow, as we optionally extend later and then re-use t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', buildtargets) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.name = "dll_armv5_rvct_abiv1" t.command += " --configpath=test/config/abiv1kit" t.targets.extend(abiv1libtargets) t.run("windows") t.name = "dll_armv5_clean" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5 clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.name = "dll_armv5_gcce" t.command = command.format("gcce_armv5") t.targets = maintargets t.antitargets = abiv1libtargets t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', buildtargets) t.mustmatch = mustmatch t.mustmatch.append("-funsigned-bitfields") t.mustnotmatch = mustnotmatch t.run() t.name = "dll_armv5" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True # Unordered layer logging tests unorderedcommand = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_simple.xml' unorderedtargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe.map" ] unorderedbuildtargets = [ "{COMPONENT}_/armv5/udeb/simple.o", "{COMPONENT}_/armv5/urel/simple.o", "{COMPONENT}_/winscw/udeb/simple.o", "{COMPONENT}_/winscw/udeb/{COMPONENT}_UID_.o", "{COMPONENT}_/winscw/udeb/{COMPONENT}.UID.CPP", "{COMPONENT}_/winscw/urel/simple.o", "{COMPONENT}_/winscw/urel/{COMPONENT}_UID_.o", "{COMPONENT}_/winscw/urel/{COMPONENT}.UID.CPP" ] t.name = "sysdef_layers" t.description = "Test system definition building and layer logging" t.command = unorderedcommand t.targets = unorderedtargets t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple1/bld.inf', [x.format(COMPONENT="simple1") for x in unorderedbuildtargets]) t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple2/bld.inf', [x.format(COMPONENT="simple2") for x in unorderedbuildtargets]) t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple3/bld.inf', [x.format(COMPONENT="simple3") for x in unorderedbuildtargets]) t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple4/bld.inf', [x.format(COMPONENT="simple4") for x in unorderedbuildtargets]) t.countmatch = [ ["<recipe .*layer='layer1' .*>", 24], ["<recipe .*layer='layer2' .*>", 24] ] t.run() # System definition layer test with PP on t.name = "sysdef_layers_pp" t.description = "Test system definition layer building and logging with parallel processing on" t.command = unorderedcommand + " --pp on" t.countmatch = [ ["<recipe .*layer='layer1' .*>", 24], ["<recipe .*layer='layer2' .*>", 24] ] t.run() # Ordered layer building and logging tests orderedcommand = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml ' + \ '-l "Metadata Export" -l "Build Generated Source" -l "Component with Layer Dependencies" -o' t.name = "sysdef_layers_ordered" t.description = "Test system definition ordered layer building and logging" t.command = orderedcommand t.targets = [ "$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.inf", "$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.mmh", "$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/data/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/include/HelloWorld.rsg", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/HelloWorld.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/HelloWorld_reg.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/HelloWorld.rsc", ] t.addbuildtargets('smoke_suite/test_resources/sysdef/build_gen_source/bld.inf', [ "HelloWorld_/HelloWorld_HelloWorld.rsc.rpp", "HelloWorld_/HelloWorld_HelloWorld.rsc", "HelloWorld_/HelloWorld_HelloWorld.rsc.d" ]) t.addbuildtargets('smoke_suite/test_resources/sysdef/dependent/bld.inf', [ "helloworld_exe/armv5/udeb/HelloWorld_Application.o", "helloworld_exe/armv5/udeb/HelloWorld_AppUi.o", "helloworld_exe/armv5/udeb/HelloWorld_AppView.o", "helloworld_exe/armv5/udeb/HelloWorld_Document.o", "helloworld_exe/armv5/udeb/HelloWorld_Main.o", "helloworld_exe/armv5/urel/HelloWorld_Application.o", "helloworld_exe/armv5/urel/HelloWorld_AppUi.o", "helloworld_exe/armv5/urel/HelloWorld_AppView.o", "helloworld_exe/armv5/urel/HelloWorld_Document.o", "helloworld_exe/armv5/urel/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/HelloWorld_Application.o", "helloworld_exe/winscw/udeb/HelloWorld_AppUi.o", "helloworld_exe/winscw/udeb/HelloWorld_AppView.o", "helloworld_exe/winscw/udeb/HelloWorld_Document.o", "helloworld_exe/winscw/udeb/HelloWorld_Main.o", "helloworld_exe/winscw/udeb/helloworld.UID.CPP", "helloworld_exe/winscw/udeb/helloworld_UID_.o", "helloworld_exe/winscw/urel/HelloWorld_Application.o", "helloworld_exe/winscw/urel/HelloWorld_AppUi.o", "helloworld_exe/winscw/urel/HelloWorld_AppView.o", "helloworld_exe/winscw/urel/HelloWorld_Document.o", "helloworld_exe/winscw/urel/HelloWorld_Main.o", "helloworld_exe/winscw/urel/helloworld.UID.CPP", "helloworld_exe/winscw/urel/helloworld_UID_.o", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.rpp", "HelloWorld_reg_exe/HelloWorld_reg_HelloWorld_reg.rsc.d" ]) t.countmatch = [ ["<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 33], ["<recipe .*layer='Build Generated Source' component='build generated source'.*>", 3] ] t.run() t.name = "sysdef_layers_ordered_pp" t.description = "Test system definition ordered layer building and logging with parallel processing on" t.command = orderedcommand + " --pp on" t.run() # package definition building and logging tests packagecommand = 'sbs -f- -s smoke_suite/test_resources/sysdef/package_definition.xml' packagetargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/simple4.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/simple4.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple1.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple2.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple3.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/simple4.exe.map" ] t.name = "sysdef_layers_pkgdef" t.description = "Test package definition building and layer logging" t.command = packagecommand t.targets = packagetargets t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple1/bld.inf', [x.format(COMPONENT="simple1") for x in unorderedbuildtargets]) t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple2/bld.inf', [x.format(COMPONENT="simple2") for x in unorderedbuildtargets]) t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple3/bld.inf', [x.format(COMPONENT="simple3") for x in unorderedbuildtargets]) t.addbuildtargets('smoke_suite/test_resources/sysdef/simple/simple4/bld.inf', [x.format(COMPONENT="simple4") for x in unorderedbuildtargets]) t.countmatch = [ ["<recipe .*layer='package1' .*>", 24], ["<recipe .*layer='package2' .*>", 24] ] t.run() t.name = "sysdef_layers_pkgdef_pp" t.description = "Test package definition building and layer logging with parallel processing on" t.command = packagecommand + " --pp on" t.run() t.id = "48" t.name = "sysdef_layers" return t
def run(): t = AntiTargetSmokeTest() t.name = "delete_on_failed_compile" t.description = "Test that object files are not present following a forced failed compile." t.usebash = True base_command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 -k" # Ensure everything is reallyclean before the test t.name = "delete_on_failed_compile_reallyclean_01" t.returncode = 0 t.antitargets = [ ] t.command = base_command + " reallyclean" t.run() # Object files should *not* be present after this forced failed compile t.name = "delete_on_failed_compile_build" t.errors = 1 t.returncode = 1 # None of these files should be present t.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/udeb/test1.o", "test_/armv5/udeb/test2.o", "test_/armv5/udeb/test3.o", "test_/armv5/udeb/test4.o", "test_/armv5/udeb/test5.o", "test_/armv5/udeb/test6.o", "test_/armv5/urel/test.o", "test_/armv5/urel/test1.o", "test_/armv5/urel/test2.o", "test_/armv5/urel/test3.o", "test_/armv5/urel/test4.o", "test_/armv5/urel/test5.o", "test_/armv5/urel/test6.o" ]) sbshome = os.environ["SBS_HOME"].replace("\\","/").rstrip("/") t.command = base_command.replace("armv5", "armv5.fake_compiler") + \ " --configpath={0}/test/smoke_suite/test_resources/simple/compilervariants".format(sbshome) t.run() t.name = "delete_on_failed_compile_reallyclean_02" t.errors = 0 t.returncode = 0 t.antitargets = [] # Remove the list of anti-targets t.command = base_command + " reallyclean" t.run() # Use a redefined make_engine variant - object files *should* be present t.name = "delete_on_failed_compile_build_redefined_make_engine" t.errors = 1 t.returncode = 1 t.antitargets = [] # Remove the list of anti-targets # All of these files should be present t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/udeb/test1.o", "test_/armv5/udeb/test2.o", "test_/armv5/udeb/test3.o", "test_/armv5/udeb/test4.o", "test_/armv5/udeb/test5.o", "test_/armv5/udeb/test6.o", "test_/armv5/urel/test.o", "test_/armv5/urel/test1.o", "test_/armv5/urel/test2.o", "test_/armv5/urel/test3.o", "test_/armv5/urel/test4.o", "test_/armv5/urel/test5.o", "test_/armv5/urel/test6.o" ]) t.command = base_command.replace("armv5", "armv5.fake_compiler") + " -e make_test " \ + " --configpath={0}/test/smoke_suite/test_resources/simple/compilervariants ".format(sbshome) \ + " --configpath={0}/test/smoke_suite/test_resources/simple/makevariants".format(sbshome) t.run() t.name = "delete_on_failed_compile_reallyclean_03" t.errors = 0 t.returncode = 0 t.antitargets = [] # Remove the list of anti-targets t.targets = [] # Remove the list of targets t.command = base_command + " reallyclean" t.run() t.name = "delete_on_failed_compile" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c %s -f-" maintargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll" ] abiv1libtargets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.lib", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.lib" ] buildtargets = [ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o", "createstaticdll_dll/armv5/urel/CreateStaticDLL.o" ] mustmatch = [ r".*\busrt\d_\d\.lib\b.*", r".*\bscppnwdl\.dso\b.*" ] mustnotmatch = [ ".*ksrt.*" ] # Note that ABIv1 import libraries are only generated for RVCT-based armv5 # builds on Windows if the kit asks for it (off by default) t.id = "0009a" t.name = "dll_armv5_rvct" t.command = command % "armv5" t.targets = maintargets[:] # Shallow, as we optionally extend later and then re-use t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', buildtargets) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.id = "0009b" t.name = "dll_armv5_rvct_abiv1" t.command += " --configpath=test/config/abiv1kit" t.targets.extend(abiv1libtargets) t.run("windows") t.id = "0009c" t.name = "dll_armv5_clean" t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5 clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.id = "0009d" t.name = "dll_armv5_gcce" t.command = command % "gcce_armv5" t.targets = maintargets t.antitargets = abiv1libtargets t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', buildtargets) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.id = "9" t.name = "dll_armv5" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True # create some empty source files just to test createvmaps command file handling: test_cpp_files = [] for i in range(0,16): tf = "smoke_suite/test_resources/bv/variant1/test_createvmap{0:02}.cpp".format(i) f = open(tf,"w+") f.close() test_cpp_files.append(tf) preBuiltTargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/dummy.lib", "$(EPOCROOT)/epoc32/release/armv5/urel/dummy.lib", "$(EPOCROOT)/epoc32/release/armv5/udeb/debfake.lib", "$(EPOCROOT)/epoc32/release/armv5/urel/relfake.lib" ] invariantTargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant{000a0000}.dso" ] variantTargetsDefaultTree = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe.sym" ] variantTargetsProductTrees = [ "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.map", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.vmap", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.map", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.sym", "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.vmap", ] variantTargetsGeneric = [ "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var1.rsc", "$(EPOCROOT)/epoc32/include/dummy_var1.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var2.rsc", "$(EPOCROOT)/epoc32/include/dummy_var2.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var3.rsc", "$(EPOCROOT)/epoc32/include/dummy_var3.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_inv.rsc", "$(EPOCROOT)/epoc32/include/dummy_inv.rsg", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2{000a0000}.dso" ] invariantBuildTargets = [ "createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o", "createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o.d", "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant_udeb_objects.via", "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.def", "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.dso", "createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o", "createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o.d", "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant_urel_objects.via", "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.def", "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.dso", "dummy_inv_dll/dummy_inv_dummy.rsc.rpp", "dummy_inv_dll/dummy_inv_dummy.rsc.d" ] variantBuildTargetsDefaultTree = [ "createstaticdll_variant1_dll/armv5/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5/urel/createexe_variant3_urel_objects.via" ] variantBuildTargetsProductTrees = [ "createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.one/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.one/urel/createexe_variant3_urel_objects.via", "createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.two/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.two/urel/createexe_variant3_urel_objects.via", "createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1_udeb_objects.via", "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o", "createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o.d", "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1_urel_objects.via", "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.def", "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.dso", "createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2_udeb_objects.via", "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.dso", "createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o", "createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o.d", "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2_urel_objects.via", "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.def", "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.dso", "createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.three/udeb/createexe_variant3_udeb_objects.via", "createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o", "createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o.d", "createexe_variant3_exe/armv5.three/urel/createexe_variant3_urel_objects.via" ] variantBuildTargetsGeneric = [ "dummy_var1_dll/dummy_var1_dummy.rsc.rpp", "dummy_var1_dll/dummy_var1_dummy.rsc.d", "dummy_var2_dll/dummy_var2_dummy.rsc.rpp", "dummy_var2_dll/dummy_var2_dummy.rsc.d", "dummy_var3_exe/dummy_var3_dummy.rsc.rpp", "dummy_var3_exe/dummy_var3_dummy.rsc.d" ] bldinf = 'smoke_suite/test_resources/bv/bld.inf' sbscommand = "sbs -b {0} -c armv5 -c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 -f- --configpath=test/smoke_suite/test_resources/bv/config/variants".format(bldinf) t.description = """Build variant and invariant components. In this default mode of operation, all components build for the non-product armv5 config whereas only variant components build for the armv5.* bv configs.""" t.name = "featurevariant_build" t.command = "{0} && cat $(EPOCROOT)/epoc32/build/{1}/{2}".format(sbscommand, BldInfFile.outputPathFragment(bldinf), "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1.vmap.cmdfile") t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsDefaultTree + variantTargetsProductTrees t.addbuildtargets(bldinf, invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsDefaultTree + variantBuildTargetsProductTrees ) # Test that static libs are linked from the invariant place. t.mustmatch = [ "armlink.*epoc32/release/armv5/urel/bv_static_lib.lib", "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib", "\s*-s.*variant1/CreateStaticDLL_variant1.cpp", "\s*-s.*variant1/test_createvmap01.cpp", "\s*-s.*variant1/test_createvmap02.cpp", "\s*-s.*variant1/test_createvmap03.cpp", "\s*-s.*variant1/test_createvmap04.cpp", "\s*-s.*variant1/test_createvmap05.cpp", "\s*-s.*variant1/test_createvmap06.cpp", "\s*-s.*variant1/test_createvmap07.cpp", "\s*-s.*variant1/test_createvmap08.cpp", "\s*-s.*variant1/test_createvmap09.cpp", "\s*-s.*variant1/test_createvmap10.cpp", "\s*-s.*variant1/test_createvmap11.cpp", "\s*-s.*variant1/test_createvmap12.cpp", "\s*-s.*variant1/test_createvmap13.cpp", "\s*-s.*variant1/test_createvmap14.cpp", "\s*-s.*variant1/test_createvmap15.cpp", "\s*-s.*variant1/CreateStaticDLL_variant1.mmp" ] t.run() t.description = """Build variant and invariant components using an os_properties.xml that sets FEATUREVARIANTSAFE=1. With FEATUREVARIANTSAFE only invariant components build for the non-product armv5 config and only variant components build for the armv5.* bv configs.""" t.name = "featurevariant_build_featurevariantsafe" t.command = sbscommand + " --configpath=test/smoke_suite/test_resources/bv/config/properties" t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsProductTrees t.addbuildtargets('smoke_suite/test_resources/bv/bld.inf', invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsProductTrees ) t.antitargets = variantTargetsDefaultTree t.addbuildantitargets('smoke_suite/test_resources/bv/bld.inf', variantBuildTargetsDefaultTree ) # Test that static libs are linked from the invariant place. t.mustmatch = [ "armlink.*epoc32/release/armv5/urel/bv_static_lib.lib", "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib" ] t.run() t.description = """Check that the .vmap files appear in the WHAT output""" t.name = "featurevariant_vmap_in_whatlog" t.command = sbscommand + " --what" t.targets = [] t.antitargets = [] # Each product produces a .vmap file per binary t.mustmatch = [ "epoc32.release.armv5\.one.udeb.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.one.udeb.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.one.udeb.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.one.urel.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.one.urel.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.one.urel.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.two.udeb.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.two.udeb.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.two.udeb.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.two.urel.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.two.urel.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.two.urel.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.three.udeb.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.three.udeb.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.three.udeb.createexe_variant3\.exe\.vmap", "epoc32.release.armv5\.three.urel.createstaticdll_variant1\.dll\.vmap", "epoc32.release.armv5\.three.urel.createstaticdll_variant2\.dll\.vmap", "epoc32.release.armv5\.three.urel.createexe_variant3\.exe\.vmap", ] t.run() # tests for the createvmap script createvmap = "python $(SBS_HOME)/bin/createvmap.py" vmapfile = "$(EPOCROOT)/epoc32/build/test.vmap" vmap = " -o " + vmapfile if 'SBS_BVCPP' in os.environ: bvcpp = " -c " + os.environ['SBS_BVCPP'].replace('\\','/') else: bvcpp = " -c $(SBS_HOME)/$(HOSTPLATFORM_DIR)/bv/bin/cpp" if t.onWindows: bvcpp += ".exe" bvdata = "$(SBS_HOME)/test/smoke_suite/test_resources/bv" preinc = " -p " + bvdata + "/var1/var1.h" listA = " -f " + bvdata + "/listA.txt" listB = " -f " + bvdata + "/listB.txt" listC = " -f " + bvdata + "/listC.txt" srcWith = " -s " + bvdata + "/with_macros.cpp" srcWithout = " -s " + bvdata + "/without_macros.cpp" badSrc = " -s " + bvdata + "/with_errors.cpp" t.name = "createvmap exits with an error" t.usebash = True t.command = createvmap t.returncode = 1 t.targets = [] t.mustmatch = [] t.run() t.name = "createvmap shows cpp errors" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listA + badSrc t.returncode = 1 t.targets = [] t.mustmatch = ["#error this code is broken"] t.run() t.name = "createvmap errors on missing feature list" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listC + srcWith t.returncode = 1 t.targets = [] t.mustmatch = ["The feature list '.*listC.txt' does not exist"] t.run() t.name = "createvmap warns on featureless code" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listA + srcWithout t.returncode = 0 t.targets = [vmapfile] t.mustmatch = ["warning: No feature macros were found in the source"] t.run() t.name = "createvmap creates the right vmap file" t.usebash = True t.command = createvmap + vmap + bvcpp + preinc + listA + listB + srcWith + srcWithout + " && cat " + vmapfile t.returncode = 0 t.targets = [vmapfile] t.mustmatch = ["A_1=defined", "B_1000=undefined"] t.run() # clean up test cpp files from the first test (do it noow after they are no longer needed) for tf in test_cpp_files: os.unlink(tf) # print the overall result t.name = "featurevariants" t.print_result() return t
def run(): t = AntiTargetSmokeTest() t.usebash = True command = "sbs -b smoke_suite/test_resources/simple_dll/pbld.inf -c %s -f -" maintargets = [ "$(EPOCROOT)/epoc32/release/%s/udeb/createstaticpdll.dll.sym", "$(EPOCROOT)/epoc32/release/%s/urel/createstaticpdll.dll.sym", "$(EPOCROOT)/epoc32/release/%s/udeb/createstaticpdll.dll", "$(EPOCROOT)/epoc32/release/%s/urel/createstaticpdll.dll" ] armv5targets = [ "$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll.dso", "$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll{000a0000}.dso" ] buildtargets = [ "createstaticpdll_dll/%s/udeb/CreateStaticDLL.o", "createstaticpdll_dll/%s/urel/CreateStaticDLL.o" ] mustmatch = [ r".*\busrt\d_\d\.lib\b.*", r".*\bscppnwdl\.dso\b.*" ] mustnotmatch = [ ".*ksrt.*" ] t.id = "0109a" t.name = "pdll_armv5_rvct" t.command = command % "armv5" t.targets = map(lambda p: p % "armv5", maintargets + armv5targets)[:] # Shallow, as we optionally extend later and then re-use t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv5", buildtargets)) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.id = "0109b" t.name = "pdll_armv5_clean" t.command = command % "armv5" + " clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.id = "0109c" t.name = "pdll_armv5_gcce" t.command = command % "gcce_armv5" t.targets = map(lambda p: p % "armv5", maintargets + armv5targets) t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv5", buildtargets)) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.id = "0109d" t.name = "pdll_armv5_gcce_clean" t.command = command % "gcce_armv5" + " clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.id = "0109e" t.name = "pdll_armv7_rvct" t.command = command % "armv7" t.targets = map(lambda p: p % "armv7", maintargets)[:] # Shallow, as we optionally extend later and then re-use t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv7", buildtargets)) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.id = "0109f" t.name = "pdll_armv7_clean" t.command = command % "armv7" + " clean" t.targets = [] t.mustmatch = [] t.mustnotmatch = [] t.run() t.id = "0109g" t.name = "pdll_armv7_gcce" t.command = command % "arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2" t.targets = map(lambda p: p % "armv7", maintargets) t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv7", buildtargets)) t.mustmatch = mustmatch t.mustnotmatch = mustnotmatch t.run() t.id = "109" t.name = "pdll_arm" t.print_result() return t