def run(): t = AntiTargetSmokeTest() t.description = "Test the filter_exes filter" log = "< smoke_suite/test_resources/logexamples/filter_exes.log" t.usebash = True t.name = "filter_exes_all_exes" t.id = "999a" t.command = "sbs_filter --filter=filter_exes[] " + log + " -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && cat one_armv5_urel.txt" t.mustmatch = [ "Wrote 1 file\(s\) into one_armv5_urel\.txt", "Wrote 1 file\(s\) into two_winscw_udeb\.txt", "^one\.exe$" ] t.targets = ["one_armv5_urel.txt", "two_winscw_udeb.txt"] t.antitargets = ["ignore_armv5_udeb.txt", "ignore_armv5_urel.txt"] t.run() t.name = "filter_exes_by_layer" t.id = "999b" t.usebash = False t.command = "sbs_filter --filter=filter_exes[layer=two] " + log t.mustmatch = ["Wrote 1 file\(s\) into two_winscw_udeb\.txt"] t.mustnotmatch = ["Wrote 1 file\(s\) into one_armv5_urel\.txt"] t.targets = ["two_winscw_udeb.txt"] t.antitargets = [ "ignore_armv5_udeb.txt", "ignore_armv5_urel.txt", "one_armv5_urel.txt" ] t.run() t.name = "filter_exes_by_config" t.id = "999c" t.command = "sbs_filter --filter=filter_exes[config=armv5_urel] " + log t.mustmatch = ["Wrote 1 file\(s\) into one_armv5_urel\.txt"] t.mustnotmatch = ["Wrote 1 file\(s\) into two_winscw_udeb\.txt"] t.targets = ["one_armv5_urel.txt"] t.antitargets = [ "ignore_armv5_udeb.txt", "ignore_armv5_urel.txt", "two_winscw_udeb.txt" ] t.run() t.clean() t.name = "filter_exes_specified_output" t.id = "999d" t.command = "sbs_filter --filter=filter_exes[output=$(EPOCROOT)/epoc32/build/filter_exes_test] " + log t.mustmatch = [ "Wrote 1 file\(s\) into .*epoc32/build/filter_exes_test[/\\\\]one_armv5_urel\.txt", "Wrote 1 file\(s\) into .*epoc32/build/filter_exes_test[/\\\\]two_winscw_udeb\.txt" ] t.targets = [ "$(EPOCROOT)/epoc32/build/filter_exes_test/one_armv5_urel.txt", "$(EPOCROOT)/epoc32/build/filter_exes_test/two_winscw_udeb.txt" ] t.run() t.id = "999" t.name = "filter_exes" return t
def run(): t = AntiTargetSmokeTest() t.description = "Test the filter_exes filter" log = "< smoke_suite/test_resources/logexamples/filter_exes.log" t.usebash = True t.name = "filter_exes_all_exes" t.id = "999a" t.command = "sbs_filter --filter=filter_exes[] "+log+" -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && cat one_armv5_urel.txt" t.mustmatch = [ "Wrote 1 file\(s\) into one_armv5_urel\.txt", "Wrote 1 file\(s\) into two_winscw_udeb\.txt", "^one\.exe$" ] t.targets = [ "one_armv5_urel.txt", "two_winscw_udeb.txt" ] t.antitargets = [ "ignore_armv5_udeb.txt", "ignore_armv5_urel.txt" ] t.run() t.name = "filter_exes_by_layer" t.id = "999b" t.usebash = False t.command = "sbs_filter --filter=filter_exes[layer=two] "+log t.mustmatch = [ "Wrote 1 file\(s\) into two_winscw_udeb\.txt" ] t.mustnotmatch = [ "Wrote 1 file\(s\) into one_armv5_urel\.txt" ] t.targets = [ "two_winscw_udeb.txt" ] t.antitargets = [ "ignore_armv5_udeb.txt", "ignore_armv5_urel.txt", "one_armv5_urel.txt" ] t.run() t.name = "filter_exes_by_config" t.id = "999c" t.command = "sbs_filter --filter=filter_exes[config=armv5_urel] "+log t.mustmatch = [ "Wrote 1 file\(s\) into one_armv5_urel\.txt" ] t.mustnotmatch = [ "Wrote 1 file\(s\) into two_winscw_udeb\.txt" ] t.targets = [ "one_armv5_urel.txt" ] t.antitargets = [ "ignore_armv5_udeb.txt", "ignore_armv5_urel.txt", "two_winscw_udeb.txt" ] t.run() t.clean() t.name = "filter_exes_specified_output" t.id = "999d" t.command = "sbs_filter --filter=filter_exes[output=$(EPOCROOT)/epoc32/build/filter_exes_test] "+log t.mustmatch = [ "Wrote 1 file\(s\) into .*epoc32/build/filter_exes_test[/\\\\]one_armv5_urel\.txt", "Wrote 1 file\(s\) into .*epoc32/build/filter_exes_test[/\\\\]two_winscw_udeb\.txt" ] t.targets = [ "$(EPOCROOT)/epoc32/build/filter_exes_test/one_armv5_urel.txt", "$(EPOCROOT)/epoc32/build/filter_exes_test/two_winscw_udeb.txt"] t.run() t.id = "999" t.name = "filter_exes" 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() t.id = "19" t.name = "extension_reallyclean" t.description = "These 2 sets of tests are for testing REALLYCLEAN on TEM" \ + " files" t.usebash = True t.command = "sbs -b smoke_suite/test_resources/simple_extension/bld.inf " \ + "-c armv5_urel -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; ls " \ + "$(EPOCROOT)/epoc32/build/tem_export_test; sbs -b " \ + "smoke_suite/test_resources/simple_extension/bld.inf -c " \ + "armv5_urel REALLYCLEAN -m ${SBSMAKEFILE}_2 -f ${SBSLOGFILE}_2" t.mustnotmatch = [ "ls.*/epoc32/build/tem_export_test: No such file or directory" ] t.antitargets = [ "$(EPOCROOT)/epoc32/build/tem_export_test", "$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.mk", "$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.meta", "$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.mk", "$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.meta", "$(EPOCROOT)/epoc32/release/armv5/urel/simple_extension.txt" ] t.run() return t
def run(): t = AntiTargetSmokeTest() t.id = "43" t.name = "named_extension" t.description = "Test -p option with named extensions - should clean then" \ + " create success.txt" t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf " \ + "REALLYCLEAN && sbs -b " \ + "smoke_suite/test_resources/basics/helloworld/Bld.inf -p run_this" t.targets = [ "$(EPOCROOT)/epoc32/success.txt" ] t.antitargets = [ "$(EPOCROOT)/epoc32/failure.txt", "$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/HelloWorld.exe" ] t.addbuildantitargets("smoke_suite/test_resources/basics/helloworld/Bld.inf", [ "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/armv5/udeb/HelloWorld.o", "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/armv5/urel/HelloWorld.o", "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/winscw/udeb/HelloWorld.o", "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/winscw/urel/HelloWorld.o" ]) t.run() return t
def run(): t = AntiTargetSmokeTest() t.id = "43" t.name = "named_extension" t.description = "Test -p option with named extensions - should clean then" \ + " create success.txt" t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf " \ + "REALLYCLEAN && sbs -b " \ + "smoke_suite/test_resources/basics/helloworld/Bld.inf -p run_this" t.targets = ["$(EPOCROOT)/epoc32/success.txt"] t.antitargets = [ "$(EPOCROOT)/epoc32/failure.txt", "$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/winscw/udeb/HelloWorld.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/HelloWorld.exe" ] t.addbuildantitargets( "smoke_suite/test_resources/basics/helloworld/Bld.inf", [ "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/armv5/udeb/HelloWorld.o", "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/armv5/urel/HelloWorld.o", "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/winscw/udeb/HelloWorld.o", "$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/winscw/urel/HelloWorld.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 = "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 = "59" t.name = "retry" # # -t 3 means try each recipe up to 3 times, if it fails. # # There are 3 FLM calls: # retry_1 fails once then succeeds. # retry_2 fails twice then succeeds. # retry_3 fails all 3 times. # # use -k in case the retry_3 case happens to be run first. # t.command = "sbs -b smoke_suite/test_resources/retry/bld.inf -c armv5_urel -t 3 -k" t.targets = [ "$(EPOCROOT)/epoc32/build/retry_1.1", "$(EPOCROOT)/epoc32/build/retry_1.ok", "$(EPOCROOT)/epoc32/build/retry_2.1", "$(EPOCROOT)/epoc32/build/retry_2.2", "$(EPOCROOT)/epoc32/build/retry_2.ok", "$(EPOCROOT)/epoc32/build/retry_3.1", "$(EPOCROOT)/epoc32/build/retry_3.2", "$(EPOCROOT)/epoc32/build/retry_3.3" ] t.antitargets = [ "$(EPOCROOT)/epoc32/build/retry_1.2", "$(EPOCROOT)/epoc32/build/retry_1.3", "$(EPOCROOT)/epoc32/build/retry_2.3", "$(EPOCROOT)/epoc32/build/retry_3.ok" ] t.returncode = 1 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(): t = AntiTargetSmokeTest() t.id = "64" t.name = "implib_armv5_smp" t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " \ + "armv5.smp LIBRARY" # ABIv1 .lib files are not generated on Linux t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso" ] t.run() 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(): # 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.usebash = True genericTargets = [ "$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe.map", "$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/dependency.exe", "$(EPOCROOT)/epoc32/include/dependency.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/dependency.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/dependency.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/dependency.rsc", "$(EPOCROOT)/epoc32/include/main.rsg", "$(EPOCROOT)/epoc32/data/z/resource/apps/main.rsc", "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/main.rsc", "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/main.rsc" ] windowsTargets = [ "$(EPOCROOT)/epoc32/release/tools2/rel/dependency.exe", "$(EPOCROOT)/epoc32/tools/dependency.exe" ] linuxTargets = [ "$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/dependency", "$(EPOCROOT)/epoc32/tools/dependency" ] # Set general host platform specifics from first test run, but assume Windows initially hostPlatform = "windows" hostPlatformTargets = genericTargets + windowsTargets hostPlatformOffset = "" t.id = "0098a" t.name = "baseline_build" t.description = "Build a component with source and resource files that are dependent on header files exported in the build" t.command = """ cp smoke_suite/test_resources/dependencies/src/dependency1.cpp smoke_suite/test_resources/dependencies/dependency.cpp cp smoke_suite/test_resources/dependencies/src/dependency1.rss smoke_suite/test_resources/dependencies/dependency.rss sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" t.mustnotmatch = [ "<warning>Missing dependency detected: .*</warning>" ] t.targets = hostPlatformTargets t.run(hostPlatform) if t.result == AntiTargetSmokeTest.SKIP: hostPlatform = "linux" hostPlatformTargets = genericTargets + linuxTargets hostPlatformOffset = "$(HOSTPLATFORM_DIR)/" t.targets = hostPlatformTargets t.run(hostPlatform) # Ensure we don't clean up from the previous build in the following two tests t.targets = [] # Core expected outcome for the following two tests t.mustmatch = [ ".*recipe name='compile' target='.*dependency\.o'", ".*recipe name='win32compile2object' target='.*dependency\.o'", ".*recipe name='compile2object' target='.*dependency\.o'", ".*recipe name='resourcecompile' target='.*dependency\.rsc'" ] t.countmatch = [ [".*recipe name='compile'", 2], [".*recipe name='win32compile2object'", 2], [".*recipe name='compile2object'", 1], [".*recipe name='resourcecompile", 2] ] t.id = "0098b" t.name ="touched_header_dependencies" t.description = "Touch the exported header files and check that only the related source and resource files are re-built" t.command = """ sleep 1 touch $(EPOCROOT)/epoc32/include/dependency.h touch $(EPOCROOT)/epoc32/include/dependency.rh sbs -f- -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" t.run() t.id = "0098c" t.name ="redundant_header_dependencies" t.description = """ Build the component again, but manipulate it so that (a) it no longer has a dependency on the exported header files and (b) the header files have been removed and (c) the header files are no longer exported. Check that only the related source and resource files are re-built""" t.command = """ cp smoke_suite/test_resources/dependencies/src/dependency2.cpp smoke_suite/test_resources/dependencies/dependency.cpp cp smoke_suite/test_resources/dependencies/src/dependency2.rss smoke_suite/test_resources/dependencies/dependency.rss rm -rf $(EPOCROOT)/epoc32/include/dependency.h rm -rf $(EPOCROOT)/epoc32/include/dependency.rh sbs -f- --noexport -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" t.mustnotmatch = [] # Note that the resource build does not exhibit a missing dependency as its dependency files are generated in a separate stage where # the target file isn't actually a target of that stage t.mustmatch.extend([ "<warning>Missing dependency detected: .*/epoc32/include/dependency.h</warning>" ]) t.warnings = 1 t.run() t.id = "0098d" t.name ="invalid_dependency_files" t.description = "Invalidate dependency files, then make sure we can clean and re-build successfully" buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_" # use one long bash command so that we can capture # the output in a way that isn't messed up with all the ordering confused. t.command = " mkdir -p $(EPOCROOT)/epoc32/build/smoketestlogs ; { sleep 1 ; set -x ; \ touch smoke_suite/test_resources/dependencies/dependency.cpp; \ echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> %s/armv5/urel/dependency.o.d ; \ echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> %s/winscw/urel/dependency.o.d ;\ echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> %s/dependency_exe/tools2/rel/%s/dependency.o.d ;\ echo INVALIDATE_RESOURCE_DEPENDENCY_FILE >> %s/dependency__resource_apps.rsc.d ;\ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel ;\ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel clean ;\ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel ; } > ${SBSLOGFILE} 2>&1; grep 'missing separator' ${SBSLOGFILE} " %(buildLocation, buildLocation, buildLocation, hostPlatformOffset, buildLocation) # We expect an error from the first build due to the deliberate dependency file corruption t.mustmatch = [ ".*dependency.o.d:[0-9]+: \*\*\* missing separator" ] t.countmatch = [] t.warnings = 0 t.errors = 0 t.targets = hostPlatformTargets t.run(hostPlatform) t.id = "0098e" t.name ="no_depend_include" t.description = "Invalidate dependency files in order to confirm they aren't processed when --no-depend-include is used" buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_" t.command = """ sleep 1 touch smoke_suite/test_resources/dependencies/dependency.cpp echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d sbs --no-depend-include -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" t.mustmatch = [] t.errors = 0 t.targets = hostPlatformTargets t.run(hostPlatform) t.id = "0098f" t.name ="no_depend_generate" t.description = "Invalidate and remove dependency files in order to confirm they are neither included nor re-generated when --no-depend-generate is used" buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_" t.command = """ sleep 1 touch smoke_suite/test_resources/dependencies/dependency.cpp touch smoke_suite/test_resources/dependencies/main.cpp echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d sbs --no-depend-generate -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" t.antitargets = [ buildLocation+"/armv5/urel/main.o.d", buildLocation+"/armv5/udeb/main.o.d", buildLocation+"/winscw/urel/main.o.d", buildLocation+"/winscw/udeb/main.o.d", buildLocation+"/dependency_exe/tools2/rel/"+hostPlatformOffset+"main.o.d" ] t.targets = hostPlatformTargets t.run(hostPlatform) # clean-up os.remove("smoke_suite/test_resources/dependencies/dependency.cpp") os.remove("smoke_suite/test_resources/dependencies/dependency.rss") t.id = "98" t.name = "dependencies" 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 %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(): # 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.id = "99" t.name = "unfrozen_savespace" t.command = "sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5 CLEAN" \ " && sbs -b smoke_suite/test_resources/unfrozen/bld.inf -c winscw.savespace -c armv5.savespace" t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2.dso", "$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2{000a0000}.dso", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.map", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.sym", "$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.map", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.dll", "$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.lib", "$(EPOCROOT)/epoc32/release/winscw/udeb/test_unfrozen.exe" ] t.antitargets = [] t.addbuildantitargets('smoke_suite/test_resources/unfrozen/bld.inf', [ "test_unfrozen_/armv5/udeb", "test_unfrozen_/armv5/urel", "test_unfrozen_/winscw/udeb", "test_unfrozen_/winscw/urel" # TODO: Add these anti targets once we figure out how to actually delete # them. # "unfrozensymbols2_dll/armv5/udeb", # "unfrozensymbols2_dll/armv5/urel", # "unfrozensymbols2_dll/winscw/udeb", # "unfrozensymbols2_dll/winscw/urel", # "unfrozensymbols_dll/armv5/udeb", # "unfrozensymbols_dll/armv5/urel", # "unfrozensymbols_dll/winscw/udeb", # "unfrozensymbols_dll/winscw/urel" ] ) t.countmatch = [ [".*Elf2e32: Warning: New Symbol .* found, export\(s\) not yet Frozen.*", 14], [".*\.def\(\d\) : .*@\d.*", 10] ] t.warnings = 8 t.run() return t
def run(): t = AntiTargetSmokeTest() t.id = "116" 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" t.id = "116a" # Ensure everything is reallyclean before the test t.name = "delete_on_failed_compile_reallyclean_01" t.errors = 0 t.returncode = 0 t.antitargets = [] t.command = base_command + " reallyclean" t.run() t.id = "116b" # Object files should *not* be present after this forced failed compile t.name = "delete_on_failed_compile_build" t.errors = 0 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=%s/test/smoke_suite/test_resources/simple/compilervariants" % sbshome ) t.run() t.id = "116c" 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() t.id = "116d" # Use a redefined make_engine variant - object files *should* be present t.name = "delete_on_failed_compile_build_redefined_make_engine" t.errors = 0 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=%s/test/smoke_suite/test_resources/simple/compilervariants " % sbshome + " --configpath=%s/test/smoke_suite/test_resources/simple/makevariants" % sbshome ) t.run() t.id = "116e" 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.id = "116" t.name = "delete_on_failed_compile" 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(): result = SmokeTest.PASS t = SmokeTest() t.id = "0005a" t.name = "exe_armv5_winscw" t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \ "-c winscw" t.targets = [ "$(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", "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map" ] t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", "test_/winscw/udeb/test.o", "test_/winscw/udeb/test_UID_.o", "test_/winscw/udeb/test.UID.CPP", "test_/winscw/urel/test.o", "test_/winscw/urel/test_UID_.o", "test_/winscw/urel/test.UID.CPP" ]) t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL "Check that CLEAN removes built files" c = AntiTargetSmokeTest() c.id = "0005b" c.name = "exe_armv5_winscw_clean" c.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \ "-c winscw CLEAN" c.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", "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe", "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map" ] c.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', [ "test_/armv5/udeb/test.o", "test_/armv5/urel/test.o", "test_/winscw/udeb/test.o", "test_/winscw/udeb/test_UID_.o", "test_/winscw/udeb/test.UID.CPP", "test_/winscw/urel/test.o", "test_/winscw/urel/test_UID_.o", "test_/winscw/urel/test.UID.CPP" ]) c.run() if c.result == SmokeTest.FAIL: result = SmokeTest.FAIL "Rebuild" t.id = "0005c" t.run() if t.result == SmokeTest.FAIL: result = SmokeTest.FAIL "Check that REALLYCLEAN removes built files" c.id = "0005d" c.name = "exe_armv5_winscw_reallyclean" c.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \ "-c winscw REALLYCLEAN" c.run() if c.result == SmokeTest.FAIL: result = SmokeTest.FAIL t.id = "5" t.name = "exe_armv5_winscw_plus_clean" t.result = result 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 xrange(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.id = "56a" 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.id = "56b" 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() # 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.id = "56c" t.name = "createvmap exits with an error" t.usebash = True t.command = createvmap t.returncode = 1 t.targets = [] t.mustmatch = [] t.run() t.id = "56d" 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.id = "56e" 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.id = "56f" 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.id = "56g" 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.id = "56" 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/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
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